dsh-tui-pro:面向 DeepSeek Harness 的多会话终端工作台

前言

在 DSH 的插件化扩展方式里,终端客户端不只是包装一个聊天窗口。很多实际任务会同时涉及长期 Assistant、多个项目会话、当前计划、运行状态、模型信息和上下文占用。dsh-tui-pro 就是针对这种场景的一个多会话终端工作台:它把 durable Assistant 和 active project sessions 放进同一个 full-screen TUI,让会话切换、运行控制和上下文查看发生在同一块屏幕里。

这里的插件目录是独立站点,与 DeepSeek / 幻方没有官方从属关系,也不应理解为官方应用商店。dsh-tui-pro 属于社区插件线索里的终端工作台。

这是什么

dsh-tui-pro 是一个面向 DeepSeek Harness 的多会话终端工作台。

  • 仓库与插件名:lk251066/dsh-tui-pro
  • npm 包名:@lk251066/dsh-tui
  • 维护者:lk251066
  • 许可证:MIT
  • 定位:DSH 终端工作台 / 客户端
  • 形态:out-of-tree dsh plugin bundle,包含 cordis.patch.yml profile layer,不是 DeepSeek Harness 的 fork
  • 基础:基于 DeepSeek Harness 的原始 TUI 实现

一句话概括:它让一个 durable Assistant 和若干 active project sessions 在同一个全屏 TUI 中持续可用。

核心功能

持久 Assistant 与项目会话

dsh-tui-pro 把 Assistant 作为一个 durable session 使用,它可以跨启动保留。项目会话则按 workspace 分组,显示在固定 sidebar 中。

Assistant 可以管理 active project sessions,也可以读取这些会话中已完成的 user/assistant dialogue。需要注意的是:hidden reasoning、tool traffic 和 unfinished output 不会跨会话暴露。

全屏 TUI

这个工作台提供 full-screen TUI,内容包括:

  • transcript
  • editor
  • current plan
  • live status
  • model
  • context usage
  • active sessions

这样做的目的是把常用信息放在同一视觉区域,减少在终端输出、状态栏和会话列表之间来回切换。

会话管理命令

常用会话命令包括:

  • /new:在当前项目创建另一个会话
  • /new <path>:为另一个项目创建会话
  • /assistant:返回固定 Assistant
  • /switch:切换 active project session
  • /quit:关闭当前项目会话,保留其历史,并返回 Assistant
  • /sessions:浏览完整历史
  • /exit:关闭 TUI

除了命令,也可以通过 Alt+LeftAlt+Right 或点击 sidebar 切换 active project session。

交互控制

在运行中的 turn 里,dsh-tui-pro 提供了几类控制:

  • Enter:当 turn 正在运行时,发送 immediate steering
  • Tab:queue 下一轮 turn
  • Esc:在 cancellation 前恢复最近一条 queued message
  • 双击 Esc:浏览当前 conversation 的 checkpoints
  • Ctrl+O:切换 tool 和 context body detail
  • Ctrl+R:展开 settled reasoning

这些控制主要服务于运行过程中的转向、排队、恢复和查看细节。

文件补全与图片附件

输入侧支持 workspace 文件补全和剪贴板图片附件:

  • @:补全 workspace files
  • Alt+V:当 selected model 声明支持 image input 时,附加剪贴板图片

剪贴板图片附件在不同系统上有依赖:

  • Windows:使用 PowerShell
  • macOS:需要 pngpaste
  • Linux:需要 wl-pastexclip

记忆控制

Assistant 默认启用 memory。相关命令包括:

  • /memory
  • /memory on
  • /memory off

其中 /memory off 会把 memory 从该 session 的 model context 中移除,但不会删除它。

安装与启用

前置条件

安装和运行前需要满足:

Node.js ^22.19.0 || >=24.0.0
DEEPSEEK_API_KEY
ANSI-capable terminal

DEEPSEEK_API_KEY 需要在仓库外部配置。

使用 dsh CLI 安装

先安装插件及其 profile layer:

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

经过上面的步骤后,可以从任意项目目录启动:

dsh --profile tui

这个包同时包含 TUI 插件和 cordis.patch.yml profile layer,不需要再安装第二个 bundle package。

不安装全局 dsh

如果没有全局 dsh CLI,可以用 npx 走同一个 profile:

npx -y @deepseek-ai/dsh@latest plugin --profile tui add @lk251066/dsh-tui
npx -y @deepseek-ai/dsh@latest --profile tui

典型用法

从项目目录启动

在目标项目目录执行:

dsh --profile tui

启动后,可以先确认当前 Assistant 和当前项目会话是否按预期显示,再进行后续操作。

创建与切换会话

常用流程如下:

1、在当前项目里创建新会话:

/new

2、为另一个项目路径创建会话:

/new /path/to/project

3、回到固定 Assistant:

/assistant

4、切换 active project session:

/switch

也可以使用 Alt+LeftAlt+Right,或者直接点击 sidebar。

关闭与退出

关闭当前项目会话并返回 Assistant:

/quit

/quit 会保留当前项目会话的历史。

浏览完整历史:

/sessions

关闭 TUI:

/exit

控制运行中的对话

如果当前 turn 还在运行:

1、用 Enter 发送 immediate steering。
2、用 Tab queue 下一条 turn。
3、用 Esc 在 cancellation 前恢复最近一条 queued message。

如果需要查看当前 conversation 的 checkpoints,可以双击 Esc

查看工具与推理

  • Ctrl+O:切换 tool 和 context body detail
  • Ctrl+R:展开 settled reasoning

这两个控制适合在工具输出较多、推理内容较多时使用。

使用文件补全和剪贴板图片

在输入处使用 @ 补全 workspace files。

如果 selected model 声明支持 image input,可以使用:

Alt+V

附加剪贴板中的图片。

控制 Assistant memory

查看或切换 memory 状态:

/memory
/memory on
/memory off

/memory off 只影响该 session 的 model context,不会删除 memory。

适用场景与注意

适合谁

dsh-tui-pro 适合以下用户:

  • 希望在一个终端里维护多个项目会话
  • 需要一个长期可用的 Assistant
  • 希望同时看到 transcript、editor、current plan、live status、model 和 context usage
  • 使用 DeepSeek Harness,并希望通过 DSH plugin 扩展终端体验

终端要求

这个 TUI 要求 ANSI-capable terminal。

另外:

  • 当终端 inner columns 低于 65 时,sidebar 会隐藏
  • 建议终端高度至少为 24 rows

权限与安全

dsh-tui-pro 作为 DSH plugin 运行时,会跟随当前 dsh 进程的权限。安装前建议检查源码、依赖和许可证。该项目许可证为 MIT

发布与兼容性

dsh-tui-pro 跟随 developer-preview dsh release line。每个 release 会在发布前经过 source、packed npm artifact、clean public dsh profile 和 real Linux PTY 的检查。

跨会话可见性

Assistant 可以读取 active project sessions 中已完成的 user/assistant dialogue,但 hidden reasoning、tool traffic 和 unfinished output 不会跨会话暴露。

相关链接

  • GitHub:https://github.com/lk251066/dsh-tui-pro
  • 目录页:建议以仓库 README 提供的外部目录入口为准,具体以实际页面信息为准
羽毛球分组比赛记分
小程序二维码

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

小夜