xgone/dsh-netshell:面向 DeepSeek Harness 的受保护本地与远程 SSH 终端

前言

在 DeepSeek Harness 的开发或运维场景中,直接调用终端执行命令是常见需求,但往往缺乏对命令执行过程的控制。本地直接打开终端会绕过护栏,远程 SSH 连接则需要额外的管理工具。DSH-NetShell 插件解决了这个问题,它为 DSH 提供了一个统一的终端面板,既能管理本地 Shell,也能安全地连接远程服务器,并强制执行命令护栏。

核心能力

  • 本地终端:直接启动当前设备的 bash、sh、PowerShell 或 cmd,无需 SSH 配置。
  • 远程 SSH:管理主机、端口、用户和认证方式,支持多会话并行。
  • 命令护栏:支持 allow(直接执行)、ask(等待确认)、deny(拦截)。
  • 可见执行:人工输入和 AI 执行实时显示在同一个终端面板。
  • 凭据隔离:SSH 密码只进入 DSH 加密凭据库,不进入 AI 消息、工具结果或日志。
  • 命令历史:查看执行、拦截、放行计数和每条命令的裁决记录。

安装与启用

在终端中执行以下命令安装插件:

dsh plugin --profile web add @xgone/dsh-netshell

安装完成后重启 DSH Web,进入 设置 → 终端 即可启用该功能。

使用方法

本地终端使用

  1. 打开主区域的 终端 Tab。
  2. 在左侧 本地终端 行点击 新建。
  3. 输入命令并观察实时输出。

远程服务器连接

  1. 打开 设置 → 终端 → 新增。
  2. 填写名称、主机、端口和用户名。
  3. 选择密码、私钥或 ssh-agent 认证。
  4. 选择权限等级,首次使用建议保持 guarded。
  5. 回到 终端 Tab,在服务器行点击 连接。

AI 工具集成

插件为 AI 提供了两个模型工具:
* netshell_servers:列出服务器档案,不返回密码。
* netshell_run:在指定服务器上执行一条命令。

AI 和人工输入共用同一套 Guard。遇到 deny 命令不会执行,遇到 ask 命令必须由用户在确认卡或终端面板中裁决。

权限控制

通过设置权限等级来控制危险命令执行:
* open:日常使用,除硬拦截规则外直接执行。
* guarded(默认):高风险命令暂停并等待确认。
* locked:只有明确允许的命令可以直接执行。

安全边界与注意事项

  • 安全边界:这是命令操作护栏,不是完整的安全沙箱。它只保护通过本插件终端和 netshell_run 进入的命令;其他插件或通用 Shell 工具建立的 SSH 连接不在拦截范围内。
  • SSH 指纹:保存在插件私有 ~/.dsh/netshell/known_hosts,不影响用户手工 SSH。
  • 密码安全:密码仅用于建立连接,列表、工具返回和日志中不显示密码值。
  • 依赖项:依赖 @deepseek-ai/dsh-tools 和 @deepseek-ai/cordis。

结语

DSH-NetShell 为 DeepSeek Harness 提供了一个集成化的终端管理方案,通过护栏机制和凭据隔离机制,在方便 AI 辅助运维的同时,保留了必要的人工确认环节。如需查看更多细节或提交问题,可访问 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