开发文档

Kimi Code 编程 Subagent 工作流 PRD

V 1.0.0 2026-07-24 Hermes(大头哥确认)
说明

本 PRD 为内部工作流系统,无用户界面。write-prd 模板中「页面结构与导航」章节以「角色与架构」替代,其余盲区(状态机 / 字段规范 / 异常处理 / 文案)全部覆盖。

一、概述

1. 需求背景

问题点问题描述当前影响
复杂任务占主线default profile 自己写代码跑全程主模型 token 成本高,会话被占;违背"复杂/重复任务应委派"的既定原则
终端退出即停Hermes CLI 进程绑死 SSH 会话长程任务无法执行,必须一直开着终端观察
无进度恢复手段任务状态只存在于会话记忆里重进终端后无法用一句提示词追踪进度
Kimi 权限过大ubuntu 账号免密 sudo + Kimi 派发模式自动放行所有工具调用存在误碰生产环境(/var/www、/etc、数据库)的风险

2. 需求目标

  1. 相对复杂的编程任务由 Hermes 分解后派发给 Kimi Code 独立执行;Hermes 只做 orchestrator(分解、写任务书、验收、返工、部署),不当码农
  2. 任务执行脱离终端:退出 SSH 后 Kimi 照跑,完成或失败时飞书私聊通知大头哥
  3. 重进终端(或手机浏览器 dashboard)一句提示词"bighead 进度"即可恢复全部上下文并获得进度汇报
指标当前状态目标状态
派发后 SSH 断开任务随终端中断systemd-run 独立运行,不受任何终端影响
进度追踪无手段读各项目 STATUS.md,30 秒内给出汇报
验收依据无,"看起来对"每个任务 TASK.md 内含可执行 DoD(验收命令 + 预期产出)
返工从头重来kimi -S <session_id> 同会话续接,上下文不丢,上限 3 次

3. 需求范围

包含

不包含

4. 参考资料

文档名称说明
Kimi Code CLI 实测记录2026-07-24 本服务器验证:kimi -p headless 可用、自动放行工具调用、写文件 + 跑代码真实落盘、kimi -S 会话续接可用
常驻基础设施hermes-dashboard 以 user systemd 运行 + linger=yes,监听 0.0.0.0:9119(dashboard.sieta.vip),不依赖任何终端
风险实测sudo -n true 直接通过(免密 sudo),wrapper 必须做防御

二、角色与架构

角色分工

角色承担不承担
大头哥提需求、收飞书通知、问进度任何手工操作
Hermes default(orchestrator)需求分解、写 TASK.md(含 DoD)、派发、review 验收、返工指令、部署上线、进度汇报大批量写代码
Kimi Code(编程 subagent)bighead/<project>/ 目录内写代码 + 自测sudo、碰 /var/www 和 /etc、部署上线、对外通信(飞书 / HTTP 外呼)

项目目录标准结构

~/bighead/
└── <project>/
    ├── TASK.md       任务书 + 验收标准(DoD)。Hermes 写,Kimi 只读
    ├── STATUS.md     状态机当前状态 + 最近更新 + 最近事件
    ├── logs/         每次派发/返工的完整输出(dispatch-<时间戳>.log)
    └── (代码文件)

常驻与追踪架构

三、功能列表

模块功能名称功能说明优先级
派发任务书生成需求 → 分解 → TASK.md(含 DoD:跑通什么命令、产出什么文件)P0
派发wrapper 脚本systemd-run 脱离进程树启动 kimi -p;拒绝含 sudo / /var/www / /etc 的任务指令;日志落盘P0
状态STATUS.md 状态机running / review / rework / done / failed,每次流转写时间戳P0
通知飞书完成通知任务结束(成功/失败)发大头哥私聊 oc_569a,不发群P0
查询进度追踪用户说"bighead 进度" → 遍历 bighead/*/STATUS.md 汇报P0
返工session 续接验收不过 → kimi -S <session_id> 提改进意见续跑,上限 3 次P1
固化kimi-dispatch skill全流程 skill,含本 PRD 所有规则与模板P1

四、功能说明

功能 1:任务派发

大头哥提出复杂开发需求后,Hermes 将需求分解为任务书写入 bighead/<project>/TASK.md,经 wrapper 安全校验后以 systemd-run 独立启动 Kimi Code 执行。

大头哥提需求
  ↓
Hermes 分解 + 显式声明假设(大头哥可纠正)
  ↓
写 TASK.md(含 DoD)+ 初始化 STATUS.md(running)
  ↓
wrapper 安全校验
  ├─ 通过 → systemd-run 启动 kimi -p(cwd=bighead/<project>)→ STATUS=running
  └─ 失败(任务指令含 sudo / 生产路径)→ 不启动,STATUS=failed,终端说明原因

功能 2:执行与完成回调

Kimi 脱离终端独立运行,结束后 wrapper 记录退出码与 session id,更新状态并通知。

kimi 独立运行(SSH 断开无影响)
  ↓
进程结束
  ├─ 退出码=0 → STATUS=review → 飞书私聊通知(项目名/日志路径/待验收)
  ├─ 退出码≠0 → STATUS=failed → 飞书私聊通知(含错误摘要)
  └─ 超时(单任务上限 3600 秒)→ 杀进程,STATUS=failed → 飞书私聊通知

异常路径:服务器重启 → systemd-run 单元丢失,STATUS.md 停留在 running;大头哥重进问进度时,Hermes 发现无对应存活进程 → 报告现场并询问是否重跑。

功能 3:Review 与返工

Hermes 按 TASK.md 的 DoD 逐条验收(读代码 diff、跑验收命令),通过则收尾,不通过则同 session 续跑返工。

飞书收到完成通知(或用户主动问进度)
  ↓
Hermes 按 DoD 逐条验收
  ├─ 通过 → STATUS=done → 需要上线则由 Hermes 部署(Kimi 不参与)
  └─ 不通过 → 整理改进意见 → kimi -S <session_id> -p "改进意见" 续跑 → STATUS=rework
        ↓
      再次验收,返工次数+1
        ├─ 通过 → done
        └─ 累计 3 次仍不过 → 停止返工,STATUS=failed,升级大头哥决策(对齐"3 次铁律")

降级路径:Kimi 订阅配额耗尽 → 飞书告知大头哥,该任务降级走 forge/chief DFC 流水线。

功能 4:进度追踪

任意入口一句"bighead 进度",Hermes 遍历 bighead/*/STATUS.md 输出各项目状态与最近事件。

