DeepSeek Harness 交互式终端包:dsh-tui

前言

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 服务和代理预设列表。

核心功能

  1. 独立终端交互:提供独立的交互式终端界面,不包含 DSH 核心模块的副本。
  2. 终端集成:通过 OSC 序列进行终端集成,支持窗口标题更新和状态通知。
  3. Web Host 支持:支持本地和远程 Web Host,也可在无 Web Host 的情况下独立运行。
  4. 会话管理:支持持久化会话管理,可通过 ID 恢复或继续会话。
  5. 文件引用索引:支持 @file 提及的文件引用索引,便于在对话中引用本地文件。
  6. 模糊搜索选择器:内置带模糊搜索的模型、会话和设置选择器,无需滚动即可快速定位。
  7. 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 或兼容主机。
  • 网络限制:纯 HTTP 仅限于 localhost、*.localhost、127.0.0.0/8 和 [::1]。其他 Host 必须使用 HTTPS。
  • 终端兼容性:OSC 终端通知没有通用的跨终端标准,不支持该标准的终端会忽略相关序列。
  • 互斥参数:
    • --resume 和 --continue 互斥。
    • --connect 和 --standalone 互斥。

结语

dsh-tui 为 DeepSeek Harness 提供了原生的终端交互能力,支持会话持久化和文件引用索引。对于需要在命令行环境中进行智能体开发的用户,这是一个直接、独立的解决方案。

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

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

小夜