Skip to Content
一切皆插件 · DeepSeek Harness附录 C 术语与速查表

附录 C 术语与速查表

译法说明:本表对齐官方 docs/glossary.zh.md,不另立标准。官方那份经过双语配对流水线校对,另搞一套的后果是你照书学完、去 Discussions 提问时用的词跟所有人都对不上。 本表在官方基础上补三样:官方没译的词、容易误解的词的澄清、以及不建议翻译的词。

C.1 最容易认错的七个词

dsh 里的意思容易误解成建议
fiber一个插件的运行时实例:生命周期状态 + 它注册过的东西 + 依赖快照用户态协程(Boost.Fiber / Ruby Fiber / Java Loom),或 React Fiber 那个工作单元不译。最近的类比是 OSGi bundle 的 lifecycle state
waterfall环绕式中间件,(...args, next),调 next() 放行、不调即短路webpack/Tapable 的 SyncWaterfallHook——那个是”上一个返回值喂下一个”的 fold,语义相反译「环绕式分发」或不译。绝不译”瀑布”
effect一次带逆元的注册:做一件事,同时交出撤销它的方法effect system / 代数效应;或者”副作用”译「可逆注册」。不译”副作用”。(配套论文用的词是 revertible,不是 reversible)
capability一个能力/子系统capability-based security 的 capability(不可伪造引用即权限)译「能力」。dsh 的 ctx.<key> 是按名查表的环境权威,和 ocap 正相反
invariant运行时监视器,检查权威事件流或可变数据Hoare 逻辑那种静态验证过的不变式译「运行时不变式」,说清是监控不是证明
bundle一个只装配置不装可执行逻辑的 npm 包:内容是一份 cordis.patch.yml,若干个插件行webpack/Rollup 那种打包产物;或 OSGi 的 bundle(那个是带代码和生命周期的模块)不译。它是配置合成的最底两层,见第 1 章 1.6 节和第 12 章
surface日志里会进入模型请求的那部分事件API 表面(dsh 文档里也在这个通用义上用过这个词)译「模型可见面」,全书统一

seam 是唯一一个用得完全正确、又值得认领来历的词:出自 Michael Feathers《修改代码的艺术》(2004)——“a seam is a place where you can alter behavior in your program without editing in that place”。中文「接缝」是既定译法。

C.2 三词三义:scope / isolate / realm

这三个词在 dsh 里指三件不同的事,不要用同一个中文词覆盖

指什么建议译法
Cordis isolate给某个服务名换一条解析链,原型链实现服务隔离域
dsh agent scope按 agent 身份分层的注册命名空间,两层扁平、最具体者胜、限制按交集复合agent 作用域
realm(义一)Cordis 的隔离标签(docs/architecture.md:112隔离域
realm(义二)ECMAScript realm(docs/subsystems/workflow.md:65JS 领域

C.3 时间单位

定义注意
step一次模型请求,加上这次响应引发的工具执行最小单位
turn排空一次已接收输入的全过程含零到多个 step;零 step 的 turn 是合法的
round外层策略的一次迭代,包一个 turn计数属于那个策略,不数会话里的每个 turn
Ralph roundRalph 循环里的一个全新子会话不种父会话或前一个子会话的历史
goal round同会话目标域的一次推进默认上限 256

C.4 四方能力对照

维度Claude CodeCodexOpenClawdsh
主循环能不能换不能不能不能
加模型 provider内置 + 网关兼容配置配置装一个 npm 包
加工具MCPMCP内置 + 渠道一个 tool-*
拦截工具执行hook(进程 + JSON)hook(较窄)内部扩展点进程内三段瀑布 + 单调守卫
改模型看到的消息有限有限有限agent/pre-step,可改写也可拒绝
换上下文压缩不能不能可配换一个包
会话状态归谁产品内部产品内部产品内部append-only 日志是契约本身
执行环境搬远端无统一接口无统一接口无统一接口换两个 provider,工具零改动
前端扩展不开放不开放不开放129 行树里 32 行是前端
配置模型settings.json 深合并config.toml + profile配置文件四层,整体替换
多用户服务端没有(单用户本机服务,见第 4 章)

Claude Code 闭源,该列只写公开可见的行为。

C.5 五种事件分发方式

源码里是五种vendor/cordis/src/events.ts:32),官方 primer 的表格只列四种——bail 只在 client 侧用。

方式等不等有返回值用途Java 类比
emit不等广播ApplicationEventPublisher
parallel并发跑完ExecutorService.invokeAll
serial顺序跑完顺序 for
bail第一个给答案的胜出责任链,首个非空返回
waterfall环绕拦截Servlet Filter 的 chain.doFilter()

实测 @mode 分布:emit 65 / waterfall 20 / bail 5 / parallel 4 / serial 2。

C.6 主要接缝速查

接缝Definition常见 ProviderConsumer
shelldsh-shellbash-local / bash-sandbox / pwsh-*tool-bash13
subprocessdsh-subprocesssubprocess-local / -e2b上面那些的底座13
fsdsh-fsfs-local / fs-sandbox / fs-e2btool-fs13
llmdsh-llmllm-deepseek / llm-pi-ai主循环8
toolsdsh-toolstool-*10
compactiondsh-compactioncompaction-basiccommand-compact15
spilldsh-spillspill-localspill-policy10
webdsh-webweb-search-* / web-fetch-httptool-web
subagentdsh-subagent7 种,含 claude-code / codextool-subagent16
sandboxdsh-sandboxsandbox-local / -windows-acl各执行 provider13
credentialsdsh-credentialscredentials-localllm 适配器等13、18
storagedsh-storagestorage-json / -sqlite各域插件
session-persistence-jsonl / -sqlite7
telemetrydsh-session-telemetry-otel7、18
code-runtimedsh-code-runtime-worker-threadtools 的 Code Mode10
skill / lsp / terminal / jobs / attachment / sessionTitle各自各自各自

C.7 常见错误码

错误码含义一般原因
SANDBOX_UNAVAILABLE沙箱后端不可用,拒绝执行机器上没装 bubblewrap / Landlock 用不了
SHELL_UNAVAILABLE没有注册 shell provider接缝三角色缺一个
UNKNOWN_TOOL工具名不存在拼错;或 Code Mode 下模型直接调了原生工具名
UNKNOWN_PROVIDER模型路由不存在agent-default-model 指向了没注册的 provider
OPEN_TURNfork 切在了没关闭的 turn 中间见第 7 章的良构前缀
INACTIVE_EFFECT卸载过程中创建 effect见第 6 章的卸载集合封闭性
CONTEXT_WINDOW_EXCEEDED上下文溢出压缩没跟上,或模型容量声明不对
STARTUP_INCOMPLETE有插件没能激活依赖服务缺席,见第 12 章排查手册

C.8 常用命令

npx @deepseek-ai/dsh web # 起 Web,127.0.0.1:3080 dsh --profile headless "任务" # 跑一次,打印结果,退出 dsh --profile web --dump-config # 打印将要启动的整棵树 dsh --profile web --dump-default-config # 不含用户层和 --patch dsh --profile web --patch ./extra.yml # 额外覆盖层(可重复) dsh plugin --profile web add <> # 装插件(转发给 pnpm)

$DSH_HOME 默认 ~/.dsh,里面四样东西:profiles/cordis.patch.yml.env.credentials.yaml


本附录来自《一切皆插件》开源版 · 作者「递归客」
在线阅读完整书系:inferloop.dev
源码仓库:github.com/diguike/book-deepseek-harness

本书资源

继续阅读 · 同作者其他书

Last updated on