dsh-tui:给 DeepSeek Harness 补上一个交互式终端界面

前言

如果你在用 DeepSeek Harness(DSH)做智能体开发,可能会遇到这样一个空档:官方 dsh 自带 web 界面和一次性的 headless 模式,但没有一个可交互的终端界面。对长期泡在终端里、习惯键盘操作,或者通过 SSH 在 tmux 里跑 harness 的人来说,要么开浏览器,要么接受单次调用,缺一个中间形态。

DSH 的理念是一切皆插件。dsh-tui 就是社区补上这个空档的插件:不 fork 运行时,以可安装插件的形式提供全屏终端 UI。下面介绍它的定位、功能、安装方法和使用注意事项。

这是什么

@nexlineai/dsh-tui 由 nexlineai 维护,MIT 许可,当前版本 0.1.1。一句话定位:DeepSeek Harness agent 运行时的全屏交互式终端 UI——把 web UI 重新做进了终端。

要强调的是,它不是模型包装器,也不是普通的聊天 REPL。它驱动的是真正的 agent 运行时:工具调用、文件编辑、shell、子代理、会话、权限、计划模式,全部在。实现上,它复用与 web UI 相同的 @deepseek-ai/dsh-base 核心——同一个 agent、同一套权限、同一批会话,只是呈现和交互发生在终端里。

核心功能

只列已核实的能力,按交互层次说明:

输出与推理展示

  1. 实时流式输出:回答随模型生成逐 token 渲染。
  2. 推理显示:thinking 块以暗色斜体流式呈现,并支持每轮推理力度控制,如 /model <id> high
  3. Markdown 渲染:围栏代码块、行内代码、粗体、标题、列表。

工具调用可视化

工具调用以框线的 bash 块形式呈现,带生命周期标记(● running → ✓ done / ✖ error)和参数、结果预览,一眼能看到命令在做什么、跑到哪一步。

完整的 agent 能力

  1. agent 可读/编辑文件、运行命令、委派子代理、执行计划。
  2. 会话管理:列出并恢复任意已持久化会话(/resume)。
  3. 权限模式:read-only / workspace-write / danger-full-access,可经 /permissions 实时切换。
  4. 计划模式:/plan 切换先规划后执行。
  5. 压缩会话:/compact 按需收缩对话。
  6. 轨迹查看:/trajectory 显示整个会话的过滤事件时间线。
  7. 诊断:/doctor 做环境与模型目录健康检查。

终端交互细节

  1. 滚动回看:鼠标滚轮 / PgUp / PgDn,带 ↑ N 指示。
  2. 斜杠命令 Tab 补全,/ 翻提示历史,Esc 清空输入行。
  3. 退出方式:/exitqquit:qCtrl+D

界面布局上,顶部显示模型、会话 id 与耗时 / token 计数,底部状态行显示工作目录、stream 开关、轮次等信息,输入行常驻底部。

安装与启用

前提:需要先安装官方 dsh,本插件以插件方式运行在其上。

1、安装官方 DeepSeek Harness(一次性):

npx @deepseek-ai/dsh web --help   # 或: npm i -g @deepseek-ai/dsh

2、创建 tui profile 并添加本插件:

dsh plugin --profile tui add @nexlineai/dsh-tui

3、运行。profile 会在首次使用时初始化:

dsh --profile tui

4、配置模型密钥。凭据来源与 harness 相同,DEEPSEEK_API_KEY 环境变量或 settings.yaml

export DEEPSEEK_API_KEY=sk-...

环境要求:Node >= 20.19.0。

典型用法

切换模型与推理力度——/model 不带参数可列出模型与推理力度档位,当前项标记 ● active;带参数则实时切换:

/model deepseek-v4-pro high

恢复会话——/resume 列出已持久化会话(id、标题、日期),选编号即可带着完整历史继续:

/resume <n>

切换权限预设——/permissions 列出预设,带名称即切换:

/permissions workspace-write

控制展示行为——显示/隐藏思考块、开关实时流式输出:

/reasoning on|off
/stream on|off

其他常用命令:/help 列出全部命令,/settings 一屏汇总模型/权限/计划/流式状态,/version 显示插件与运行时版本,/status 显示会话、工作目录与事件、轮次计数,/clear 清空对话区域,/doctor 做健康检查。

适用场景与注意

适合谁:以终端为主工作环境、偏好键盘优先操作流的人,以及在 SSH 会话或 tmux 这类多路复用器里跑 harness 的场景。官方 dsh 没有交互式终端模式,dsh-tui 以插件形式补上,不需要 fork 运行时。

几点注意:

  1. 平台仅支持 macOS 与 Linux 终端(README 平台徽章为 macOS | Linux),iTerm2、Terminal.app、kitty、alacritty、xterm 等已列入;Windows 终端未列出支持。
  2. 权限模式包含 danger-full-access(完全访问),且可实时切换。实际使用时建议按需降档,避免长期停在完全访问。
  3. 与所有第三方 DSH 插件一样,插件以当前 dsh 进程的权限运行。安装前建议先查看源码与许可证(本项目为 MIT),确认无误再启用。
  4. 该项目与 DeepSeek AI 无隶属关系,其驱动的上游运行时同为 MIT 许可。
  5. 遇到渲染问题时,按项目贡献指南,附上你的终端类型、$TERM,以及 /version/doctor 的输出,便于定位。

结尾

dsh-tui 做的事情很克制:不重造 agent,不另起运行时,只把已有的 web UI 能力原样搬进终端,补上官方 CLI 缺失的交互式形态。如果你日常就在终端里工作,值得一试。

  • 插件目录页:https://www.skillhub.cn/plugins/nexlineai/dsh-tui
  • GitHub 仓库:https://github.com/nexlineai/dsh-tui
羽毛球分组比赛记分
小程序二维码

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

Xiaoye