dsh-ssh-tui:给跳板机与远程 SSH 用的 DeepSeek Harness 终端

前言

DSH 的理念是「一切皆插件」,社区目录是独立站点,不是官方应用商店。对于经常在公司跳板机、无桌面服务器、高延迟 SSH 会话里使用 DeepSeek Harness 的开发者来说,界面不需要浏览器、鼠标或重量级终端框架,只要能稳定跑在支持 ANSI 的终端里,就够了。

dsh-ssh-tui 面向这类场景:它把模型思考、工具调用、子代理、计划模式、会话状态等信息放进纯终端画面中,适合慢速或远程 SSH 使用。下面介绍它的定位、核心功能、安装方式和需要注意的配置项。

这是什么

dsh-ssh-tui 是一个 DeepSeek Harness 终端插件,维护者是 cyjyyd,许可证为 MIT

它的一句话定位是:给跳板机、无桌面服务器、高延迟 SSH 用的 DeepSeek Harness 终端。

它使用纯终端渲染,无需浏览器、鼠标或重量级终端框架。对于只有键盘的远程会话,它把 DSH 运行过程中的关键信息压缩到终端窗口内展示,而不是要求用户切到浏览器或桌面环境。

核心功能

思考流与回复

  • 模型思考流默认折叠,并显示思考动画。
  • 思考结束后折叠为「已思考」。
  • 已折叠的思考内容可以单独展开。

工作区 Markdown

工作区支持 Markdown 渲染,包括:

  • 多级标题
  • 粗体
  • 斜体
  • 行内代码
  • 代码块
  • 列表
  • 引用
  • 链接

提示词注入卡片

系统提示词、system-reminderAGENTS.md 等注入内容会折叠为卡片,默认收起。

按下 Enter 可以展开看全文。

工具调用展示

工具调用以卡片化方式展示:

  • 编辑工具展示 git 风格 diff。
  • shell 命令、路径和 JSON 参数/结果可读化。
  • 工具调用状态可见,便于在终端里判断哪一步已经完成、哪一步失败。

转录区回看

转录区支持:

  • PgUp / PgDn
  • 鼠标滚轮回看
  • 点击思考或工具标题行展开、收起

底栏状态

底栏显示:

  • 链路芯片
  • 会话数字
  • 活动词
  • 工作目录

会话恢复

历史会话启动选择器可以先选会话再进入。

恢复旧会话时,会切到该会话记录的工作目录。

终端窗口状态

终端窗口标题栏会显示运行状态。

任务完成时,可以响终端铃。这个终端铃可以用 DSH_TUI_NO_BELL=1 关闭。

审批、提问、计划与子代理

dsh-ssh-tui 支持以下交互和状态展示:

  • 审批
  • ask_user_question
  • 计划模式
  • 子代理进度
  • /mode
  • /model
  • /resume
  • /disconnect

每个子代理都是独立可折叠卡片,运行中带旋转动画。

计划模式、待审计划、提问用户也会显示对应卡片和底部提示。

安装与启用

环境要求

使用前需要:

  • Node.js ≥ 22.19
  • DeepSeek Harness CLI
  • pnpm
  • 支持 ANSI 的终端

dsh-ssh-tui 必须在真实终端或 SSH 会话里运行。无 TTY 时,TUI 会直接退出。

安装命令

推荐先确认当前 DSH CLI 可用,然后使用 profile 安装命令:

dsh plugin --profile tui add dsh-ssh-tui@latest

安装完成后启动:

dsh --profile tui

当前 dsh 需要带 --profile。如果写成不带 profile 的插件添加命令,可能会报缺选项。

更新命令

更新时必须带 @latest

dsh plugin --profile tui add dsh-ssh-tui@latest

如果不带 @latest,可能会沿用 pnpm-lock.yaml 中已经钉死的版本。已核实资料中提到,常见情况是 pnpm-lock.yaml 停在 0.3.7,而 package.json 显示版本为 0.4.1

卸载命令

卸载时使用:

dsh plugin --profile tui remove dsh-ssh-tui

典型用法

启动与新建会话

默认启动:

dsh --profile tui

显式新建会话:

dsh --profile tui --new

指定模型:

dsh --profile tui --model deepseek-v4-flash

指定 provider:

dsh --profile tui --provider <id>

关闭颜色:

dsh --profile tui --no-color

恢复历史会话

打开历史会话选择器:

dsh --profile tui --resume

恢复指定会话:

dsh --profile tui --resume <session-id>

选择器可以先选择历史会话再进入。恢复旧会话时,会切到该会话记录的工作目录。

常用按键

  • Esc:取消选择、回底部或取消当前轮次
  • Ctrl+C:中断当前轮次;空闲状态下连按两次退出
  • Ctrl+D:退出
  • Ctrl+L:重绘整个画面

斜杠命令

已核实的斜杠命令包括:

/help
/find
/model
/provider
/language
/view
/disconnect
/submodel
/subeffort
/mode
/resume
/status
/subagents
/usage
/setup
/clear

适用场景与注意

适合谁

适合这些场景:

  • 公司跳板机
  • 无桌面服务器
  • 高延迟 SSH
  • 慢速链路
  • 只依赖键盘和终端的远程会话

如果你的工作环境需要浏览器、鼠标或桌面级布局,这个插件不是主要目标。

会话锁与 Host 进程

同一个 sessionId 不能同时开第二份 Host。

锁文件位置:

$DSH_HOME/tui-locks/

显示通道位置:

$DSH_HOME/tui-socks/

断线策略

默认情况下,断线会暂停当前轮次。

如果希望 Host 在后台继续跑完当前轮次,可以使用:

/disconnect continue

也可以配置:

ssh-tui.disconnect: continue

或者设置环境变量:

DSH_TUI_DISCONNECT=continue

当无显示器且空闲超过 6 小时时,Host 会自行退出。空闲阈值由以下配置控制:

DSH_TUI_DETACHED_IDLE_MS

其他配置

关闭终端铃:

DSH_TUI_NO_BELL=1

关闭启动更新检查:

DSH_TUI_NO_UPDATE_CHECK=1

订阅配套

SuperGrok / X Premium 订阅需要另行安装配套插件:

dsh-llm-xai-oauth

access token 约 1 小时过期。

安装前检查

dsh-ssh-tui 会加入 DSH profile 的依赖,并随当前 DSH 环境启动。由于它可能执行与当前 DSH 进程权限相关的操作,安装前应检查源码和 MIT 许可证,确认版本、依赖和命令行为符合预期。

链接

目录页:

https://dshfind.com/zh/plugins/cyjyyd/dsh-ssh-tui

GitHub 仓库:

https://github.com/cyjyyd/dsh-ssh-tui
羽毛球分组比赛记分
小程序二维码

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

Xiaoye