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

本地终端面板 Daisuki0721/dsh-local-terminal

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

在对话区底部嵌入多会话 zsh 终端并自由分屏

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]!
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
数据截至 2026/09/27·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 80 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

⚠︎ 实装验证未通过(dependency_conflict · 2026/9/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    lib/index.js:19
    if (existsSync(path) && statSync(path).isDirectory()) return path;
  • 读取本地文件
    lib/index.js:19
    if (existsSync(path) && statSync(path).isDirectory()) return path;
  • 读取本地文件
    lib/index.js:38
    if (!existsSync(candidate)) continue;
  • 读取本地文件
    lib/index.js:39
    const mode = statSync(candidate).mode & 511;
  • 写入本地文件
    lib/index.js:40
    if ((mode & 73) === 0) chmodSync(candidate, mode | 493);
  • 启用终端会话(PTY)
    lib/index.js:49
    const child = pty.spawn(shell, ["-l"], {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-host-webserver
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 嵌入多会话zsh终端
  • 自由分屏
  • 对话区底部集成

为 DeepSeek Harness Web UI 打造的 VS Code 风格多会话本地 zsh 终端插件

README

由 DeepSeek 最新模型翻译生成
dsh-local-terminal 为 DeepSeek Harness Web UI 提供 VS Code 风格的本机 zsh 终端。 A VS Code-style local zsh terminal plugin for the DeepSeek Harness web UI. 功能 - 终端嵌入对话区底部,不遮挡聊天内容和输入框。 - 点击 Terminal 展开或收起面板,关闭按钮也可收起;Ctrl+ 快速开关。 - 面板顶边可拖动调整高度,双击恢复默认高度。 - 终端与终端列表之间的竖直分割线可拖动调整宽度,双击恢复默认宽度。 - 支持多个相互独立的 zsh 会话。 - 终端列表支持切换、关闭,以及右键重命名或关闭。 - 终端列表标签页支持上下拖动排序(白色指示条预览插入位置)。 - 面板收起后保留 PTY、输出、滚动位置和进程状态。 - 面板开关、尺寸、会话列表(命名/顺序)与激活标签持久化到 localStorage,刷新页面自动恢复。 - WebSocket 断线自动重连(指数退避);服务端 PTY 断线保留 60 秒并重放断线期间的输出。 - Cmd+V / Ctrl+Shift+V 粘贴;Ctrl+Shift+F 或 Find 按钮在终端内搜索。
展开完整文档(README 剩余 1 节)
dsh-local-terminal

为 DeepSeek Harness Web UI 提供 VS Code 风格的本机 zsh 终端。

A VS Code-style local zsh terminal plugin for the DeepSeek Harness web UI.

功能

- 终端嵌入对话区底部,不遮挡聊天内容和输入框。
- 点击 Terminal 展开或收起面板,关闭按钮也可收起;Ctrl+ 快速开关。
- 面板顶边可拖动调整高度,双击恢复默认高度。
- 终端与终端列表之间的竖直分割线可拖动调整宽度,双击恢复默认宽度。
- 支持多个相互独立的 zsh 会话。
- 终端列表支持切换、关闭,以及右键重命名或关闭。
- 终端列表标签页支持上下拖动排序(白色指示条预览插入位置)。
- 面板收起后保留 PTY、输出、滚动位置和进程状态。
- 面板开关、尺寸、会话列表(命名/顺序)与激活标签持久化到 localStorage,刷新页面自动恢复。
- WebSocket 断线自动重连(指数退避);服务端 PTY 断线保留 60 秒并重放断线期间的输出。
- Cmd+V / Ctrl+Shift+V 粘贴;Ctrl+Shift+F 或 Find 按钮在终端内搜索。
- Cmd+A 全选、Cmd+K 清屏(均提供 Ctrl+Shift+ 别名,不劫持 shell 的 Ctrl+A/Ctrl+K)。
- 终端区域右键菜单:Copy / Copy as HTML / Paste / Select All / Clear / Restart,视口内自动避让。
- 标签右键 Split Terminal 竖向分屏,同一组最多 6 个窗格,全部共享组名(如 zsh 1);侧边栏每组显示为一行并带数量角标。
- 双窗格分割线可拖动(双击复位);3 个及以上窗格等宽排列。点击窗格切换焦点(蓝色描边提示)。
- Join Terminals 把组内窗格拆回独立标签;关闭组会关闭组内全部终端。
- 分屏组、窗格顺序与分割比例随会话状态一起持久化。
- 右键终端列表空白处或空舞台:New Terminal 新建会话、Move Tabs Left/Right 切换标签栏位置、Hide Tabs 隐藏标签栏;布局偏好持久化。
- 面板标题行提供 VS Code 风格的终端选择器(zsh 1 ▾,与 Find/Clear/Restart 并列):点击弹出下拉,列出全部终端组(✓ 当前组)并可直接切换,底部提供 Show Tabs 恢复标签栏。
- 面板高度变化时通知对话视图重新布局,避免虚拟列表裁切滞后。
- 使用 xterm.js、Unicode 11 宽度规则和 Nerd Font 回退字体。

环境要求

- macOS。
- DeepSeek Harness,且已配置 web profile。
- Node.js 22.19 或更高版本。
- 系统存在 /bin/zsh。

插件会启动真实的本机 shell。终端中运行的命令拥有启动 dsh web 的用户权限,请只在可信设备和可信 DSH 插件环境中使用。

安装

从 GitHub 安装到 DSH 的 web profile:

dsh plugin --profile web add github:Daisuki0721/dsh-local-terminal

安装后启动或重启 Web UI:

dsh web

浏览器打开 DSH 页面后,Terminal 按钮会显示在 Agent preset 右侧。

从本地源码安装

git clone https://github.com/Daisuki0721/dsh-local-terminal.git
cd dsh-local-terminal
pnpm install
pnpm build
dsh plugin --profile web add "$PWD"

使用

1. 点击对话区顶部的 Terminal 打开底部面板。
2. 点击工具栏的 + 创建新的 zsh 会话。
3. 点击右侧终端名称切换会话。
4. 右键终端名称进行重命名或关闭。
5. 拖动面板上边界调整高度;双击上边界恢复默认高度。
6. 拖动终端列表左侧的竖直分割线调整列表宽度;双击恢复默认宽度。
7. 再次点击 Terminal 或点击面板右上角的关闭按钮收起面板。

快捷键:Ctrl+ 开关面板;Cmd+V / Ctrl+Shift+V 粘贴;Ctrl+Shift+F 打开搜索(Enter 下一个、Shift+Enter 上一个、Esc 退出);刷新页面后会话列表、命名、顺序与面板尺寸自动恢复,运行中的 shell 会在 60 秒内重连并保留输出。

Clear 只清除当前终端的可见缓冲区;Restart 只重启当前 zsh 会话。

安全设计

后端 WebSocket PTY 路由采用以下限制:

- 只接受 127.0.0.1、localhost 和 IPv6 loopback 请求。
- 校验浏览器请求的 Host、Origin 和同源关系。
- 拒绝浏览器标记为 cross-site 的请求。
- 对 WebSocket 输出设置背压上限。
- 每个 WebSocket 连接对应一个独立 PTY,连接销毁时终止其 shell。

不要把 DSH Web 服务代理到不受信任的公网地址。loopback 校验是本插件安全边界的一部分。

更新

dsh plugin --profile web remove @dsh-external/dsh-local-terminal
dsh plugin --profile web add github:Daisuki0721/dsh-local-terminal

卸载

dsh plugin --profile web remove @dsh-external/dsh-local-terminal

开发

pnpm install
pnpm typecheck
pnpm test
pnpm build

项目结构:

src/index.ts Host 插件入口 src/routes.ts loopback WebSocket upgrade 路由 src/pty-session.ts node-pty 会话管理 src/client/ Web UI、终端列表和布局逻辑 cordis.patch.yml DSH loader 插件声明构建产物位于 lib/。插件仅依赖公开发布的 @deepseek-ai/* SDK,不需要 DeepSeek Harness 源码 checkout。

常见问题

安装后没有出现 Terminal 按钮

确认插件存在于 web profile,然后完整重启 dsh web。单纯刷新浏览器不能加载新的 Host 插件。

License

BSD 3-Clause
预览分享卡片长什么样 ↓Daisuki0721/dsh-local-terminal
分享 · DeepSeek Harness Hub
Daisuki0721/dsh-local-terminal

在对话区底部嵌入多会话 zsh 终端并自由分屏

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部