dsh-terminal
Terminal panel for the DSH Web UI: a real PTY shell (cmd.exe by default on Windows) rendered in the browser with xterm.js. Host half spawns shells with node-pty; client half is a browser plugin.
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:giiiiiithub/terminal说明文档
阅读完整 README ↗dsh-terminal
DSH Web UI 的终端面板(Terminal panel)插件,提供真实可交互的 shell 终端:
- 真实 PTY:宿主端用 node-pty 在 DSH 服务进程里拉起 shell(Windows 下走 ConPTY),不是模拟器。
- 平台默认 shell:Windows 默认
cmd.exe(可切换 PowerShell / pwsh / Git Bash),macOS 默认/bin/zsh,Linux 默认/bin/bash;可通过配置或面板里的下拉框切换。 - 浏览器渲染:客户端用 xterm.js(@xterm/xterm 6)渲染,支持全色彩、光标、滚动回看(5000 行)、Ctrl+Shift+C/V 复制粘贴。
- 多标签会话:可以同时打开多个会话标签,折叠面板后会话在宿主端继续运行。
- 停靠/浮动窗口:dock 模式可拖动上边缘调整高度,浮动模式可移动窗口并八向缩放。
- 随项目打开:首个会话默认在工作区目录(第一个 workspace path)启动,找不到时回退到配置目录或用户主目录。
前置条件
- 已安装 DeepSeek Harness,且
dsh web(或dsh --profile web)能正常启动并打开浏览器界面。 - pnpm ≥ 9(DSH 的 profile 使用 pnpm 管理依赖)。
- 插件依赖原生模块 node-pty。若安装时 pnpm(≥ 10)拦截其构建脚本,按提示把
node-pty加入 profile 目录pnpm-workspace.yaml的allowBuilds后重新执行安装命令。
安装
第一步:安装
方式1:npm 源(推荐)
包已发布到 npm registry,一行安装:
dsh plugin --profile web add dsh-terminal
方式2:GitHub 源
dsh plugin --profile web add github:giiiiiithub/terminal
仓库内已提交
lib/构建产物,git 源安装时无需现场构建。
方式3:本地源码(开发调试)
Windows: dsh plugin --profile web add "file:C:/user/abc/terminal",假设本项目源代码在:C:/user/abc/terminalmacOS: dsh plugin --profile web add "file:/opt/dsh-terminal"Linux: dsh plugin --profile web add "file:~/dsh-terminal"
第二步:重启服务
插件含宿主端代码,必须重启 dsh web 进程才会加载:
# 停止当前 dsh web 进程(如 Ctrl+C,或结束 dsh --profile web 的 node 进程),然后:
dsh web
版本 ≥ 0.1.1 起插件自带
dsh.bundle,dsh plugin add会自动把插件登记进 profile 的加载层,无需再手动编辑 。 早期版本(0.1.0)需要手动添加条目,升级后请 profile 里手写的 insert 条目,否则会和 bundle 层自动插入的条目重复。