DeepSeek Harness Web 的本地与远程 SSH 终端:提供三级权限,危险 AI 命令需真人确认,凭据加密存储。
安装
# npm 包(预构建)
dsh plugin --profile web add @xgone/dsh-netshell
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:xgone/dsh-netshell
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DSH-NetShell 让你在 DSH 中管理服务器、使用实时终端,并在危险命令执行前保留一个清晰的人工确认点。人工输入和 AI 操作共用同一套命令护栏。
核心能力
| 能力 | 你得到什么 |
|---|---|
| 本地终端 | 直接启动当前设备的 bash、sh、PowerShell 或 cmd,无需 SSH 配置 |
| 远程 SSH | 管理主机、端口、用户和认证方式,多个会话并行运行 |
| 命令护栏 | allow 直接执行、ask 等待确认、deny 直接拦截 |
| 可见执行 | 人工输入和 AI 执行都实时显示在同一个终端面板 |
| 凭据隔离 | SSH 密码只进入 DSH 加密凭据库,不进入 AI 消息、工具结果或日志 |
| 命令历史 | 查看执行、拦截、放行计数和每条命令的裁决记录 |
安装
已发布包:
dsh plugin --profile web add @xgone/dsh-netshell
从本地源码安装:
dsh plugin --profile web add link:/path/to/dsh-netshell
安装后重启 DSH Web,然后打开 设置 → 终端。
快速开始
本地终端
- 打开主区域的 终端 Tab。
- 在左侧 本地终端 行点击 新建。
- 输入命令并观察实时输出。
本地终端不会读取远程服务器档案或 SSH 密码。
远程服务器
- 打开 设置 → 终端 → 新增。
- 填写名称、主机、端口和用户名。
- 选择密码、私钥或
ssh-agent认证。 - 选择权限等级,第一次使用建议保持
guarded。 - 回到 终端 Tab,在服务器行点击 连接。
密码保存后只显示“已设置”,不会再次回显。
危险命令
命令在回车提交时检查:
| 等级 | 行为 |
|---|---|
open |
日常使用;除硬拦截规则外直接执行 |
guarded(默认) |
高风险命令暂停并等待确认 |
locked |
只有明确允许的命令可以直接执行 |
遇到 ask 命令时,选择 执行一次、永久放行该命令 或 拒绝。永久放行只对当前服务器和当前命令文本生效。
界面预览

终端底栏会显示执行、拦截和放行次数;点击 历史 可查看本会话的命令记录。切换到其他 DSH Tab 不会主动断开后台会话。
AI 工具
插件提供两个模型工具:
| 工具 | 用途 |
|---|---|
netshell_servers |
列出服务器档案,不返回密码 |
netshell_run |
在指定服务器上执行一条命令 |
AI 和人工输入共用同一套 Guard。deny 命令不会执行,ask 命令必须由你在 DSH 的确认卡或终端面板中裁决;AI 看不到密码,也不能伪造确认结果。
当前模型会话首次使用某台服务器,或用户手动断开该服务器后再次使用时,netshell_run 会先弹出远程连接确认;确认前不会启动 SSH。确认在当前插件生命周期内按模型会话和服务器分别保留;不同模型会话即使复用同一个 SSH 会话,也必须各自确认。网络故障、SSH 异常退出或连接等待超时只会触发当前模型会话的自动重连,不会再次询问。GUI 中已有的人工连接不会替代模型确认;确认服务不可用时插件会拒绝自动建连。
安全边界
这是命令操作护栏,不是完整的安全沙箱。它只保护通过本插件终端和 netshell_run 进入的命令;其他插件或通用 Shell 工具建立的 SSH 连接不在拦截范围内。对敏感环境建议使用 locked,并审查交互式程序内部执行的操作。
SSH 主机指纹保存在插件私有的 ~/.dsh/netshell/known_hosts,不会写入用户手工 SSH 使用的 ~/.ssh/known_hosts。
文档
常见问题
连接失败怎么办? 检查主机、端口、用户名和认证方式。若提示主机指纹变化,确认服务器确已重装后,再按提示清理插件私有 known_hosts 记录。
密码会被 AI 看到吗? 不会。密码由 Host 侧从 DSH 加密凭据库读取,只用于建立 SSH 连接;列表、工具返回、日志和终端输出都不包含密码值。
链接
同类插件
zhu1090093659/dsh-web#packages/dsh-remote-web-ui★ 8835
手机/PC 远程操控 dsh web 工作区:扫码配对、令牌门控通道、SSE 实时同步,提供移动端与完整桌面 GUI 两种远程形态。
zhu1090093659/dsh-web#packages/dsh-ssh★ 8835
SSH 远程运维面板:Web 终端、SFTP 传输、本地端口转发与一条命令并发集群执行,Agent 与面板共用同一份主机配置。
saya-ch/dsh-mobile★ 479
通过 Android App 或手机浏览器访问 DeepSeek Harness,支持安全局域网连接、远程访问、持久设备配对和可自定义移动界面。
liguobao/ds-harness-remote★ 345
DeepSeek Harness 多端远程访问:从手机、平板、浏览器或另一台电脑继续进行中的会话,端到端加密通道(Noise IK + 自适应 Relay/WebRTC 传输),设备授权管理;远程端仅开放 ApiProxy 能力,支持 dsh-file-viewer 只读文件预览,不提供 Shell、远程桌面或写入权限。
ZSeven-W/dsh-ios★ 326
在对话里直接操作 iOS 模拟器或 USB 连接的 iPhone:22 个 Agent 工具用于启动、构建、按无障碍标识或 OCR 文本驱动 UI、列表行操作与 SwiftUI 预览热重载,并附带可点击拖拽的流式侧边栏面板。
wenbin-wb/dsh-bridge★ 199
DeepSeek Harness 远程与移动端接入插件:提供局域网扫码直连、Cloudflare 与自建公网隧道,以及微信、QQ、飞书、Telegram 机器人交互,内置安全认证与访问控制。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。