wanning-init:给编码工具吐 Wanning MCP 配置的生成器(W-36;W-43a 产品化改版)。
产品边界(与 wanning-demo 演示台分开):本 crate 是对端工具的接入生成器——
零网络、零真实消费、零文件副作用(默认只打印 stdout;写文件必须显式 --out
且绝不覆盖已存在文件,动别人工具的配置 = 危险动作,拒)。
W-43a 产品化:配置不再吐占位符——wanning-mcp 可执行文件与审计 WAL 路径在
生成时解析成真实绝对路径直写进配置(新用户拿到就能用,不必手改
{{WAL_PATH}}),默认预算策略 --budget 显式写进 args(保守默认,用户可改);
不给 --wal 时落产品默认账本 ~/.wanning/wal.jsonl(Windows
%USERPROFILE%\.wanning\wal.jsonl,见 [wanning_core::paths])。路径一律转成
正斜杠(Windows 反斜杠在 JSON/YAML/TOML 里都要转义,正斜杠 Windows 也认)。
平台契约来源(零编造):
- claude-code:仓内
.mcp.json现物(W-19 真插实测)——字段面带type: stdio; - trae:仓内
.trae/mcp.json现物(W-17 直核)——字段面无type,且官方明示 command 不能含空格(解析出的路径含空格 = 拒绝生成,绝不产出装不上的配置); - codex:
~/.codex/config.toml的[mcp_servers.<id>]片段,W-35 直核无路径 变量(W-43a 起写实路径,连占位符也不留)+ TOML#注释; - kimi:
.kimi-code/mcp.json(用户级$KIMI_CODE_HOME/mcp.json或项目级), W-40 本机隔离实验修订——kimi-code 0.39.1 实测无kimi mcp子命令(W-17 的kimi mcp add属 legacy kimi-cli 挂法),mcpServers 形态无type字段、 无${...}变量,严格 JSON 无注释; - workbuddy:
.workbuddy/mcp.json(W-37 直核官方 MCP-Guide),mcpServers结构 同款但字段面无type(官方示例只有 command/args/env),文档未提及${...}变量;W-17 曾查不到,W-37 换路数(robots/sitemap 绕开 JS 首页)破冰, 见 docs/research/workbuddy.md; - deepseek-harness:不是 mcp.json——Cordis overlay YAML patch(W-44 任务书
直核官方
docs/user/guide/mcp-memory.md通用格式 + 本机 dsh 0.1.0-rc.7 包内@deepseek-ai/dsh-mcp-clientREADME 字段表)。patch entry =- insert:列表,cwd: !!js process.cwd()的 js-tag 按官方示例原样;YAML 支持#注释(与 TOML/shell 同侧)。真实 dsh 二进制取证:dsh --profile headless --dump-config --patch <生成文件>exit 0 且 wanning 行进入组合树(W-44 轮,零网络零会话); 会话级端到端待所有者(dsh 会话 = 模型会话 + 网络,红线 2)。 - openclaw:原生支持 MCP(本机 2026.5.22 有
openclaw mcp子命令族,W-45 隔离实测mcp set/list/show全绿)——产出openclaw mcp set命令行而非 文件内容:openclaw.json 由宿主自己管理(实测落盘含 commands/messages/agents 等骨架段),CLI 写入只动mcp.servers.wanning一段,天然满足「绝不覆盖」。 字段面{command, args}与实测落盘逐字一致;官方 docs.openclaw.ai/mcp 直核 stdio 字段 command/args/env/cwd + env 安全过滤(拦 NODE_OPTIONS 等)。 - hermes:原生支持 MCP(本机 hermes-agent v0.19.1 有
hermes mcp子命令族, W-45 隔离实测)——产出hermes mcp add wanning --command <bin> --args <args>命令行(discovery-first:add 即真连发现工具,挂载即验证;实测 2/2 工具现身, 落$HERMES_HOME/config.yaml的mcp_servers.<name>= {command, args, enabled: true})。W-45 隔离实测全链路:hermes -z -t wanning+ 本地 mock LLM → allow 400 落 WAL;二次会话同 nonce → replay 拒(链连续)。工具现身名mcp__wanning__*(deferred catalog),模型侧经tool_call(name, arguments)间接调用——直接调 mcp__ 名会报 does not exist(实测教训,写进 notes)。
注释纪律:各工具注释语法不同——TOML/shell/YAML 用 # 行内注释;严格 JSON
没有注释语法,claude-code/trae/kimi/workbuddy 的说明只能打在 stdout 的
[Artifact::notes](文件内容保持纯净 JSON,防解析崩)。