mock 使用指南
为 DeepSeek Harness 提供"伪 LLM"通道:用脚本让 agent 不调用真实模型,而是按 JSON/JSONL 剧本触发预设的工具调用,用于离线测试、教学演示与 CI 回归。
本文为派生内容(基于 wiki / faq / compatibility_json 自动组装),非 AI 即时创作。
本文由本站基于该插件已收录的字段自动派生(wiki / faq / compatibility_json / readme),非 AI 即时创作。每节末尾标源字段。
快速上手
dsh-plugins(mock / dsh-mock)
— 源: plugin_wiki.wiki_content
安装与验证
dsh plugin --profile web add dsh-mock
复制以上命令在 DSH Web Profile 内运行。安装完成后在「插件列表」启用即可。
— 源: plugins.install
关键要点
- Codex Terminal documentation
- Coding Plan core
- Codex Coding Plan documentation
- Grok Coding Plan documentation
- Loop documentation
— 源: plugin_wiki.readme_zh (fallback readme_raw)
常见问题
装上之后我能在模型下拉框里选 "mock" 吗?
不能。mock 路由被刻意隐藏(README.md:21-28),普通模型选择器里看不到它,只有输入 /mock run 或 /mock replay 这种斜杠命令才会临时启用。
/mock run 和 /mock replay 有什么差别?
/mock run 直接在输入框写一段 tool(JSON) 触发一次或一组并行工具调用,session 用完即弃;/mock replay 则读取一个本地脚本文件(canonical JSON 或 DSH JSONL),按剧本逐步重放,适合固定场景的回归测试(src/index.ts:318-339)。
replay 脚本支持哪几种文件格式?
支持 dsh-mock-script 的 canonical JSON(type=dsh-mock-script, version=1),也支持原生的 DSH JSONL session 日志(type=session 开头),后者会自动转换成 canonical 脚本(src/converter.ts:172-251)。ZIP 压缩包直接传入会被拒绝(src/replay-input.ts:14-17)。
用 mock 触发的工具会被宿主正常记录吗?
会。MockAdapter 只产出模型 chunk,工具查找、参数校验、授权、执行、结果回写和事件持久化仍然走宿主 AgentLoop/ToolRuntime 流水线(src/mock-adapter.ts:89-95)。
怎么卸载 mock?
用对应的 dsh plugin remove 移除安装源即可,effect 回收时会调用 adapter.dispose()、注销 /mock 命令与 llm adapter(src/index.ts:282-293)。
— 源: plugin_wiki.faq_json
兼容性
- DSH: >=0.1.0-rc.6(peerDependencies 中 dsh-* 多数为 >=0.1.0-rc.6,dsh-llm 为 >=0.1.0-rc.5)
- Node: 未声明(package.json 无 engines 字段,devDependencies 仅声明 @types/node ^22.20.0)
- Platforms: DSH Web
— 源: plugin_wiki.compatibility_json
踩坑提醒
安装前请审阅上游仓库;本指南基于已收录字段自动派生,可能滞后于最新版本。如发现与官方文档冲突,请以上游为准。
— 来源:通用规则