[分享创造] 一个 All In One 的运维工具,支持 SSH、数据库、Redis 管理

平时操作服务器环境,经常要打开好几个工具来回切换,于是做了 OpsKat ,一个 All In One 的运维工具,将用到的需要管理的服务器资产集中起来,再也不用像之前一样,跳来跳去了。

另外还集成了 AI Agent 系统,让运维工作更加轻松。

为什么又造一个轮子

说实话市面上 SSH 工具、数据库客户端、Redis GUI 一抓一大把,但我自己的工作流大概是这样:

  • Tabby 连 SSH
  • DataGrip 看数据库
  • TinyRDM 看 Redis
  • 偶尔还要翻一下 k8s 、grafana 、es 等等

凭据散落在各处,切换窗口能切到怀疑人生。更麻烦的是线上排查问题,经常要 SSH 进跳板机 → 连数据库 → 回 SSH 看日志 → 再去 Redis 看缓存,脑子里要同时维护好几个终端上下文。

OpsKat 就想把这些统一到一个软件里面来,SSH 、MySQL/PostgreSQL/MongoDB 、Redis 、SFTP 巴拉巴拉的全弄进来,而且还做了个 AI Agent ,一句话就可以开始帮我排查问题、运维资产了。

AI Agent 这块是怎么做的

做完基础的资产管理后,发现既然连接池和凭据都在应用里了,接上 AI Agent 就顺理成章。场景大概是:

  • "帮我看一下 web-01 上 nginx 最近的错误日志" → AI 自己 SSH 上去 tail
  • "统计一下 db-prod 里 users 表各 status 的数量" → AI 通过 SSH 隧道执行 SQL
  • "检查一下 k3s 集群健康状况" → AI 自动跑 kubectl 并汇总

当然 AI 操服务器肯定不能乱来,需要做好审计和控制:

  1. 策略组:SSH 命令 / SQL / Redis 都可以配白黑名单,SQL 用 Parser 解析,没带 WHERE 的 DELETE/UPDATE 直接拦掉
  2. 预申请权限:AI 可以一次性申请一批命令的执行权限,用户审批一次后续自动放行,不用每条命令都弹窗
  3. 审计日志:谁在什么时候对哪台机器执行了什么,决策来源全记录

还做了个 CLI 给 Claude Code 用

额外搞了个 opsctl 独立 CLI ,主要给 Claude Code / Codex / Gemini CLI 这类 AI 编程助手用。桌面端一键安装 Skill ,就能让编程助手直接连服务器排查线上问题,复用桌面端的连接池和策略审批。

opsctl exec web-01 -- tail -n 100 /var/log/nginx/error.log
opsctl sql db-prod "SELECT status, COUNT(*) FROM users GROUP BY status"

技术栈

Wails v2 ( Go 1.25 + React 19 ),桌面端跨平台,macOS / Linux / Windows 都支持。数据库用 SQLite ,主密钥塞系统 Keychain 。扩展系统基于 WASM ( wazero ),后续打算把一些非核心资产类型( grafana 等)都做成插件。

链接

欢迎提 Issue / PR ,也欢迎吐槽。如果觉得有点意思或者有帮助,点个 Star 就是对我最大的支持了 🙏