chore: agent 配置文件纳入版本管理 + docs/ 项目章程与全局状态 - Closes #37
CI / test (pull_request) Successful in 11s
CI / test (pull_request) Successful in 11s
- agents/DEV_AGENT.md: 新增启动读取 docs、Session 收尾流程、自行验证关闭 Issue - agents/QE_AGENT.md: 新增启动读取 docs、Session 收尾流程 - docs/PROJECT_CHARTER.md: 项目章程(背景、愿景、目标、约束) - docs/GLOBAL_STATE.md: 项目全局状态(架构、已知问题、变更日志) - scripts/: 启动脚本重构,引入 _common.sh Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+19
-48
@@ -1,55 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
# QE-Agent 启动脚本 — 在 Git Bash 中运行
|
||||
# QE-Agent 启动脚本 — 单次任务 + 互动轮询 两种模式
|
||||
# 用法: bash scripts/start_qe_agent.sh
|
||||
# 前置: 在 scripts/.env 中设置 GITEA_API_TOKEN
|
||||
|
||||
set -e
|
||||
set -eu
|
||||
|
||||
export GITEA_API_TOKEN="59117246ec418d5d87042de073b0d4197d8054bf"
|
||||
export GITEA_URL="http://localhost:3000"
|
||||
export GITEA_REPO="pzhang_zywl/document_analyzer"
|
||||
export QE_AGENT_ID="qa-01"
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
source "$SCRIPT_DIR/_common.sh"
|
||||
|
||||
cd "$(dirname "$0")/.."
|
||||
# Agent 标识: qa-MMDD-HHmm,可通过环境变量覆盖
|
||||
export QE_AGENT_ID="${QE_AGENT_ID:-qa-$(date +%m%d-%H%M)}"
|
||||
|
||||
echo "============================================"
|
||||
echo " QE-Agent 启动器"
|
||||
echo "============================================"
|
||||
echo ""
|
||||
echo "模式选择:"
|
||||
echo " [1] 单次任务 - 检查一次 test-dev Issue 并处理"
|
||||
echo " [2] 持续轮询 - 每 10 分钟检查一次 (推荐)"
|
||||
echo " [3] 交互模式 - 进入对话手动操作"
|
||||
echo ""
|
||||
read -r -p "请输入 (1/2/3): " MODE
|
||||
banner "QE"
|
||||
require_token
|
||||
|
||||
case "$MODE" in
|
||||
1)
|
||||
echo ""
|
||||
echo "正在执行单次检查..."
|
||||
claude -p --agent agents/QE_AGENT.md \
|
||||
"你是 QE-Agent。检查 Gitea 上的 test-dev 和 acceptance-failure 标签 Issue(--action list --labels test-dev 和 --labels acceptance-failure)。对 test-dev Issue:分析内容 → 开发验收测试到 tests/acceptance/ → pytest 本地验证 → commit 'test: <描述> - Closes #N' → push → create-pr → comment Issue → 等 CI 通过 → merge-pr。对 acceptance-failure Issue:分析失败原因 → 如果是测试本身问题修复测试 → 如果是管道问题开 test-dev issue 跟踪。"
|
||||
;;
|
||||
2)
|
||||
echo ""
|
||||
echo "启动持续轮询模式 (每 10 分钟)..."
|
||||
echo "按 Ctrl+C 停止"
|
||||
claude -p --agent agents/QE_AGENT.md \
|
||||
"你是 QE-Agent。用 loop 模式每 10 分钟检查一次 Gitea 上的 test-dev 和 acceptance-failure 标签 Issue。对 test-dev Issue 走完整闭环:分析→开发验收测试→pytest验证→commit('test:' 前缀)→push→create-pr→comment→CI→merge-pr。对 acceptance-failure 分析失败原因→修复→push→PR。每个步骤用 agent_poller.py 对应命令。如果没有待处理 Issue,报告 '当前没有 QE 相关 Issue,main branch 质量正常'。"
|
||||
;;
|
||||
3)
|
||||
echo ""
|
||||
echo "启动交互模式 (默认 10 分钟轮询)..."
|
||||
echo "按 Ctrl+C 停止"
|
||||
echo ""
|
||||
echo "可用命令速查:"
|
||||
echo " agent_poller.py --action list --labels test-dev"
|
||||
echo " agent_poller.py --action list --labels acceptance-failure"
|
||||
echo " agent_poller.py --action get --issue <N>"
|
||||
echo " python -m pytest tests/acceptance/ -v --run-acceptance"
|
||||
claude --agent agents/QE_AGENT.md
|
||||
;;
|
||||
*)
|
||||
echo "无效选择。"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
launch_agent \
|
||||
"agents/QE_AGENT.md" \
|
||||
"QE-Agent" \
|
||||
"执行一次 Issue 巡检(单次任务,不要用 /loop):
|
||||
1. python scripts/agent_poller.py --action list --labels test-dev 检查 test-dev Issue
|
||||
2. python scripts/agent_poller.py --action list --labels acceptance-failure 检查 acceptance-failure Issue
|
||||
3. test-dev Issue:分析 → 开发验收测试到 tests/acceptance/ → pytest 本地验证 → commit('test:' 前缀, Closes #N) → push → create-pr → 等 CI → merge-pr
|
||||
4. acceptance-failure Issue:分析失败原因 → 测试问题则修复测试 → 管道问题则开 test-dev issue 跟踪
|
||||
5. 所有 Issue 处理完毕后报告汇总并退出。" \
|
||||
"现在开始工作。使用 /loop 10m 开启轮询:每 10 分钟检查 test-dev 和 acceptance-failure 标签 Issue,有则走完整闭环(分析→开发测试→pytest→push→PR→CI→merge),无则报告 main healthy。保持对话开放。"
|
||||
|
||||
Reference in New Issue
Block a user