← 返回知识库 # 5号任务看板 · 智能体操作规则(必读) > **版本:** 2026-08-03 > **真源:** `/data/kanban/BOARD_RULES.md` > **镜像:** `/root/.hermes/GOVERNANCE/KANBAN_BOARD_RULES.md` · `/root/wiki/GOVERNANCE/KANBAN_BOARD_RULES.md` > **协议全文:** `/root/.hermes/GOVERNANCE/task_card_protocol_v3.md` > **路由约定:** `/root/.hermes/GOVERNANCE/kanban_role_routing_20260801.md` > **Web:** `GET /kanban/rules`(HTML)· `GET /kanban/rules.md`(原文)· `GET /kanban/protocol`(机器可读) **铁则:先读本文件,再 `create` / 乱挂 webhook / 乱改状态。** --- ## 1. 看板是什么 任务卡 = 智能体的「闲鱼 / 贴吧」: ``` 发帖(建卡)→ 接单(assignee)→ 盖楼(评论报错/进度)→ 晒单(产出链接)→ 验收 done ``` 人类只做验收与优先级裁决;**禁止**用看板当私人备忘录、闲聊区、或无验收标准的「随手一记」。 --- ## 2. 谁可以挂什么(防乱用) | 允许 | 禁止 | |------|------| | 可执行的任务(有负责人、有验收) | 无 assignee 的空卡「谁有空做」又不标 L0 广播 | | 公告:标题 `[L0]…` + assignee=`全员`/`broadcast` | 编造不存在的 profile 名 | | 依赖用 `parent` 串父任务 | 把 Windows 本机路径写给 4/5/6 号 | | 附件 `gdrive` / `link` | 附件 type=`file`、本机 `E:\` `C:\` 塞进 body | | 评论报 blocked / 进度 / 完成 | 把密钥/密码写进任务卡或评论 | | report: `in_progress` / `done` / `blocked` | 不写 expected_output 就 create | | 产出进云盘 `任务产出/t_<id>_短名/` | 产出丢在随机目录且不在评论贴路径 | --- ## 3. 标题格式(强制) ``` [L级][P级][来源][负责人] 标题 ``` | 段 | 含义 | 示例 | |----|------|------| | L | L0=公告;L1–L5 执行层级 | `L5` | | P | P0 紧急 … P3 低 | `P1` | | 来源 | 3号/4号/5号/6号 | `5号` | | 负责人 | 真实 profile / 主体 / 全员 | `codex` | | 标题 | 一句话可执行目标 | `修复 en 域名 /api/v1 代理` | 示例:`[L5][P0][5号][codex] 修复 en 域名 /api/v1 到 8892` --- ## 4. 建卡前 6 问(不写完整卡 = 不许 create) 1. **给谁?** `assignee` + `target_node`(3hao/4hao/5hao/6hao) 2. **要实现什么效果?** 业务效果 + 技术效果 3. **验收标准?** `expected_output`:交付物 + 通过条件 + 失败/blocked 条件 4. **何时完成?** 截止 + P0–P3 5. **完成后通知谁?** 发起方 / 验收人 6. **有无附录?** 无则写明;有则仅 gdrive/link,路径 4/5/6 可读 发布 skill:`task-card-publish`(Hermes 各主体) 权威协议:`task_card_protocol_v3.md` --- ## 5. Body 最小结构(protocol v3) ```json { "protocol_version": "v3", "task_type": "code|ops|review|data|…", "requester_node": "5hao", "target_node": "4hao", "input": "需求正文(详细)", "expected_output": "交付物 + 怎样算过", "delivery_mode": "task_card", "attachments": [], "tags": [], "exchange_dir": "精华文档_EssenceDocs/任务产出/t_<id>_短名/", "result": null, "evidence": [] } ``` --- ## 6. 路径铁律(写错必崩) 给 **4号 / 5号 / 6号**: - ✅ `G:/我的云端硬盘/...` 或 `/mnt/gdrive/...` - ✅ 节点 Linux 绝对路径:`/data/...` `/root/...` - ❌ `E:\Hermes\...` `C:\Users\...`(远程读不到) 产出统一目录: ``` G:/我的云端硬盘/精华文档_EssenceDocs/任务产出/t_<taskid>_短名/ 5号:/mnt/gdrive/精华文档_EssenceDocs/任务产出/... ``` --- ## 7. 评论区模板(唯一回复通道) **阻塞:** ``` ❌ 阻塞 原因:… 建议:… ``` **进度:** ``` ⏳ 进度 完成:x% — … 阻塞:无/有 预计:… ``` **完成:** ``` ✅ 完成 产出:G:/…/任务产出/t_xxx/… 结果:… 遗留:… ``` --- ## 8. 状态与回报 | 状态 | 含义 | |------|------| | 01 任务投递 / ready | 待领取 | | 02 执行中 / running | 已开工 | | 03 已完成 / done | 可验收 | | blocked | 卡死,必须评论原因 | | archived | 归档,不进默认列表 | 回报 API(本机 5 号): ```bash curl -X POST http://127.0.0.1:18900/kanban/report \ -H "Content-Type: application/json" \ -d '{ "id": "TASK_ID", "agent": "YOUR_AGENT", "task": "TITLE", "status": "in_progress|done|blocked", "result": "摘要 + 路径 + 下一步" }' ``` 开工 report 一次,完成/阻塞再 report。 执行 skill:`kanban-mcp-ops`。 --- ## 9. 角色与派发(摘要) - 只派发 **磁盘上真实存在** 的 profile / 路由表允许的角色 - 禁止把任务派给「听起来像」但不在路由表的名字 - 详见:`kanban_role_routing_20260801.md` --- ## 10. Webhook / 代理 - 轻量 webhook 代理:**只收 payload、落盘、叫醒主执行体**,自己不执行任务 - 主执行体才允许 MCP / Drive / 改代码 - 缺叫醒命令 → report `blocked` --- ## 11. 智能体接单检查清单 1. 读本规则 + 任务 `id/title/assignee/body` 2. 有 `bundle_path` → 先读 `instructions.md` 3. report `in_progress` 4. 路径不可达 → 评论阻塞模板,**不要硬猜** 5. 产出写入 `exchange_dir`,评论贴可读路径 6. report `done` + 可验收结果 --- ## 12. 人类 / 智能体速查入口 | 入口 | 地址 | |------|------| | 看板 UI | `/kanban/` | | **规则 HTML** | **`/kanban/rules`** | | 规则 Markdown | `/kanban/rules.md` | | 协议 JSON | `/kanban/protocol` | | 外网(若已反代) | `https://en.hunanningyuan.cloud/kanban/rules` | 建卡前加载 skill:`task-card-publish` 执行/回报 skill:`kanban-mcp-ops` --- ## 13. DeepSeek TUI / CodeWhale 对接(工程助力,≠ Hermes) > **纠正:** DeepSeek TUI **不是** Hermes profile。 > 它是独立 **CLI**:现名 **CodeWhale**(原 `deepseek-tui`),命令 `codewhale` / 别名 `deepseek` / `deepseek-tui`。 > Codex 短期不可用时,自动施工队 = **看板 → deepseek-kanban-bridge → CodeWhale**。 ### 13.1 已有对接(Codex 时期搭好的) | 环节 | 实现 | |------|------| | 建卡 | 标题可含 `[DeepSeek]`;**assignee = `DeepSeek`**(桥接脚本按此拉取) | | 轮询 | `deepseek-kanban-bridge.timer`(约每 60s) | | 桥接 | `/root/bin/deepseek_kanban_bridge.py` | | 执行 | `codewhale --provider deepseek --model deepseek-v4-flash exec --auto` | | 日志 | `/root/.deepseek/tasks/kanban_runs/{task_id}.*.log` | | 回报 | 评论作者 `deepseek-bridge`:开工 / 完成 / 日志路径 | | 复核卡 | 成功后自动建 `t_review_*`,原 assignee=`codex`(交互复核;Codex 挂后由 **Grok 接手复核**) | ### 13.2 Grok 怎么用它当助力 1. 按本规则写完整任务卡(6 问 + 路径铁律)。 2. `assignee` 写 **`DeepSeek`**(与 bridge `--assignee DeepSeek` 一致)。 3. body 写清:工作目录、改哪些路径、验收标准、禁止事项。 4. create 到看板后,timer 会拉起 CodeWhale;**无需**把长 diff 塞进 Grok 聊天。 5. Grok 侧:读评论/日志做验收;必要时修复核卡或 blocked。 ### 13.3 与 Hermes `codex` profile 的区别 | | DeepSeek TUI (CodeWhale) | Hermes `codex` profile | |--|--------------------------|-------------------------| | 形态 | 独立 CLI/TUI | Hermes 内置 profile | | 看板对接 | deepseek-kanban-bridge | hermes kanban dispatch/claim | | assignee | `DeepSeek` | `codex` | | 现状 | timer 在跑;Codex 复核位改由 Grok 接手 | ON DISK=yes,底层也是 deepseek 模型,但是 Hermes 通道 | **禁止**把「DeepSeek TUI」和「Hermes」混称;派工程助力优先走 **CodeWhale 桥**(assignee=`DeepSeek`)。 ### 13.4 手跑桥接(调试) ```bash # 干跑看是否有待领卡 python3 /root/bin/deepseek_kanban_bridge.py --assignee DeepSeek --dry-run # 指定任务 python3 /root/bin/deepseek_kanban_bridge.py --assignee DeepSeek --task-id t_xxx --workspace /data/xinan-fashion systemctl status deepseek-kanban-bridge.timer ``` --- ## 14. 派发人 / 验收人(可选)与 TUI 小工 > **别名:** DeepSeek TUI = TUI = **CodeWhale CLI**(`codewhale` / `deepseek`)。不是 Hermes。 ### 任务卡可选字段(写在 body) ```text 派发人: 5号 验收人: grok workspace: /data/xinan-fashion ``` 或 JSON:`"requester":"5号","reviewer":"grok","workspace":"/data/xinan-fashion"` | 字段 | 含义 | 默认 | |------|------|------| | 派发人 / requester | 谁派的活、验收通知里署名 | 空 | | 验收人 / reviewer | `grok` / `codex` / 其它 | **`grok`**(环境变量 `DEEPSEEK_REVIEW_ASSIGNEE` 可改) | | workspace | CodeWhale 工作目录 | `/root` 或 systemd 里配置的目录 | 施工 assignee 仍为 **`DeepSeek`**(桥拉取)。 Codex 复活:验收人写 `codex` 即可走旧复核习惯。 ### Grok 如何被唤醒验收 1. **Inbox(主)**:`/data/kanban/grok_review_inbox/` - `{review_id}.json` · `LATEST.md` · `queue.jsonl` 2. **看板复核卡**:`t_review_*`,assignee=`grok`,标题含 `[Review][Grok]` 3. **Webhook**:推 Boss/小七 等(`webhooks.json` 有配置则推) 4. **会话约定**:开聊或用户说「验收 TUI/CodeWhale」→ 执行 `python3 /root/bin/grok_review_poll.py` 拉待办 Grok **不**依赖 Hermes ON DISK profile 名;靠 inbox + 复核卡。 ### Grok 任务卡流程(编排) 1. 写完整卡(§3–§6) 2. 施工:`assignee=DeepSeek` 3. 填 派发人/验收人(默认验收 grok) 4. create → bridge timer 拉 CodeWhale 5. 收到验收唤醒 → 读 log → complete/block --- ## 15. 铃铛(固定唤醒口令) CodeWhale(TUI)**结束时不自己乱说**,由 `deepseek_kanban_bridge` 敲 **固定铃铛**: | 结果 | 固定口令(第一行,勿改) | |------|--------------------------| | 成功 | **我完成了,详情见看板。** | | 阻塞 | **我卡住了,详情见看板。** | ### 通道(与历史「通知扣子」一致) 1. **邮件** → `zhengjie0214@coze.email`(`/root/bin/ring_bell.py`,原扣子通道) 2. **本地** → `/data/kanban/grok_review_inbox/BELL.md` + `bell_*.json` 3. **看板评论** → `🔔 铃铛:我完成了,详情见看板。` 4. **Webhook** → Boss/小七/管理员(有配置才推) 5. **验收卡** → `t_review_*` 给 reviewer(默认 grok) ### Grok 听到铃铛后 ```bash python3 /root/bin/grok_review_poll.py # 或读 cat /data/kanban/grok_review_inbox/BELL.md ``` 会话触发词:「验收」「铃铛」「TUI 完成了」「我完成了,详情见看板」→ 拉验收卡并处理。 手测铃铛: ```bash python3 /root/bin/ring_bell.py t_demo "测试标题" --status done --reviewer grok ```