Files
document_analyzer/scripts/start_dev_agent.sh
pzhang_zywl 77831d5a68
CI / test (pull_request) Successful in 25s
fix: 将 agent 定义移至 .claude/agents/ 实现 session 自动加载 - Closes #108
1. 创建 .claude/agents/dev-agent.md / qe-agent.md — agent 定义文件
2. _common.sh: launch_agent 改为接收绝对路径的 agent 定义文件
3. start_dev_agent.sh / start_qe_agent.sh: 传递 .claude/agents/ 下的文件路径

Claude Code 启动时通过 --agent .claude/agents/<name>.md 自动加载
frontmatter + body 作为系统指令。

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-08 11:33:13 +08:00

39 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
AGENT_CONF="$_MAIN_REPO_DIR/.claude/agents/dev-agent.md"
launch_agent \
"dev-agent" \
"$AGENT_CONF" \
"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。保持对话开放。"