🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

极速终端 cyberElar/dsh-fast-term

DeepSeek Harness
cyberElar15 天前有提交已提供中文文档扫描:含敏感能力

在右侧边栏打开低延迟终端,按键即时回显

29.6/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add cyberElar/dsh-fast-term
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 17 处,展示前 17 条)
  • 执行外部命令固定命令
    lib/index.js:3440
    raw = execFileSync("reg.exe", ["query", storeKey, "/v", "Path"], {
  • 读取本地文件
    lib/index.js:3483
    if (!existsSync(trimmed)) continue;
  • 读取本地文件
    lib/index.js:3522
    if (existsSync2(candidate)) return candidate;
  • 读取本地文件
    lib/index.js:3543
    return existsSync2(candidate) ? candidate : void 0;
  • 读取本地文件
    lib/index.js:3625
    value = normalizeConfig(JSON.parse(readFileSync(configFilePath(), "utf8")));
  • 写入本地文件
    lib/index.js:3634
    mkdirSync(join(homedir(), ".dsh"), { recursive: true });
  • 写入本地文件
    lib/index.js:3635
    writeFileSync(configFilePath(), JSON.stringify(value, null, 2), { encoding: "utf8", mode: 384 });
  • 写入剪贴板
    lib/client.js:6688
    await navigator.clipboard.writeText(text);
  • 读取剪贴板
    lib/client.js:6698
    const text = await navigator.clipboard.readText();
  • 发起网络请求
    lib/client.js:6958
    void fetch(CONFIG_PATH, { headers: { accept: "application/json" } }).then((response) => response.ok ? response.json() : void 0).then((body) => {
  • 发起网络请求
    lib/client.js:6970
    const response = await fetch(CONFIG_PATH, {
  • 发起网络请求
    lib/client.js:7289
    void fetch(LIST_PATH, { headers: { accept: "application/json" } }).then((response) => response.ok ? response.json() : void 0).then((body) => {
  • 发起网络请求
    lib/client.js:7323
    void fetch(RENAME_PATH, {
  • 发起网络请求
    lib/client.js:7421
    void fetch(CLOSE_PATH, {
  • 发起网络请求
    lib/client.js:7445
    const response = await fetch(SHELLS_PATH, { signal, headers: { accept: "application/json" } });
  • 写入本地文件
    build.mjs:22
    writeFileSync('lib/client.js', wrapped, 'utf8');
  • 写入本地文件
    build.mjs:40
    writeFileSync('lib/index.js', hostText, 'utf8');
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

低延迟终端,装在 DeepSeek Harness 右侧栏:专用 PTY websocket,会话持久保留

README

由 DeepSeek 最新模型翻译生成
dsh-fast-term DSH(DeepSeek Harness)右侧边栏的终端插件。PTY 输出走专用 WebSocket,不经过共享网关与帧确认,可作为自带终端的替代品。 screenshot guide 特性 - 专用 PTY WebSocket,按键回显不排队、不等帧确认 - 右侧栏标签,与自带终端同一槽位;Ctrl + 新建 - 会话保持:切换标签、刷新页面后自动重连并回放,PTY 不退出 - 每个标签独立 PTY;shell 可选并记忆 - 配色、字体、字号跟随 DSH 主题;中英双语 - 复制粘贴、右键菜单、原生粘贴回退 - 桌面版快捷键让行:终端聚焦时单 Ctrl 组合优先发给终端 - 输入权限:默认只读,可解锁外部输入并配置命令白名单 - 脚本与 Agent 接口:只读 HTTP API 和 dsh_fast_term_read 工具 - 可选补丁:隐藏自带终端 UI,完全替代 性能 Windows、隔离 profile 实测: | 场景 | 自带终端 | dsh-fast-term | | 冷启动到提示符(复用已存在 PTY) | 3.1–3.2 s | ~0.12 s | | 空闲按键回显 | 11.7–12.9 ms | 9.9–14.7 ms | | 主线程 75% 合成负载下 | 43–46 ms | 4.8–35.7 ms |
展开完整文档(README 剩余 1 节)
dsh-fast-term

DSH(DeepSeek Harness)右侧边栏的终端插件。PTY 输出走专用 WebSocket,不经过共享网关与帧确认,可作为自带终端的替代品。

screenshot

guide

特性

- 专用 PTY WebSocket,按键回显不排队、不等帧确认
- 右侧栏标签,与自带终端同一槽位;Ctrl + 新建
- 会话保持:切换标签、刷新页面后自动重连并回放,PTY 不退出
- 每个标签独立 PTY;shell 可选并记忆
- 配色、字体、字号跟随 DSH 主题;中英双语
- 复制粘贴、右键菜单、原生粘贴回退
- 桌面版快捷键让行:终端聚焦时单 Ctrl 组合优先发给终端
- 输入权限:默认只读,可解锁外部输入并配置命令白名单
- 脚本与 Agent 接口:只读 HTTP API 和 dsh_fast_term_read 工具
- 可选补丁:隐藏自带终端 UI,完全替代

性能

Windows、隔离 profile 实测:

| 场景 | 自带终端 | dsh-fast-term |
| 冷启动到提示符(复用已存在 PTY) | 3.1–3.2 s | ~0.12 s |
| 空闲按键回显 | 11.7–12.9 ms | 9.9–14.7 ms |
| 主线程 75% 合成负载下 | 43–46 ms | 4.8–35.7 ms |
| 2.99 MB 输出洪水 | 12.8 s | 2.9 s |

安装

要求 DSH 0.2.1-rc.2+(桌面版或 Web)。

dsh plugin --profile desktop add dsh-fast-term

也可以在「设置 → 插件市场」中搜索 dsh-fast-term。本地开发时安装目录:

dsh plugin --profile desktop add "file:<path>"

安装或更新后需要重启 DSH 宿主。file: 依赖是拷贝而非软链,修改 lib/ 后需重新执行 add,或手动覆盖 profile 下的 node_modules/dsh-fast-term/lib/。

使用

1. 打开右侧边栏,点「新建终端」或按 Ctrl +
2. 点标题旁的箭头选择 shell;双击标签名可重命名
3. 关闭标签会结束对应 PTY
4. 点右上角的「只读」胶囊切换输入权限
5. 选中文本后复制;右键打开操作菜单

新终端会从注册表重读系统 Path,安装新的命令行工具后无需重启 DSH。

快捷键

| 操作 | 快捷键 |
| 新建终端 | Ctrl + |
| 复制选中 | Ctrl+C / Ctrl+Shift+C |
| 粘贴 | Ctrl+V |
| 原生粘贴 | Ctrl+Shift+V |
| 发送 SIGINT | Ctrl+C(无选中时) |
| 复制 / 粘贴 / 全选 | 右键菜单 |

桌面版 Windows/macOS:终端获得焦点时,单 Ctrl 组合键(如 tmux 的 Ctrl+B)会直接发送给终端;点击页面其它区域后恢复 DSH 快捷键。

替代自带终端

在 profile 的补丁层(如 ~/.dsh/profiles/desktop/cordis.patch.yml)关闭自带终端 UI:

- id: ui-sidebar-terminal
name: "@deepseek-ai/dsh-client-ui-sidebar-terminal"
disabled: true

重启后「新建终端」入口与终端 UI 由本插件接管。终端服务本身仍在,其它插件的终端不受影响;删除该条目即可恢复并存。

配置

Shell

默认使用 PowerShell(pwsh → Windows PowerShell → ComSpec 依次回退),可在新建时通过下拉菜单选择其它 shell,或用环境变量 DSH_FAST_TERM_SHELL 覆盖。

输入权限

默认只读:只有终端界面自身可以输入。点击「只读」胶囊解锁后,其它 WebSocket 客户端(含 Agent)才能写入;配置命令白名单后,按整行前缀匹配(大小写不敏感),白名单之外的行会被丢弃。

配置保存在 ~/.dsh/fast-term.json,也可通过下方接口读写。

只读接口

宿主提供以下接口,仅接受回环地址并校验 Origin:

| 接口 | 说明 |
| GET /api/dsh-fast-term/list | 终端列表:id / title / shell / pid / exited |
| GET /api/dsh-fast-term/buffer?id=<id>&tail=8000&plain=1 | 输出缓冲尾部;plain=0 返回带 ANSI 转义的原始流 |
| GET /api/dsh-fast-term/screen?id=<id>&cols=120&rows=40 | 重放一帧可见画面,返回按行文本,适合全屏 TUI |
| GET /api/dsh-fast-term/config | 读取输入权限配置 |
| POST /api/dsh-fast-term/config | 修改输入权限配置 |

curl "http://127.0.0.1:PORT/api/dsh-fast-term/list"
curl "http://127.0.0.1:PORT/api/dsh-fast-term/screen?id=<id>&cols=120&rows=40"
buffer 不做光标重绘还原,逐键重绘的程序可能留下重复片段;需要查看全屏 TUI 时用 screen。缓冲超过 4 MiB 后最旧输出会被丢弃,响应中的 truncated 会标记。

智能体工具

宿主注册 dsh_fast_term_read,智能体在任意沙箱权限档下都可以读取边栏终端:

| 参数 | 说明 |
| list | 只列出终端 |
| id | 终端 id,省略时取最近打开的一个 |
| tail | 返回末尾字符数,默认 8000(200–200000) |
| screen | 按 120×40 屏幕行渲染 |

工具只读,不会写入 PTY。需要智能体输入时,先在界面中解锁「可输入」。

安全

- 仅接受回环地址(127.0.0.1 / ::1 / ::ffff:127.0.0.1),并校验 Origin
- 桌面版从 __DSH_TRANSPORT__.streamBaseUrl 解析宿主地址,只连接回环
- PTY 以当前用户身份运行,无额外沙箱,与系统终端一致;不要在不可信页面同源环境中暴露端口

兼容性

- 在 DSH 0.2.1-rc.2 上验证,依赖 sidebarRightTabs 与右侧栏标签槽位
- Windows 优先支持;POSIX 使用 $SHELL -l
- 重连快照上限 4 MiB
- 标签重命名保存在宿主内存,重启 DSH 后恢复为 shell 名
- 剪贴板权限受限时复制会提示失败;粘贴可用 Ctrl+Shift+V
- 快捷键让行仅桌面版 Windows/macOS,且仅限单 Ctrl 组合
- 替代自带终端依赖 ui-sidebar-terminal bundle id,DSH 升级改名后补丁会失效

开发

npm install
node build.mjs
node --check lib/index.js
dsh plugin --profile web add "file:<path>"

发布由 GitHub Actions 在 GitHub Release 发布时通过 OIDC trusted publishing 完成。

dsh-fast-term is a terminal plugin for DSH's right sidebar. It streams a real PTY over a dedicated WebSocket instead of the shared gateway multiplexer, and can replace the built-in terminal.

It supports persistent sessions, per-tab PTYs with a shell picker, theme and zh/en localization, copy/paste with a context menu, and focus-based shortcut passthrough on Desktop (plain Ctrl combos reach the terminal while it is focused). Read-only HTTP endpoints and the dsh_fast_term_read agent tool expose terminal state to scripts and agents.

dsh plugin --profile desktop add dsh-fast-term

反馈

- 问题与建议:GitHub Issues
- 更新记录:GitHub Releases

License

MIT
预览分享卡片长什么样 ↓cyberElar/dsh-fast-term
分享 · DeepSeek Harness Hub
cyberElar/dsh-fast-term

在右侧边栏打开低延迟终端,按键即时回显

这是你的仓库?认领条目

回到顶部