feat: agent_poller 所有评论/PR 自动附加 [DEV_AGENT_ID] 签名
CI / test (pull_request) Successful in 7s

- agent_poller.py 读取 DEV_AGENT_ID 环境变量(默认 da-01)
- comment/close-issue/create-pr 自动附加 [da-XXXX-XXXX] 签名
- start_dev_agent.sh 启动时设为 da-MMDD-HHmm,token 改为从环境变量读取
- DEV_AGENT.md 文档说明签名机制
- test_step2 修复 trigger=None 边缘情况

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-31 19:27:25 +08:00
parent 98546ba4b6
commit f2f85b984f
4 changed files with 44 additions and 19 deletions
+9 -4
View File
@@ -22,6 +22,10 @@ import urllib.error
GITEA_URL = os.environ.get("GITEA_URL", "http://localhost:3000")
GITEA_REPO = os.environ.get("GITEA_REPO", "pzhang_zywl/document_analyzer")
GITEA_TOKEN = os.environ.get("GITEA_API_TOKEN", "")
AGENT_ID = os.environ.get("DEV_AGENT_ID", "da-01")
# Signature appended to all comments / PR bodies
AGENT_SIG = f"\n\n---\n[{AGENT_ID}]"
BASE = f"{GITEA_URL}/api/v1/repos/{GITEA_REPO}"
@@ -74,15 +78,15 @@ def get_issue(num):
def comment_issue(num, body):
i = _req("POST", f"/issues/{num}/comments", {"body": body})
i = _req("POST", f"/issues/{num}/comments", {"body": body + AGENT_SIG})
print(f"Comment added to #{num}")
return i
def close_issue(num, body=None):
"""Close an issue, optionally with a final comment."""
"""Close an issue, optionally with a final comment (signature auto-appended)."""
if body:
comment_issue(num, body)
comment_issue(num, body) # comment_issue already appends AGENT_SIG
i = _req("PATCH", f"/issues/{num}", {"state": "closed"})
print(f"Issue #{num} closed")
return i
@@ -95,7 +99,8 @@ def create_pr(issue_num, branch, body=None):
issue = _req("GET", f"/issues/{issue_num}")
title = f"fix: {issue['title']} - Closes #{issue_num}"
if body is None:
body = f"Closes #{issue_num}\n\n{issue.get('body', '')}\n\n🤖 Generated by dev agent"
body = f"Closes #{issue_num}\n\n{issue.get('body', '')}"
body += AGENT_SIG
pr = _req("POST", "/pulls", {
"title": title,
"head": branch,