🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

Elinpf/dsh-ops-plugins

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
需源码安装

面向运维场景的 DeepSeek Harnessdsh插件集:把 dsh agent 变成生产事件排查员——按名字解析…

暂不能直接安装(需源码编译或环境不满足):缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。 · 最近上游提交 2026/9/18 · 已提供中文文档
综合分
30.3
GitHub 分
30.3
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Elinpf/dsh-ops-plugins
缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
是什么
dsh 原生插件 · other
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 7 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/24
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-ops-plugins(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 08:33:51

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dsh-ops-plugins

面向运维场景的 DeepSeek Harness(dsh)插件集:把 dsh agent 变成生产事件排查员——按名字解析 kubectl / ceph / ssh 凭证、对集群执行只读命令、把排查过程组织成树。

以单个 npm 包 @elinpf/dsh-ops 安装,颗粒化的 @elinpf/dsh-ops- 包作为依赖整体带入,锁步版本发布。

特性

- 凭证只登记路径,agent 只见档案名——密钥不进入模型上下文
- 默认只读;读写需按会话授权、人工审批,全程留审计日志
- 工具输出真实,敏感路径在到达模型前擦除
- trace 工具把排查组织成树,web UI 以 git-graph 风格渲染
- 环境清单扫描,agent 基于「实际存在什么」推理
- 系统提示词只注入几行方法论,完整文档按需拉取

环境要求

- DeepSeek Harness ≥ 0.1.0-rc(已在 0.1.0-rc、0.1.1-rc.2、0.1.5-rc.2 验证)
- pnpm ≥ 10
- 宿主机上有 kubectl 且集群网络可达;ceph / ssh 按需;使用密码登录的 ssh 档案(网络设备等)还需要 sshpass

安装

1. 安装插件包(依赖与宿主层行自动挂载):

dsh plugin --profile ops add @elinpf/dsh-ops

2. 需要 web UI 时,编辑 ~/.dsh/profiles/ops/package.json,把 web 宿主加进 bundles:

"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"@elinpf/dsh-ops"
]
}
}

@deepseek-ai/dsh-web-app 随 dsh 安装解析,不能用 dsh plugin add 安装。

安装报 minimumReleaseAge 错误时,在 profile 的 pnpm-workspace.yaml 加排除项——用纯名字模式 @elinpf/,不带版本号,升级时无需再改:

minimumReleaseAgeExclude:
- '@elinpf/*'

部署

1. 落盘 ops 预设:

npx @elinpf/dsh-ops preset install --agents-home ~/.dsh

harness 从 ~/.dsh/.agent-presets/ 发现用户预设;不带 --agents-home 会装到 ~/.agents,静默失效。

2. 编辑 ~/.dsh/profiles/ops/cordis.patch.yml,把顶层数组改为:

- id: agent-presets
config:
default: ops
- id: session-reference
disabled: true

3. 启动(--no-open 不自动开浏览器;参数同 dsh web):

dsh --profile ops --no-open

4. 登记凭证到 ~/.dsh-ops/access.yaml——只存路径和连接参数,不存密钥。list_access 带 help: true 可拉取格式文档,也可用 web 管理界面登记。

验证:

dsh --profile ops --dump-config | grep -A4 'id: agent-presets'      # default 应为 ops
dsh --profile ops --dump-config | grep -A2 'id: session-reference'  # 应带 disabled: true

然后 web UI 开一个 ops 会话:list_access 列出档案、kubectl 正确解析、trace 面板渲染、rw 凭证触发审批。

集中凭证平台 access-hub(可选)

默认凭证存在 dsh 宿主机的本地 YAML 注册表里。需要集中管理——一处登记、轮换、审计——可以跑 @elinpf/dsh-ops-access-hub:一个独立部署的服务(不是 dsh 插件),全部凭证存于单一 AES-256-GCM 加密文档,对外提供 token 认证的小型 HTTP API 和内置 Web 界面。

1. 启动 hub:

npx @elinpf/dsh-ops-access-hub serve

参数(flag / 环境变量 / 默认):--port / ACCESS_HUB_PORT / 3090;--host / ACCESS_HUB_HOST / 127.0.0.1;--data-dir / ACCESS_HUB_DATA_DIR / ~/.dsh-ops-hub;--key-file / ACCESS_HUB_KEY_FILE / /hub.key;--admin-token / ACCESS_HUB_ADMIN_TOKEN 与 --read-token / ACCESS_HUB_READ_TOKEN / 未配置时首启生成并打印一次。master key 来自 ACCESS_HUB_KEY(base64/hex)或 key 文件(自动生成,0600)。

2. 把现有 YAML 注册表迁入 hub(路径形态的字段值会替换为文件内容):

npx @elinpf/dsh-ops-access-hub import ~/.dsh-ops/access.yaml \
--url http://127.0.0.1:3090 --admin-token

离线方式:用 --data-dir  替代 --url,直接写 hub 的数据文件。

3. 通过 dsh 服务的进程环境变量把 ops-access 指向 hub——这是升级不丢的接缝。access core 在 agent preset 面:profile 的 cordis.patch.yml 只能打 host 面的补丁,而落盘的 preset 文件(~/.dsh/.agent-presets/ops/agent.cordis.yml)每次 preset install 都会被重写。systemd 场景:

/etc/systemd/system/.service
Environment=ACCESS_HUB_URL=http://127.0.0.1:3090
Environment=ACCESS_HUB_READ_TOKEN=
Environment=ACCESS_HUB_ADMIN_TOKEN=

只设 ACCESS_HUB_URL 即切换到 hub 模式;token 本就支持环境变量兜底。preset 条目里显式写的 source/hubUrl 优先级高于环境变量(临时实验可用,但 preset install 后会被冲掉)。

改完重启服务。文件字段内容在 resolve 时按需从 hub 拉取并物化到 ~/.dsh-ops/hub-cache 下的 TTL 缓存文件(0600,过期与启动时清扫);profile 仍只携路径,访问门、能力探针、管理 UI、各工具的行为与 YAML 模式完全一致。

安全提示:v1 是明文 HTTP——保持默认的 loopback 绑定,或把 hub 放在 TLS 反向代理之后。hub 是单点:数据文件和 master key 都要备份。本地 YAML 模式随时可切回作为回退。

交给 Agent 安装

在任意 dsh 会话里把下面这段发给 agent,让它替你完成安装与部署:

阅读 https://github.com/Elinpf/dsh-ops-plugins 的 README.zh.md,
把 @elinpf/dsh-ops 插件集安装部署到 ops profile,
完成后按 README 里的验证步骤确认。

更新

dsh plugin --profile ops add @elinpf/dsh-ops@latest
npx @elinpf/dsh-ops@latest preset install --agents-home ~/.dsh   # 预设是落盘文件,必须重新拷
dsh --profile ops --no-open                                       # 重启

用 add @latest 而不是 update——update 不跨 minor。预设不随包更新自动刷新,必须重新落盘。

卸载

1. 移除预设:

npx @elinpf/dsh-ops preset remove --agents-home ~/.dsh

2. 移除插件包:

dsh plugin --profile ops remove @elinpf/dsh-ops

3. 重启 profile:

dsh --profile ops --no-open

4. 按需删除 ~/.dsh-ops/——凭证登记表、环境清单、被引用的凭证文件。

卸载不影响集群:凭证只是对自有文件的只读引用。

安全

- 密钥不进入服务、日志、错误信息或模型上下文
- 访问门的威胁模型是「防误操作,不防恶意」
- 设计决策见 docs/adr/;领域词汇表见 CONTEXT.md

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(Elinpf)的其他插件

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群