auto-sync: 2026-06-07 11:38:38
Deploy / ci (push) Waiting to run
Deploy / deploy (push) Blocked by required conditions
Deploy / notify-deploy-failure (push) Blocked by required conditions

This commit is contained in:
cfdaily
2026-06-07 11:38:38 +08:00
parent f2b371dbf7
commit 045ee4fe81
+8 -18
View File
@@ -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 IDzhangfei-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 Taskfrom=system, type=inform
@@ -1987,8 +1977,8 @@ CI workflow 已有 `notify-on-failure` jobci.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` |