DeepSeek Harness (DSH) 是一个智能体开发框架,插件化是其核心特性之一。在开发或调试过程中,通常需要在浏览器中操作 Web 界面,或在终端中管理 SSH 隧道。dsh-console 插件将 Web 服务管理、SSH 隧道操作以及单次提问功能直接集成到了 DSH 的命令行平面(Slash-Command Plane)中,减少了窗口切换的繁琐。
核心功能¶
该插件由 Isanti2016 维护,提供以下能力:
- 管理 Web 服务:通过命令行启动、停止、重启或查看 DSH Web UI 的状态。
- 管理 SSH 隧道:快速建立 SSH 隧道,将远程服务映射到本地端口。
- 单次提问:使用无头配置文件发送一次请求并获取结果。
- 控制台 TUI:在终端中启动图形化控制台界面。
安装与启用¶
安装该插件需要指定 --profile web,因为它主要服务于 Web 上下文。执行以下命令:
dsh plugin --profile web add dsh-console
安装完成后,重启 dsh web 服务即可使用相关命令。
典型用法与配置¶
零配置状态检查¶
在 cordis.patch.yml 未配置具体参数前,插件提供默认行为。重启 dsh web 后,直接运行以下命令即可查看基础状态:
/web status:检查 Web UI 是否运行(包含端口和 PID)。/tunnel status:检查 SSH 隧道是否已建立。
配置 SSH 隧道¶
若需使用 /tunnel start 启动隧道,必须在 profile 的 cordis.patch.yml 中配置目标主机信息。
- id: dsh-console
config:
tunnelHost: '192.168.1.100' # SSH 服务器地址
tunnelUser: 'root' # SSH 用户名
tunnelKey: 'C:\\Users\\you\\.ssh\\id_rsa' # SSH 私钥路径(可选)
tunnelLocalPort: 3081 # 本地监听端口
tunnelRemotePort: 3080 # 远程转发端口
配置完成后,再次运行 dsh plugin --profile web 并重启,/tunnel start 命令即可生效。插件会执行 ssh -N -L <tunnelLocalPort>:127.0.0.1:<tunnelRemotePort> ... 命令。
配置控制台 TUI¶
若需使用 /console 启动 TUI 界面,需配置启动命令。若 consoleCommand 为空,该命令将被禁用。
- id: dsh-console
config:
consoleCommand: 'python C:\\tools\\dsh-tui\\main.py'
单次提问¶
使用 /ask <问题> 命令运行无头配置文件。结果会通过命令平面渲染,不会进入模型历史记录。该命令受 askTimeout 限制(默认 150 秒),超时会被终止。
安全与注意事项¶
- 进程终止:在 Web Profile 中运行
/web stop或/web restart会终止当前正在提供 UI 服务的进程。 - SSH 密钥:
/tunnel start使用配置的 SSH 密钥进行连接。请仅对可信来源配置密钥。 - 自动检测:
dshBin参数默认为空,插件会自动检测运行进程中的bin.js路径(通过process.argv[1])。若从源码运行,通常无需配置此项。
生态背景¶
DeepSeek Harness 的理念是「一切皆插件」,社区目录(如 SkillHub)与 DeepSeek 官方无从属关系。本文介绍的插件是开发者自主贡献的工具,使用前建议检查源码与许可证。
- 插件目录: https://www.skillhub.cn/plugins/Isanti2016/dsh-console
- 项目地址: https://github.com/Isanti2016/dsh-console