大头哥说"bighead 进度"(终端 或 dashboard.sieta.vip)
  ↓
Hermes 遍历 bighead/*/STATUS.md + 检查 running 项目的进程是否存活
  ↓
汇报:每项目 状态 / 最近事件 / 时间戳 / running 项目进程存活确认

五、状态机

状态名称进入条件退出条件用户可见表现
runningTASK.md 写完且派发成功(派发即写 running,无 pending 态)kimi 进程结束logs/ 日志增长
reviewkimi 退出码=0验收通过 / 不通过飞书私聊通知
rework验收不通过kimi 续跑结束STATUS 更新 + 返工次数+1
done验收通过终态飞书私聊通知
failed启动失败 / 超时 / 非零退出 / 3 次返工不过人工介入后重置飞书私聊通知(含原因)

六、字段规范

TASK.md 模板

字段名类型是否必填校验规则错误提示
任务名文本≤50 字缺少任务名,无法派发
目标文本一句话,不含"等等/之类"目标模糊,请拆细
工作目录路径必须在 ~/bighead/ 下目录越界,拒绝派发
允许操作列表仅工作目录内读写
禁止操作列表固定含 sudo、/var/www、/etc、对外网络(包管理除外)
DoD 验收命令列表每条为可执行命令 + 预期输出无可执行 DoD,不予派发
产出文件清单列表相对工作目录的路径

STATUS.md 模板

字段名类型是否必填说明
项目文本目录名
当前状态枚举见状态机
最近更新时间戳每次流转刷新
kimi session id文本review 后必填,用于返工续接
返工次数数字上限 3
最近事件文本一句话,如"验收不通过:DoD 第 2 条输出不符"

七、文案规范(飞书私聊通知模板)

场景文案内容
派发成功【Kimi Code 任务启动】项目:<名>。任务:<目标>。完成后我会验收并通知你。
验收通过【Kimi Code 任务完成】项目:<名>。DoD <N> 条全部通过。<是否需要上线:已由我部署 / 无需部署>。
验收不通过(返工)【Kimi Code 返工 第<N>次】项目:<名>。问题:<一句话>。已要求 Kimi Code 改进。
任务失败【Kimi Code 任务失败】项目:<名>。原因:<退出码/超时/3 次返工不过>。日志:bighead/<project>/logs/。需要你决策:重跑 / 放弃 / 降级 forge。
进度汇报【bighead 进度】项目A:running(已跑 20 分钟,进程存活);项目B:review 待我验收…

八、异常情况处理

异常场景触发条件处理方式用户反馈
任务指令越权含 sudo / /var/www / /etcwrapper 拒绝启动终端说明原因,STATUS=failed
执行超时单任务 >3600 秒杀进程,STATUS=failed飞书通知
SSH 断开任意时刻无影响(systemd-run 独立)
服务器重启systemd 单元丢失STATUS.md 保留现场,重进后 Hermes 判断问进度时如实报告并询问是否重跑
Kimi 配额耗尽API 返回配额错误降级 forge/chief 流水线飞书告知
返工失控累计 3 次不过停止,升级人工飞书通知,附决策选项
安全红线

Kimi Code 只产出代码,永远不碰生产:禁 sudo、禁 /var/www、禁 /etc、禁对外通信。部署上线由 Hermes 执行。wrapper 在派发前强制校验任务指令,越权直接拒绝。