@echo off chcp 65001 >nul title Dev-Agent - Gitea Issue Worker :: ── Change to project root ──────────────────────────────────────────────────── cd /d "%~dp0.." :: ── Load .env (batch-compatible parser: "export KEY=VALUE" → set KEY=VALUE) ── if exist "scripts\.env" ( for /f "usebackq tokens=2,3 delims== " %%a in ("scripts\.env") do set %%a=%%b ) :: ── Defaults ────────────────────────────────────────────────────────────────── if "%GITEA_URL%"=="" set GITEA_URL=https://git.zywl.me if "%GITEA_REPO%"=="" set GITEA_REPO=zeekrAI/document_analyzer if "%DEV_AGENT_ID%"=="" set DEV_AGENT_ID=da-01 :: ── Validate token ──────────────────────────────────────────────────────────── if "%GITEA_API_TOKEN%"=="" ( echo ERROR: GITEA_API_TOKEN is not set. echo Set it in scripts\.env or in your environment. pause exit /b 1 ) echo ============================================ echo Dev-Agent 启动器 echo ============================================ echo. echo 模式选择: echo [1] 单次任务 - 检查 Issue 并处理,完成后退出 (automode^) echo [2] 互动轮询 - 进入 Claude Code 界面,每 10 分钟轮询 echo. set /p MODE="请输入 (1/2): " if "%MODE%"=="1" ( echo. echo 执行单次检查 (automode)... claude -p --agent agents/DEV_AGENT.md --dangerously-skip-permissions "你是 Dev-Agent。执行一次 Issue 巡检(单次任务,不要用 /loop):1. agent_poller.py --action list 列出所有打开的 Issue 2. 跳过纯测试 3. 逐个走闭环:分析-开发-pytest-commit-push-create-pr-CI-merge-pr-通知QE 4. 退出。" pause exit /b 0 ) if "%MODE%"=="2" ( echo. echo 启动互动轮询模式... echo Dev-Agent 进入 Claude Code 界面后将自动每 10 分钟轮询 Gitea Issue echo 按 Ctrl+C 停止 claude --agent agents/DEV_AGENT.md "你是 Dev-Agent。现在开始工作。使用 /loop 10m 每 10 分钟 python scripts/agent_poller.py --action list 检查 Issue,跳过纯测试,有则走完整闭环,无则报告 main healthy。保持对话开放。" pause exit /b 0 ) echo 无效选择。 pause exit /b 1