WorkBuddy 通过本机 stdio MCP 连接 mdreviewer;它负责出稿 / 改稿 / 提交候选, mdreviewer 负责校验、留痕和版本。接受和放行永远由人完成,WorkBuddy 不能直接写目标文件。
先读下面的帮助再装:第 1 节是一次性准备(约 3 分钟),装完要让智能体能连上,才算真正可用。查看与下载会计入本站统计(时间、IP 与地区),仅用于了解使用情况与排查问题。
mdreviewer.exe、mdreviewer-mcp.exe、
amckit.dll 必须在同一目录;WorkBuddy 拉起的是其中的
mdreviewer-mcp.exe。安装包里的 skill\workbuddy\ 也留着,下一步要用。WorkBuddy。%USERPROFILE%\.workbuddy\mcp.json,把 mdreviewer 这一项
合并到已有的 mcpServers 中,不要整份覆盖;没有这个文件就新建。
{
"mcpServers": {
"mdreviewer": {
"command": "D:/Apps/mdreviewer/mdreviewer-mcp.exe",
"args": [],
"env": {
"MDREVIEWER_TOKEN_FILE": "C:/Users/you/.mdreviewer/agents/agt_xxx.token"
}
}
}
}
D:\Apps\... 会变成非法 JSON。弹层里生成的配置已经是正斜杠,直接复制最稳。
WorkBuddy 不能由本程序一键写入,所以这一步是复制粘贴。请调用 md_ping 确认 mdreviewer 连接正常,再调用 md_me 告诉我我是谁。
返回 ok 且有档案名,就接上了。也可以先在「MCP 配置」弹层点
测试连接,确认 15 个工具可用。agent.json 里的新端口。MCP 工具是能力,skill 是“什么时候该做什么”的流程约束。建议一起装上:
skill\workbuddy\SKILL.md 和
skill\workbuddy\proposal.schema.json 到:
%USERPROFILE%\.workbuddy\skills\mdreviewer-review\
目录名用 mdreviewer-review,文件名必须是 SKILL.md。
macOS / Linux 对应 ~/.workbuddy/skills/mdreviewer-review/。mdreviewer.exe agent-skill --format=workbuddy --out %TEMP%\mdreviewer-skill
然后把 %TEMP%\mdreviewer-skill\workbuddy\ 下的两个文件复制到上面的目录。适合“我已经看出一批问题,让 WorkBuddy 去改”的场景。
请按 mdreviewer 的批注工单改这篇文档:
1) md_batches 找到进行中的批次
2) md_claim 领取
3) md_get_ticket / md_get_source 读工单与正文
4) md_propose 提交逐块提案(quote 逐字复制)
5) md_wait 等我裁决,不要直接改文件
适合“从零起稿、大改一版、没有现成批注”的场景。新文档要先由人建一个空文件:
WorkBuddy 不能创建文件,也不能直接写盘。在 mdreviewer 里「新建草稿」保存成目标 .md,
再在「交给智能体」里勾选 WorkBuddy 并授权。
你先写一版 / 先改这篇文档,交 mdreviewer 给我评审:
- 用 md_submit_revision:path=<文档绝对路径>,summary=<这轮改了什么>
- 小改用 changes(逐块补丁);大改或新稿用 content(整篇新正文)
- 提交后用 md_wait 等我的裁决,不要直接写文件
revision_id 并进入等待;候选只落在 mdreviewer 的候选区,目标文件没变。X.Y(如 0.1);点顶栏
放行 才生成 X+1.0 正式版。| 你要做的事 | 位置 | 结果 |
|---|---|---|
| 看所有文档里等着你处理的修订 | 顶栏「待我评审」 | 点一行直接打开该文档并进入裁决 |
| 接受某些块 | 裁决面板勾选 → 「接受选中的块」 | 生成 X.Y,状态 修订 |
| 否决某些块 | 勾选 → 「否决(填原因)」 | 块标 已否决,原因回传给 WorkBuddy,不产生版本 |
| 把本轮修订定版 | 顶栏「放行」→ 确认 | 生成 X+1.0,状态 定版,本轮关闭 |
| 看历史 | 「版本」Tab | 按 X.Y 展示修订 / 定版 / 已被取代 / 已否决 |
| 看 WorkBuddy 的回传 / 文件通道结果 | 顶栏「消息」 | 保留最近 200 条动态;点条目打开对应文档 |
0.1,第一次放行是 1.0;
定版后每接受一次修订 Y+1(1.1、1.2…),再放行就是 2.0。
被新修订取代的候选标“已被取代”,被否决的块留档不删。WorkBuddy 不应该猜。它会把某条批注标成 clarify 并附上具体问题:
md_opinions(或再次领取工单)读回你的回答,继续改稿。| 现象 | 原因 / 处理 |
|---|---|
WorkBuddy 里没有 md_ping / md_me | 先确认
%USERPROFILE%\.workbuddy\mcp.json 的 JSON 合法、mdreviewer 确实在
mcpServers 下;在 mdreviewer 的「MCP 配置 → 测试连接」确认 15 个工具可用,
然后完全退出并重启 WorkBuddy。 |
401 / 凭据无效 | 配置里的
MDREVIEWER_TOKEN_FILE 路径不对,或档案被轮换了凭据。回设置页重新
「复制配置」并更新 mcp.json。 |
403 doc_not_granted | 这篇文档没授权给该档案。打开文档 → 「交给智能体」里勾选 WorkBuddy 并授权。 |
403 智能体凭据不能调用人工评审接口 | 正常:接受/放行只允许人。
WorkBuddy 只能调 /api/agent/v1/*。 |
| 工具能连上,但 WorkBuddy 不按流程走 | skill 没装或没重启。确认
%USERPROFILE%\.workbuddy\skills\mdreviewer-review\SKILL.md 存在且文件名正确,
重启 WorkBuddy。 |
409 原文已变化 / quote_mismatch | WorkBuddy 的基准过期或
quote 不是逐字复制。让它重新 md_get_source 再提交。 |
| 顶栏没有「放行」 | 当前没有「修订中」的候选:先接受一份修订,或它已经被放行/取代。 |
| 收件箱里没有 WorkBuddy 的修订 | 检查文档是否已授权、mdreviewer 是否在运行;
文件通道看 outbox 里是否留下 *.error.json。 |
| WorkBuddy 在另一台机器 / 云端 | MCP 是本机 stdio:它拉起的
mdreviewer-mcp.exe 必须和 mdreviewer 在同一台机器上。跨机器请改用文件通道
或 REST(需要网络可达与凭据)。 |
读已授权文档与工单、提交提案 / 修订、回传批注处理状态、追问澄清。
它永远不写目标文件,也不产生正式版。
新增/编辑批注、逐块接受或否决、回答澄清、关闭批次、放行 X+1.0。
带智能体凭据调这些接口会被服务端 403。
| 项目 | WorkBuddy | Hermes |
|---|---|---|
| MCP 配置 | %USERPROFILE%\.workbuddy\mcp.json 的 mcpServers(JSON) |
%LOCALAPPDATA%\hermes\config.yaml 的 mcp_servers(YAML) |
| 配置写入 | 复制粘贴,合并到已有 mcpServers | 可在应用里一键写入(自动备份) |
| skill 目录 | %USERPROFILE%\.workbuddy\skills\mdreviewer-review\SKILL.md |
%LOCALAPPDATA%\hermes\skills\mdreviewer-review\SKILL.md |
| 工具与协议 | 同一套 md_* 工具、同一份 REST 契约和权限边界 | |
需要 Hermes 的版本?打开 Hermes 版帮助。
docs/agent-protocol.md(REST / MCP / 文件通道契约)·
README.md(接口与变更记录)· 安装目录 skill\workbuddy\(本页提到的 skill 文件)。