mervyn-teo/dsh-plugin-terminal ↗★ 1
dsh-plugin-terminal
DSH Web plugin: a real PTY terminal in a VS Code-style collapsible footer panel (host PTY + WebSocket + xterm.js)
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:mervyn-teo/dsh-plugin-terminal说明文档
阅读完整 README ↗dsh-plugin-terminal
English | 中文
一个 DeepSeek Harness(DSH)Web
插件:在页脚添加一个 真实 的交互式终端 —— 一个 VS Code 风格的、停靠在底部
的可折叠面板。与早期版本(用内置 help/echo/ls 命令伪造输出)不同,本插件
在 PTY 中运行真正的 shell,并把原始终端字节流传输到浏览器。它是一个持久化的
bundle 插件(Host 半边 + 浏览器半边),每次启动都会自动加载。
演示

功能
- 真实终端 —— 在 PTY 中运行真正的交互式 shell(默认
/bin/bash),底层使用 DSH 的subprocess.spawnTerminal原语(node-pty)。 - 完整终端渲染 —— xterm.js 渲染 ANSI 颜色、光标移动、全屏应用
(
vim、htop、top…)以及 256 色输出。 - VS Code 风格页脚面板 —— 可折叠的底部面板,带标题栏、顶部拖拽调整大小、 重启按钮与折叠开关。
- 键盘快捷键 —— `Ctrl+
切换面板(VS Code 默认快捷键)。 - 实时调整大小 —— 调整面板时 PTY 会重新换行。
- Terminal 配置卡片 —— 在 设置 → 插件 中实时配置主题、字号、面板高度、 不透明度、启动折叠、shell 与工作目录。
- 优雅降级 —— 当 xterm.js 无法加载时(离线),纯文本流式视图仍能使用真实 shell。
文件
| 文件 | 用途 |
|---|---|
lib/index.js | Host 半边 —— 创建 PTY 并通过 /api/terminal WebSocket 桥接。 |
lib/client.js | 浏览器半边 —— 页脚面板与配置卡片。 |
cordis.patch.yml | 插入插件行的组合补丁。 |
package.json | 包元数据(dsh.bundle + dsh.client 清单)。 |
安装
dsh plugin --profile web add github:mervyn-teo/dsh-plugin-terminal
然后重启 dsh web —— Host bundle 在启动时加载。
默认配置在 cordis.patch.yml。可在那里(或 profile 自带的 cordis.patch.yml)
修改后重启,或在运行时通过配置卡片调整。Host 半边提供两个同源路由供浏览器半边
使用: 与 WebSocket 升级。
