前言¶
在 DeepSeek Harness (DSH) Web 界面中,开发者通常需要更直观的命令行交互能力。官方 UI 目前缺乏原生的终端视图,导致在 Web 环境下进行 Shell 操作时体验受限。Relay DSH Terminal Plugin 通过插件系统,在 DSH Web UI 的底部提供了一个基于 xterm 的终端面板,解决了这一缺失。
插件简介¶
Relay DSH Terminal Plugin 是一个提供程序无关的交互式终端底部视图插件,专为 DeepSeek Harness Workbench 设计。该插件由用户 yangbobo2021 维护,开源协议为 MIT。
它的核心作用是:为官方 DSH Web UI 增加一个基于浏览器的终端显示层,包括有界的历史记录滚动,并提供一个公共的提供程序注册表,用于连接底层的执行后端。
核心功能¶
该插件提供以下能力:
1. 在官方 DSH Web UI 底部添加基于 xterm 的终端面板。
2. 提供浏览器终端显示界面和有界的历史记录滚动。
3. 提供公共的提供程序注册表,用于执行后端。
4. 支持版本化的 ctx.relayTerminalProviders 注册表。
5. 提供提供程序无关的进程启动(spawn)、输入、调整大小(resize)、输出和终止(termination)连接逻辑。
6. 与共享的 Workbench shell 进行组合集成。
安装与启用¶
该插件依赖 Workbench 插件作为容器,安装前需确保 Workbench 已就绪。安装命令如下:
pnpm dlx @deepseek-ai/dsh@0.1.2-rc.1 plugin --profile web add relay-dsh-plugin-workbench@latest relay-dsh-plugin-terminal@latest
安装后,重启 DSH Web 进程以使插件生效。
典型用法¶
- 添加终端面板:通过上述安装命令,DSH Web 将在 Workbench 底部面板中加载 Terminal 视图。
- 配置执行后端:为了启动实时 Shell,需要安装一个兼容的执行后端插件(例如
relay-dsh-plugin-codex)。 - 交互操作:在 DSH Web 的 Workbench 面板中切换到 Terminal 视图,即可开始输入命令。
适用场景与注意¶
适用场景:
- 需要在官方 DSH Web 中添加终端面板的开发者。
- 希望使用兼容插件(如 Codex)作为终端传输通道的用户。
- 需要开发新的后端插件,并通过 ctx.relayTerminalProviders 注册表贡献终端会话的开发者。
注意事项:
- 提供程序依赖:该插件本身不生成 Shell,必须安装另一个插件来注册终端提供程序才能看到实时 Shell。
- 权限配置:如果使用 Codex 提供程序,每个用户操作的终端必须显式请求 sandboxPolicy: { type: "dangerFullAccess" },否则启动失败。
- 安全风险:终端访问等同于 DSH 主机用户的命令执行权限。请仅通过受信任的访问渠道开放此能力,切勿将其暴露为 Agent 工具。
总结¶
Relay DSH Terminal Plugin 通过插件化架构填补了 DSH Web UI 在终端交互上的空白。它通过提供程序无关的设计,使得终端功能可以灵活接入不同的执行后端,为开发者提供了更贴近本地环境的 Web 交互体验。
- GitHub: https://github.com/yangbobo2021/relay-dsh-plugin-terminal
- Catalog: https://www.skillhub.cn/plugins/yangbobo2021/relay-dsh-plugin-terminal