DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Plugin Komari — DeepSeek Harness 插件(DSH Plugin)
← Plugins
P

@huanlin/dsh-plugin-komari

Plugin Komari

DSH 插件:向模型暴露 Komari 监控面板工具(列出服务器、执行远程命令),并在设置页提供用于配置端点、用户名和密码的卡片。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:HuanLinOTO/dsh-plugin-komari#12fb4a537f7894ad2f5d099af51200e000ac1319
README兼容性版本

兼容性与来源证明

Plugin Komari 以 @huanlin/dsh-plugin-komari 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/18

版本

0.1.0stable
2026/10/18

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/18
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Experimental Inspector@deepseek-ai/dsh-experimental-inspector用于 Host 调试和 Client Runtime 检查的实验性跨 realm CDP hub

README

dsh-plugin-komari card

dsh-plugin-komari

DSH 插件(bundle 形式):把 Komari 探针面板的能力暴露给模型——列机器(节点清单 + 实时状态)、控制机器(远程执行命令)与传输文件(本机 ↔ 目标机),并在 WebUI 设置页配置面板地址与账号。四个工具经 dsh-plugin-toolsets 注册为一个按需加载的工具集。

DSH plugin (bundle): exposes a Komari monitoring panel to the model — list machines with live status, run shell commands on them, and move files between this machine and them — configured from the WebUI settings page. Tools ship as one lazily-loaded toolset through dsh-plugin-toolsets.

工具集(按需加载)

四个工具注册为名为 komari 的 toolset:平常只占一行目录(名称 + 「什么时候该用」摘要 + 工具数),模型判断需要时调用全局 get_tools({"toolset":"komari"}) 把整组工具加载进当前 agent,下一轮起可用。

  • 依赖 @huanlin/dsh-plugin-toolsets(peer,需已安装,否则本插件的 inject: ['toolsets'] 不满足、不会加载)。
  • 目录行内容即 src/tools.ts 里的 TOOLSET_DESCRIPTION。
  • 子 agent 不继承:子 agent 需自行调用 get_tools。

工具

工具作用
komari_list_nodes列出面板上的机器及其实时状态(在线、CPU%、负载、内存/磁盘/Swap、网络总量、运行时长、连接数、温度、系统、备注)。参数:group(分组精确过滤)、include_offline(默认 true)。
komari_exec在一台或多台机器上执行 shell 命令,返回每台的输出与 exit code。参数:command、nodes(uuid / 精确名称 / 唯一名称子串)、wait_seconds(默认 30,最大 300)。
komari_upload_file把本机(运行 dsh 的机器)的文件传到一台或多台机器。参数:local_path、remote_path、nodes。走面板分片上传协议,单文件上限 8 GiB。
komari_download_file把某台机器上的文件取回本机(流式写盘)。参数:remote_path、node、local_path(缺省写系统临时目录下的 komari-downloads/)。目录不可下载。

komari_upload_file 会覆盖目标路径上已存在的文件,同样需要先确认。

komari_exec 是危险工具:命令经面板 agent 在目标机上以其自身权限执行(多数 Linux 节点即 root,Windows 节点为 agent 服务账户,走 PowerShell)。工具描述已要求模型在执行重启/删除/改配置/批量命令前先说明计划并取得用户明确同意;面板侧也会记录 REC, task id: ... 审计日志。

设置页配置

「设置 → 插件」中找到 @huanlin/dsh-plugin-komari 这一行,展开其配置卡:

字段说明
面板地址如 https://status.example.com;粘贴 /api 或 /api/v1 后缀会被自动去掉,无协议时默认补 https://。
用户名 / 密码面板账号,必须是管理员(远程执行是 admin 权限)。开启 2FA 的账号无法用于本插件(登录接口需要动态 TOTP 码)。
请求超时 (ms)单次面板 HTTP 请求超时,默认 15000。

改完点「保存」即时生效(工具每次调用都读取最新配置,无需重启);点「测试连接」会用当前已保存的配置做一次登录 + 拉取节点,验证地址与账号是否可用。

凭据以明文写入当前 profile 的 cordis.patch.yml 中该 entry 的 config 下——请自行确认该文件的权限。

