前言¶
用 DeepSeek Harness(DSH)做智能体开发时,服务器状态、进程异常和部署往往还要切到终端或另开面板。对话在 DSH 里,运维动作却散在外面,上下文容易断。下面介绍社区插件 dsh-devops(npm 包名 @bigbigtooth/dsh-devops):在 DSH Web 侧边栏打开 Remote Operations,在同一界面里管理 SSH 主机、看硬件与进程、让 AI 只读巡检日志,并把 Git 仓库部署到目标机后重启服务。
这是什么¶
dsh-devops 是 DeepSeek Harness 的 Web 插件,维护者为 bigbigtooth,在 SkillHub 目录中归类为 admin-security。README 写明其定位是:不离开聊天视图、也不单独开终端,即可完成远程运维与项目部署。
插件当前 npm 版本为 0.5.0(MIT 许可证)。README 徽章标注在 DSH 0.1.5-rc.2 等版本上做过兼容性验证;安装前请对照你本机 DSH 与 Compatibility 说明。
核心能力¶
服务器管理¶
- 可增删改任意数量的 SSH 服务器;保存前必须完成真实登录测试,需能在无人值守下执行远程命令。
- 首次连接校验并保存主机指纹;指纹变更时会暂停连接。
- 使用插件私有 SSH 配置,与系统、用户级
~/.ssh隔离;支持私钥与跳板机。 - 覆盖 Linux(无发行版白名单)与 macOS;能力不足时会标注 available / limited / unavailable 及原因。
监控与只读 AI 巡检¶
- 硬件:CPU、内存、磁盘占用,可按需采集或定时采集(默认 60s)。
- 进程:无需逐进程配置;枚举运行中进程并按项目、服务分组。AI 批量分析资源与状态异常,指出具体进程与原因,并透明展示分析覆盖率(部分分析不会伪装成「一切正常」)。
- 日志:沿 项目 → 服务 → 日志文件 动态发现来源(例如读取 Supervisor 实际生效配置),增量读取,告警去重;AI 给出级别、摘要与可定位的证据。
- 服务端执行:关闭浏览器不中断巡检;DSH 重启后会恢复巡检计划,不会堆积补偿任务。
README 强调:巡检始终只读——AI 只分析与建议,不会自行修复或重启。该边界由工具权限结构强制,而非仅靠提示词。
项目部署与 deploy loop¶
部署闭环是插件自述的核心:
- 首次 AI 部署:选定 Git 仓库、分支与目标服务器;AI 经 SSH 做环境检查、依赖安装、构建、服务启动与健康校验。
- 脚本固化:成功后,可复用步骤冻结为带版本的
.sh脚本(candidate → verified → invalidated,哈希防篡改),区分一次性环境工作与日常更新。 - 一键更新:后续部署在服务器上执行
git pull --ff-only(仅快进);已冻结步骤跑脚本,未冻结步骤回退 AI;失败时默认经 AI 辅助修复后重试(默认 2 轮)。
其他部署相关行为(来自 README):工作区脏、分支不一致或远程分叉会停止并报告,不会自动覆盖;无危险批量回滚;任务全链路持久化,中断任务需与实际远程状态对齐后才能继续。
安全设计(摘要)¶
- 凭据(密码、私钥、口令)以 AES-256-GCM 加密存储,密钥材料与配置分离。
- 秘密在展示、持久化、进入 AI 上下文前 脱敏;密码不进入命令行、脚本或日志。
- 远程命令经 白名单解析;RPC 走主机已认证通道,API 层用 zod 校验载荷。
- 无安装时脚本、无遥测;插件自身不持有模型 API Key。本地文件读取范围限于数据目录(默认
~/.dsh-devops)及主机存储域dsh_devops,不读~/.ssh与 shell 历史。完整说明见仓库 SAFETY.md。
安装与启用¶
环境要求¶
- 支持
dsh plugin机制的 DSH Web 主机。 - 本机 SSH 客户端能连到目标服务器。
- 在保存任何凭据之前 设置
DSH_DEVOPS_KEY_FILE(见下文「三个常见坑」)。
安装命令¶
预构建包安装,无需在本机编译:
# 推荐:npm,无需构建审批
dsh plugin --profile web add @bigbigtooth/dsh-devops
或使用发布页 tarball:
dsh plugin --profile web add https://github.com/bigbigtooth/DSH-DevOps-Plugin/releases/latest/download/dsh-devops-latest.tgz
安装后 必须重启 DSH 主机——插件 bundle 在启动时加载,plugin add 只写入 manifest:
pkill -f '\.bin/dsh --profile web'
sleep 2
nohup ~/.dsh/tooling/node_modules/.bin/dsh --profile web >> /tmp/dsh-web.log 2>&1 &
重启后,DSH 侧边栏底部(Settings 上方)会出现 Remote Operations;点进运维面板,可随时用「Back to conversation」回到对话。
无头环境可将 --profile web 换为 --profile headless:UI 仅在 web profile 下存在;巡检与部署在两种 profile 下均可工作。
三个常见坑¶
- 先设密钥文件。未设置
DSH_DEVOPS_KEY_FILE时插件使用内存密钥,每次主机重启会重新生成,已存凭据无法解密:
export DSH_DEVOPS_KEY_FILE="$HOME/.dsh-devops/master.key"
密钥文件以 0600 写入;丢失密钥文件无法恢复凭据。
- 同版本重装无效。pnpm 可能从缓存提供相同
file:规格,需先删后加:
dsh plugin --profile web remove @bigbigtooth/dsh-devops
dsh plugin --profile web add @bigbigtooth/dsh-devops
- 记得重启主机(见上)。
典型用法(界面流程)¶
README 未给出独立 CLI 运维子命令;实际操作在 Remote Operations 面板完成,可按下面顺序理解:
- Remote Operations → 添加 SSH 服务器,完成登录测试后保存。
- 查看硬件趋势、进程分组;按需或按计划触发 AI 对进程、日志的只读分析。
- Projects:配置多个项目、仓库与部署目标;SSH、Git 凭据与提权分别配置并校验。
- 首次部署:选仓库、分支与目标机,一键触发 AI 编排部署;成功后步骤可固化为脚本。
- 后续更新:一键更新走
git pull --ff-only与固化脚本 / AI 回退的组合流程。
仓库 docs/images/ 下有服务器总览、硬件监控、进程与项目列表等截图,可与面板对照。
适用场景与注意¶
适合:已在用 DSH Web、需要把 SSH 主机管理、基础监控、只读 AI 巡检和 Git 部署收进同一工作流的开发者或小团队。
注意:
- 插件在 当前 DSH 进程权限 下运行;安装前应阅读 源码与 SAFETY.md,确认许可证(MIT)与本地文件、远程命令边界符合你的安全策略。
- SkillHub(插件目录页)是社区插件索引,与 DeepSeek / 幻方无官方从属关系;「一切皆插件」是 DSH 生态的常见做法,本文介绍的是社区维护的 @bigbigtooth/dsh-devops,而非 DSH 内置能力。
- 部署与巡检会经 SSH 在远程执行命令;只读巡检与可写部署的权限边界以插件工具设计为准,勿假设 AI 会在生产环境自动改配置。
结尾¶
dsh-devops 把 SSH 服务器管理、硬件/进程/日志监控、只读 AI 巡检和 Git→服务器的部署闭环放进 DSH Web,减少在聊天与终端之间来回切换。安装前设好 DSH_DEVOPS_KEY_FILE,用官方 dsh plugin --profile web add 命令安装并重启主机即可启用。