5175fbaf14
CI / test (pull_request) Successful in 19s
启动 agent 后自动创建 ~/.gitea/worktrees/<user>/ 隔离目录, 多个 agent 可同时修改不同文件、不同分支互不干扰。 - _common.sh: 新增 setup_worktree/cleanup_worktree 函数 - start_dev_agent.sh: 启动时自动切 worktree - start_qe_agent.sh: 同上 - DEV_AGENT.md/QE_AGENT.md: 启动行为增加 worktree 检查步骤 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
37 lines
1.4 KiB
Bash
37 lines
1.4 KiB
Bash
#!/usr/bin/env bash
|
|
# Dev-Agent 启动脚本 — 单次任务 + 互动轮询 两种模式
|
|
# 用法: bash scripts/start_dev_agent.sh <GITEA_USER>
|
|
# 示例: bash scripts/start_dev_agent.sh pzhang_dev_agent_01
|
|
|
|
set -eu
|
|
|
|
if [ $# -lt 1 ]; then
|
|
echo "Usage: $0 <GITEA_USER>"
|
|
echo "Example: $0 pzhang_dev_agent_01"
|
|
exit 1
|
|
fi
|
|
|
|
export GITEA_USER="$1"
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
source "$SCRIPT_DIR/_common.sh"
|
|
|
|
# Switch to isolated worktree so multiple agents don't conflict
|
|
setup_worktree "$GITEA_USER"
|
|
|
|
# Cleanup worktree on exit (optional, comment out to keep for debugging)
|
|
trap 'cleanup_worktree "$GITEA_USER"' EXIT
|
|
|
|
banner "Dev"
|
|
require_token
|
|
|
|
launch_agent \
|
|
"agents/DEV_AGENT.md" \
|
|
"Dev-Agent" \
|
|
"执行一次 Issue 巡检(单次任务,不要用 /loop):
|
|
1. python scripts/agent_poller.py --action list 列出所有打开的 Issue
|
|
2. 跳过纯测试相关的 Issue
|
|
3. 对每个负责的 Issue 走完整闭环:
|
|
分析 → 分支 → 开发+UT → pytest → commit → push → create-pr → comment → 等 CI → merge-pr → 通知 QE 验证
|
|
4. 所有 Issue 处理完毕后报告汇总并退出。" \
|
|
"现在开始工作。使用 /loop 10m 开启轮询:每 10 分钟 python scripts/agent_poller.py --action list 检查打开的 Issue,跳过纯测试相关的,有则走完整闭环,无则报告 main healthy。保持对话开放。"
|