auto-sync: 2026-06-07 11:38:38
This commit is contained in:
@@ -1469,9 +1469,9 @@ CI workflow 和 Webhook 中的用户标识是 Git 用户名,Mail API 需要 Ag
|
||||
| zhangfei | zhangfei-dev |
|
||||
| jiangwei | jiangwei-infra |
|
||||
| simayi | simayi-challenger |
|
||||
| pangtong | pangtong-fujunshi |
|
||||
| guanyu | guanyu-dev |
|
||||
| zhaoyun | zhaoyun-data |
|
||||
| pangtong-fujunshi | pangtong-fujunshi |
|
||||
| guanyu-dev | guanyu-dev |
|
||||
| zhaoyun-data | zhaoyun-data |
|
||||
|
||||
daemon Webhook 模块中维护此映射表。
|
||||
|
||||
@@ -1506,7 +1506,7 @@ daemon Webhook 模块中维护此映射表。
|
||||
| D2 | 提示词独立模板文件 | 模板和代码分离,改文案不改代码,可审查可扩展 |
|
||||
| D3 | 中枢是 daemon 内模块 | 要访问 Blackboard 创建 Task,共享进程。用独立路由模块(`toolchain_routes.py`)保持职责清晰 |
|
||||
| D4 | 同步处理 | 事件处理很轻(解析+模板填充+创建Task),远在 Gitea 5秒超时内。复杂事件未来用 asyncio.create_task |
|
||||
| D5 | Agent ID ≠ Gitea 用户名,需要映射表 | Gitea 注册用户名是短名(zhangfei),Agent ID 是长名(zhangfei-dev)。§4.4 的 `to_agent_id()` 内建 `GIT_TO_AGENT` 映射字典(见 §15.7) |
|
||||
| D5 | Agent ID = Gitea 用户名,直用 | 姜维确认:Gitea 注册用户名就是完整 Agent ID(zhangfei-dev / simayi-challenger 等),短名已删除。`to_agent_id()` 直用,不需要映射表 |
|
||||
| D6 | CI/部署通知也走事件中枢 | 统一入口,不走 workflow 直接调 Mail API。CI workflow 写 PR comment → Gitea 触发 issue_comment Webhook → 中枢处理 |
|
||||
|
||||
---
|
||||
@@ -1843,19 +1843,9 @@ HANDLERS = {
|
||||
### 4.4 共用函数
|
||||
|
||||
```python
|
||||
# Git 用户名 → Agent ID 映射(与 §15.7 一致)
|
||||
GIT_TO_AGENT = {
|
||||
"pangtong": "pangtong-fujunshi",
|
||||
"zhangfei": "zhangfei-dev",
|
||||
"simayi": "simayi-challenger",
|
||||
"guanyu": "guanyu-dev",
|
||||
"zhaoyun": "zhaoyun-data",
|
||||
"jiangwei": "jiangwei-infra",
|
||||
}
|
||||
|
||||
def to_agent_id(gitea_username: str) -> str:
|
||||
"""Gitea 用户名 → Agent ID(通过映射表)"""
|
||||
return GIT_TO_AGENT.get(gitea_username, gitea_username)
|
||||
"""Gitea 用户名 → Agent ID。已确认一致,直用。"""
|
||||
return gitea_username
|
||||
|
||||
def create_mail_task(to: str, title: str, text: str, meta: dict) -> str:
|
||||
"""创建 Mail Task(from=system, type=inform)
|
||||
@@ -1987,8 +1977,8 @@ CI workflow 已有 `notify-on-failure` job(ci.yml),当前格式:
|
||||
|
||||
| # | 项 | 状态 | 结论 |
|
||||
|---|------|------|------|
|
||||
| 1 | Agent Gitea 用户名映射 | ✅ 已确认 | 不一致(zhangfei ≠ zhangfei-dev),已内建映射表 |
|
||||
| 2 | Gitea Webhook secret | 待姜维确认 | 签名算法已确认为 HMAC-SHA256 |
|
||||
| 1 | Agent Gitea 用户名映射 | ✅ 姜维已确认 | 一致(用户名就是完整 Agent ID),直用,不需要映射表 |
|
||||
| 2 | Gitea Webhook secret | ✅ 姜维已确认 | 已配置,secret 有值,当前 active: false(实现后启用)。签名算法 HMAC-SHA256 |
|
||||
| 3 | CI workflow PR comment | ✅ 已有 | ci.yml 已有 notify-on-failure job 写 PR comment,格式为 `❌ **CI 失败**...`,需改为 `[CI]` 前缀 |
|
||||
| 4 | `from=system` 走内部函数 | ✅ 已确定 | 走内部函数(和 mail_notify.py 一致),不走 HTTP API |
|
||||
| 5 | PR changed_files | ✅ 已确认 | payload 只有 changed_files 数量,文件列表需额外调用 `GET /repos/{owner}/{repo}/pulls/{number}/files` |
|
||||
|
||||
Reference in New Issue
Block a user