dsh-terminal-plugin:DeepSeek Harness 的 VS Code 风格终端面板

DeepSeek Harness (DSH) 采用插件化架构。在使用 Web profile 时,除了对话界面,开发者往往缺乏一个方便的本地命令执行环境。dsh-terminal-plugin 为 DSH Web GUI 提供了一个位于底部的终端面板,复刻了 VS Code 集成终端的交互体验。

核心功能

这个插件在 DSH Web GUI 的中间对话区域下方提供了一个终端面板。它具备以下特性:

  • VS Code 风格的交互:支持多终端标签,使用真实 PTY,支持颜色、光标控制以及 vim、python、top 等交互程序。
  • 非侵入式布局:终端面板仅占据中间区域,不会挤压左右侧边栏。
  • 会话保持:刷新页面后,终端仍会保留,并回放近期输出。
  • 链接与路径处理:输出中的 URL 和文件路径支持 Ctrl / Cmd + 点击打开(仅支持 http/https/ftp)。
  • 右键菜单:按 VS Code 习惯,有选中内容时右键复制,无选中内容时右键粘贴。

安装与启用

确保本地环境满足 Node.js 20 或更高版本,且可通过 npx 运行带 Web profile 的 @deepseek-ai/dsh。

使用 DSH CLI 将插件添加到 Web profile:

npx @deepseek-ai/dsh plugin --profile web add /path/to/dsh-terminal-plugin

安装完成后,重启 dsh web 或刷新浏览器页面即可生效。

使用方式

  1. 打开面板:按 `Ctrl+``(反引号键)打开或收起终端面板。
  2. 新建标签:按 Ctrl+Shift+\`` 创建新终端标签,或在工具栏点击+`。
  3. 点击链接:在终端输出中,按住 Ctrl(macOS 为 Cmd)点击 URL 或文件路径。出于安全考虑,仅支持 http、https、ftp 协议的链接。
  4. 右键操作:终端区域的右键菜单由插件接管,行为与 VS Code 集成终端一致。

配置

插件支持通过配置项调整行为。常用配置项包括:

  • mountPrefix:插件 HTTP 与 WebSocket 路径前缀,默认为 /dsh-terminal。
  • shellPath / shellArgs:Shell 路径与启动参数,默认自动探测。
  • cwd:新终端的工作目录,默认为当前会话所属工作区。
  • rows / cols:终端初始尺寸,默认 24 / 80。
  • scrollbackBytes:输出回放保留的字节数,默认 262144。
  • maxTerminals:同时存在的终端上限,默认 20。
  • idleCloseAfterMs:无人连接多久后关闭,0 表示不自动关闭。

注意事项与限制

  • 权限与安全:终端运行在 DSH 宿主进程中,拥有相应的系统权限。出于安全考虑,如果缺少认证能力,插件仅接受回环地址请求。
  • 拖动限制:拖动面板高度不会调整已运行 PTY 的行列数;新建终端会采用当时的尺寸。
  • 链接限制:被终端折行的长 URL 不会跨行拼接;相对路径不会被识别为链接。
  • 并发限制:同一终端在多个浏览器连接中同时打开时,输入会共享。

结语

这个插件为 DSH Web profile 用户提供了原生的命令行操作能力,弥补了纯 Web 界面在调试时的不足。你可以通过 SkillHub 插件目录 查看详情,或在 GitHub 上查看源码与文档。

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

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

小夜