English | 中文
在交付的 TUI 之上启用 Code Mode:模型不再每轮调用一个工具,而是为单一的 run_code 工具编写 TypeScript 程序,并在 worker 线程中执行。
本叶节点是一个 overlay,而不是配置树。dsh --config 会 include 共享的 apps/cli/base.cordis.yml,应用 tui.cordis.yml surface overlay,再应用本文件——三者都是同一 include 层级上的平级 patch 列表。
# repo root .env (gitignored) or exported env:
# DEEPSEEK_API_KEY=sk-…
# DEEPSEEK_BASE_URL=https://… # optional; defaults to the public API
pnpm run demo:code-mode
pnpm run demo:code-mode acp 通过 ACP 传输启动同样的思路,配置位于 examples/acp-agent/code-mode.cordis.yml。
| 配置项 | 改动 |
|---|---|
tools |
mode: code——线上注册表收敛为 run_code,外加其生成的 TypeScript SDK 提示词片段 |
system-prompt |
指示模型把相关工具调用批量写进一个程序的 persona |
tui |
Code Mode 的欢迎行 |
code-runtime |
新插入:@deepseek-ai/dsh-code-runtime-worker,即 run_code 的执行 worker 线程 |
其余部分——模型后端、执行器、文件系统工具、持久化、委派与前端入口——全部来自 base 与 TUI overlay。
配置 patch 会整体替换该配置项的 config,而非与其合并,因此上表每一行都必须重述自己拥有的全部键。若某个 patch 的 id 不再匹配任何配置项,Loader 只会告警并跳过它,所以在 base 或 surface overlay 中重命名配置项时必须同步更新本文件。
模型看到的是一个工具,而不是完整的原生注册表。其请求携带 run_code 的 schema 以及一段生成的 TypeScript SDK 说明,用于描述可调用面。这会在前置阶段消耗更多提示词 token,但把多个单次调用的轮次压缩为一个程序——往返更少,transcript 中的中间工具结果也更少。由于工具目录属于被缓存的请求前缀,切换模式会使该会话的 KV 缓存失效。