文件传输备注

  • 上传走面板的四步协议:operation=init(拿 upload_id/分片大小)→ 逐个 operation=chunk(原始字节,Content-Length 必须等于该分片期望长度)→ operation=merge(提交);任一步失败会自动 operation=cancel 清掉半成品。
  • 面板限制:单文件 ≤ 8 GiB,分片 1 MiB–128 MiB(默认 25 MiB),上传会话 15 分钟过期,最多 4 个并发上传(因此多机上传是串行执行的)。
  • 下载是 GET .../file/download?path=<绝对路径> 的二进制流,插件边收边写盘;总时长受「传输超时」约束。
  • 路径风格随目标机:Linux 用 /tmp/...,Windows agent 用 C:\Windows\Temp\...(面板会把它规范化成 /C/Windows/Temp)。

数据可见性与安全

  • 插件以面板管理员会话访问 /api/admin/*。GET /api/admin/client/list 的原始响应里含每台机器的 Agent Token,插件在进入模型之前用显式白名单投影(pickNode/pickLive),只保留状态字段;单元测试 tests/komari.spec.ts 钉死了这一行为。
  • 会话 Cookie 只保存在宿主进程内存中;遇到 401/403 会清掉旧会话、重新登录并重试一次。
  • 密码不写入日志、不回显在工具结果里。

开发

pnpm install
pnpm run build        # tsdown: lib/index.js (host) + lib/client.js (browser half, __ModuleLoader__ 包裹)

结构:

路径职责
src/index.ts入口:name / inject / Config(全部字段 .volatile())/ apply
src/komari.tsKomariClient:登录、Cookie 会话、/api/rpc2、/api/admin/*、字段白名单投影
src/tools.ts四个 defineTool 定义、buildKomariToolset() 与 registerTools()(注册到 ctx.toolsets)
src/transfer.ts本地文件 IO:分片读取上传、流式写盘下载、默认落地路径
src/summary.ts纯函数:节点摘要、引用解析、文本渲染(无 @deepseek-ai/* 依赖,便于单测)
src/rpc.ts宿主 RPC:komari.probe(设置卡「测试连接」)
src/client/*浏览器半:plugins.row.config 配置卡(row key @huanlin/dsh-plugin-komari#dsh-komari)
cordis.patch.ymlbundle 配置层:insert 一行 dsh-komari,config 是首次启动的种子值

约束:lib/ 预构建入库(含 @deepseek-ai/dsh-client-* peer,git 安装时无 prepare);不改 DSH 源码。

运行

# 本地开发(改源码后重新 pnpm run build 即可生效,无需重装)
dsh plugin --profile web add "link:D:/Projects/deepseek-harness/dsh-plugin-komari"

# 从远端安装
dsh plugin --profile web add "github:huanlinoto/dsh-plugin-komari"

装好后重启 dsh web 进程,浏览器硬刷新(Ctrl+Shift+R),再到「设置 → 插件」填上面四个字段。

检查

pnpm run typecheck                              # tsc --noEmit
pnpm test                                       # 40 个单测(mock fetch;含 token 不泄漏回归、分片协议回归、toolset 契约)
pnpm vitest run tests/e2e.komari.spec.ts         # 真实面板 e2e(未设置环境变量时自跳过)

真实面板 e2e 需要:

$env:KOMARI_E2E_ENDPOINT='https://status.example.com'
$env:KOMARI_E2E_USERNAME='admin'
$env:KOMARI_E2E_PASSWORD='...'

它覆盖四条链路:登录 + 列机器、读实时状态、在一台在线机器上执行 echo dsh-komari-e2e、以及文件往返(上传一个小文本文件到在线机器的临时目录 → stat 校验 → 下载回来比对内容 → 删除远端文件)。只跑无害命令与临时文件。

已知限制

  • 面板账号开启 2FA 时无法使用:登录与 admin:exec 都需要动态 TOTP 码。需要这种场景时应改用面板 API Key 认证(当前未实现)。
  • 只覆盖「看机器 + 控制机器 + 传文件」:节点增删改、Ping 任务管理等面板管理写入接口未暴露。
  • 强依赖 @huanlin/dsh-plugin-toolsets:未安装时本插件因 inject 不满足而整体不加载(工具不可见)。