deepseek-harness-tui:给 DSH 加一个终端原生对话界面

前言

DSH 的理念是「一切皆插件」:模型、会话、工具调用等能力都可以按 profile 组合。若你更想在终端里直接和 DeepSeek Harness 的模型对话,而不是切到浏览器或额外 Web 界面,deepseek-harness-tui 提供了一个可选的 TUI 插件。

它是一个社区项目,MIT 许可,独立于 DeepSeek 和 TokenDance,不是对 harness 的重新实现,而是约 800 行 UI 的薄插件。

这是什么

deepseek-harness-tuigxinxing/deepseek-harness-tui 仓库提供的 DeepSeek Harness(dsh)交互式终端聊天 TUI。

它的定位是终端原生:基于 Ink 构建,把会话转录、工具调用、思考过程、Markdown 渲染放进终端界面。通过 cordis.patch.yml,它会把 llm-deepseek 路由到 TokenDance gateway。

核心功能

  • 基于 Ink 的终端聊天 UI
  • 底部锚定的 live transcript,尾部始终可见
  • 工具调用折叠为 cell,显示 active / completed / error 状态,并截断输出
  • 通过 OSC 11 探测终端背景,推导 message tints 和 code chips
  • ctrl + t 折叠 thinking/reasoning trace
  • esc 中断正在运行的 turn
  • Markdown 渲染保留 headers、fenced blocks、inline code,并处理 CJK/emoji 宽度
  • 通过 cordis.patch.ymlllm-deepseek 路由到 TokenDance gateway

安装与启用

需要先有 Node.js ≥ 20 和 DeepSeek Harness CLI。下面先安装 harness,再克隆并安装插件依赖:

npm install -g @deepseek-ai/dsh
git clone https://github.com/gxinxing/deepseek-harness-tui
cd deepseek-harness-tui && pnpm install

然后把这个插件挂到 tui profile。这里使用本地路径,不把仓库名直接拼成远端插件地址:

dsh plugin --profile tui add @deepseek-ai/dsh-headless
dsh plugin --profile tui add /path/to/deepseek-harness-tui

如果 clone 目录不在 /path/to,请把它替换为实际路径。

典型用法

先准备 TokenDance API key。可以临时导出,也可以放到 ~/.dsh/.credentials.yaml(文件权限建议 0600):

export TOKENDANCE_API_KEY=sk-...

启动 TUI:

dsh --profile tui

进入 TUI 后,常用的操作是:

  • ctrl + t:折叠 thinking trace
  • esc:中断正在运行的 turn
  • /help:查看所有 keys 和 commands

如果只想固定一个背景色做测试,可以设置 DSH_TUI_BG

DSH_TUI_BG=#ffffff

然后再运行:

dsh --profile tui

适用场景与注意

它适合需要在终端里使用 DSH 对话、工具调用和 Markdown 输出的开发者,尤其是希望界面贴近终端本身、避免额外 Web 外壳的场景。

使用前建议注意:

  • 它是 MIT 许可的独立社区项目,不与 DeepSeek 或 TokenDance 存在官方从属关系。
  • 插件会随当前 dsh 进程运行;安装前建议检查仓库源码、package.json 和许可证。
  • package.json 中声明 private: true,并且要求 engines.node >= 20
  • TokenDance 的工具调用 deltas 需要一次对 @deepseek-ai/dsh-llm-deepseek 的补丁;补丁位于全局 dsh 安装中,dsh 升级后会丢失,需要重新应用。
  • 不要把这里的安装命令理解为官方应用商店入口;社区目录是独立站点,实际可安装内容以仓库和目录页当前说明为准。

结尾

deepseek-harness-tui 的价值在于把 DSH 的终端体验收敛到一个薄插件里:底部锚定转录、工具调用折叠、thinking 折叠、OSC 11 背景探测和 Markdown 渲染都围绕终端使用场景组织。若你想在自己的 dsh 安装里尝试,可以从上面的安装步骤开始,并根据本地路径完成 profile 绑定。

GitHub 仓库:https://github.com/gxinxing/deepseek-harness-tui
目录页:请以你正在使用的社区目录页当前链接为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