前言¶
DeepSeek Harness (DSH) 采用了模块化插件架构。在终端中直接与 DSH 交互需要特定的集成方案。dsh-tui 提供了一个独立的交互式终端包,通过 OSC 序列进行终端集成,并支持本地或远程 Web Host,无需修改 DSH 核心源码。
这是什么¶
zhangweiii/dsh-tui 是 DeepSeek Harness 的独立交互式终端包,由 zhangweiii 维护。
作为一个自包含的 npm 包,它不修改 DSH 核心源码工作区。在启动时,渲染器会尝试连接到 http://127.0.0.1:3080 的 Web Host;如果该地址不可用,则回退到使用其自身的 InProcessApiClient。该包通过 cordis.patch.yml 为 dsh-base 层叠终端 Host 服务和代理预设列表。
核心功能¶
- 独立终端交互:提供独立的交互式终端界面,不包含 DSH 核心模块的副本。
- 终端集成:通过 OSC 序列进行终端集成,支持窗口标题更新和状态通知。
- Web Host 支持:支持本地和远程 Web Host,也可在无 Web Host 的情况下独立运行。
- 会话管理:支持持久化会话管理,可通过 ID 恢复或继续会话。
- 文件引用索引:支持
@file提及的文件引用索引,便于在对话中引用本地文件。 - 模糊搜索选择器:内置带模糊搜索的模型、会话和设置选择器,无需滚动即可快速定位。
- Markdown 渲染:支持 Markdown 语法高亮和代码折叠。
安装与启用¶
安装该插件需要已安装的 dsh 0.1.1-rc.2 或兼容主机。
1、安装插件:
dsh plugin --profile tui add @zhangweiii/dsh-tui
安装命令会直接从 npm 注册表拉取包(本地检出也可以使用 add .)。安装后,dsh 命令将使用 tui 配置文件初始化,该配置文件默认记录了此包声明的 dsh.bundle。
典型用法¶
安装完成后,使用 --profile tui 启动终端交互:
1、初始化交互:
dsh --profile tui
2、执行初始指令:
dsh --profile tui "explain this repository"
3、继续最近的会话:
dsh --profile tui --continue
4、恢复特定会话:
dsh --profile tui --resume <session-id>
5、指定工作目录:
dsh --profile tui --cwd <path>
6、连接远程 Web Host:
dsh --profile tui --connect http://127.0.0.1:8080
7、独立模式(无 Web Host):
dsh --profile tui --standalone
适用场景与注意¶
- 运行环境:应用需要交互式 TTY。
- 依赖要求:
- 需要 Node.js 版本
^22.19.0 || >=24.0.0。 - 需要 dsh 0.1.1-rc.2 或兼容主机。
- 需要 Node.js 版本
- 网络限制:纯 HTTP 仅限于
localhost、*.localhost、127.0.0.0/8和[::1]。其他 Host 必须使用 HTTPS。 - 终端兼容性:OSC 终端通知没有通用的跨终端标准,不支持该标准的终端会忽略相关序列。
- 互斥参数:
--resume和--continue互斥。--connect和--standalone互斥。
结语¶
dsh-tui 为 DeepSeek Harness 提供了原生的终端交互能力,支持会话持久化和文件引用索引。对于需要在命令行环境中进行智能体开发的用户,这是一个直接、独立的解决方案。