dsh-plugin-terminal
by mervyn-teo
DeepSeek Harness Web 插件:VS Code 风格可折叠底栏里的真实 PTY 终端
DeepSeek Harness Web plugin: a real PTY terminal in a VS Code-style collapsible footer panel
安装
dsh plugin --profile web add github:mervyn-teo/dsh-plugin-terminalGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
English | 中文
一个 DeepSeek Harness(DSH)Web
插件:在页脚添加一个 真实 的交互式终端 —— 一个 VS Code 风格的、停靠在底部
的可折叠面板。与早期版本(用内置 help/echo/ls 命令伪造输出)不同,本插件
在 PTY 中运行真正的 shell,并把原始终端字节流传输到浏览器。它是一个持久化的
bundle 插件(Host 半边 + 浏览器半边),每次启动都会自动加载。
演示
功能
- 真实终端 —— 在 PTY 中运行真正的交互式 shell(Windows 默认 PowerShell,
其他平台默认
$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 半边提供两个同源路由供浏览器半边
使用:GET|POST /api/terminal/config 与 /api/terminal WebSocket 升级。
依赖
- DSH 需要挂载
subprocess与webServer服务。 - 终端首次渲染 xterm.js 时需要能访问 jsDelivr(纯文本降级视图无需网络)。
设置
设置 → 插件 → Terminal 提供:
| 设置 | 说明 |
|---|---|
| 主题 | dark 或 light 终端主题(实时生效)。 |
| 字号 | 终端字号(像素,实时生效)。 |
| 最大高度 | 面板最大高度(像素)。 |
| 不透明度 | 终端背景不透明度 0–100%(100 = 完全不透明)。 |
| 启动折叠 | 面板是否在启动时折叠。 |
| Shell | 新会话使用的 shell 可执行文件。 |
| 工作目录 | 新会话的默认目录(留空 = 主目录)。 |
Shell 与工作目录在下次打开终端时生效;主题、不透明度、字号与最大高度立即生效。
说明与限制
- 终端从 jsDelivr CDN 加载 xterm.js;首次展开需要网络访问。纯文本降级视图离线 仍可用。
- 会话是进程本地的,重启 DSH 后不会恢复。
- 与 Web GUI 的其他部分一样,WebSocket 路由仅绑定回环地址。
- Windows —— Windows 上默认 shell 为
powershell.exe(将shell设为cmd.exe、shellArgs设为[]可切换为命令提示符)。需要 DSH 主机提供为 Windows 构建的node-pty(conpty/winpty)。
许可证
原始 README: https://github.com/mervyn-teo/dsh-plugin-terminal/blob/main/README.zh.md ↗
同类插件
查看全部 →
k8e
k8e.sh — 开源 Agentic AI 沙箱矩阵

hol-guard
开源AI代理防病毒:运行时拦截风险工具、秘密访问、提示注入、恶意软件包、MCP服务器、插件和技能。

anolisa
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture):具备运行时、安全性、可观测性和 Tokenless 响应压缩能力的 Agentic OS,可降低 Token 使用量与成本。

mobius
首个自我演进的开源 Agent OS:连接你的团队、AI agent、设备与算力

deepseek-harness-desktop
DeepSeek Harness Tauri 桌面版 | Only 5mb installer, zero environment setup. Windows / macOS / Linux.

open-managed-agents
开源Claude管理代理API实现和自托管Claude标签式代理运行时。即插即用;在Cloudflare Workers/Durable Objects或Node.js上运行。Apache 2.0。