dsh-stool-plugin

August 27, 2026 · View on GitHub

DSH 运维工具箱插件。将 stool 运维 CLI 的全部能力注册为 DSH 模型可调用的工具,无需手动操作即可让 Agent 自动执行服务器管理、日志搜索、数据库查询、CI/CD 部署等操作。

安装

dsh plugin --profile web add github:fufengyuan/dsh-stool-plugin

然后重启 dsh web:

```bash
launchctl kickstart -k gui/501/com.duormi.dsh-web

提供的工具

工具操作说明
stool_serverlist / exec / health / diagnose / read / ls / java-ps服务器管理
stool_dblist / query / redis数据库管理
stool_loglist / search / tail日志搜索与查看
stool_cicdlist / deploy / historyCI/CD 部署管理
stool_mfalist / code双因子认证码
stool_gitstatus / log / branches / pull / pushGit 仓库操作
stool_notelist / add / search笔记管理
stool_todolist / add / complete / stats待办任务
stool_miscaccounting / weekly / audit / project / nginx其他工具

设置页

设置 → 插件 → 🧰 Stool 运维工具箱 卡片会自动检测本机是否已安装 stool:

  • 已安装:显示可执行文件路径与 stool version 版本号,不再展示下载引导;
  • 未安装:显示 SuperTool 仓库链接与下载说明;
  • 取不到结果(接口不可用等):标记为「状态未知」并保守保留下载引导。

检测由 Host 侧完成(浏览器不能起进程),卡片通过只读接口 GET /stool/status 获取结果:仅应答同源回环请求,返回 { installed, path, version, checkedAt },结果缓存 30 秒,?refresh=1 强制重新探测。卡片折叠时头部也有状态角标,收起再展开即触发一次重新检测。

目录结构

dsh-stool-plugin/
├── package.json          # 包配置
├── cordis.patch.yml      # Cordis 插件注册行
├── .gitignore
├── README.md
├── lib/
│   ├── index.js          # Host 端:9 个工具注册 + stool 探测接口 /stool/status
│   └── client.js         # Client 端:设置页面卡片(自动检测 stool)
└── node_modules/
    └── @deepseek-ai/
        └── dsh-tools     # peerDependency 符号链接

依赖

  • @deepseek-ai/cordis ^4.0.1(peer)
  • @deepseek-ai/dsh-tools ^0.1.0-rc.6(peer)
  • stool CLI(需在宿主机上安装;除 PATH 外还会扫 /usr/local/bin/opt/homebrew/bin~/.local/bin 等常见目录,因为 launchd 拉起的 dsh web 进程 PATH 往往不全)

从源码构建

cd ~/.dsh/plugin-src/dsh-stool-plugin
npm install                 # 安装 peerDependencies
# 或
ln -sf /path/to/dsh-tools  node_modules/@deepseek-ai/dsh-tools

License

MIT