一个 All In One 的运维工具,支持 SSH、数据库、Redis 管理

4 月 23 日
 CodFrm

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

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

为什么又造一个轮子

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

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

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

AI Agent 这块是怎么做的

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

当然 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 就是对我最大的支持了 🙏

14914 次点击
所在节点    分享创造
57 条回复
xiaofsu
4 月 23 日
看了下 README ,感觉像是很好的项目,
yifeng33
4 月 23 日
工作流和我的很像,不过终端已经从 tabby 切换到 warp 了
Plutooo
4 月 23 日
感觉是个不错的项目,同时也是个站内少见令人不反感的推广,star 支持下载试用一下
duhbbx1119
4 月 23 日
我也搞了一个,不过很多功能目前还有点缺

lele tools
WildLion
4 月 23 日
刚准备说好像在哪见过,果然以前看到过你的帖子
只是不太明白这么样不断发帖是为啥。。是有新的更新么
mcfever
4 月 23 日
你说的是 https://dartshell.com 吧, all in one
CodFrm
4 月 23 日
@WildLion 不同角度发一下,也只发了几次,算不上不断吧,也隔了一段时间

另外最近也是有不少更新,支持了 mongo 和扩展系统,还有很多功能优化
bluebo
4 月 23 日
快捷键 ctrl B ctrl F 别占用啊,vim 里面都不能翻页
bluebo
4 月 23 日
而且修改了 ctrl f --> ctrl + shift + f , 还是没用
CodFrm
4 月 23 日
@bluebo 我修复一下,可以在 github 上提 issue ,处理得还挺及时的

这个快捷键冲突我想一下怎么优化更好
2code
5 月 6 日
看起来不错,我的工作流也很接近
Ansen
5 月 6 日
@CodFrm #10 快捷键可以参考一下 windterm 的, 我用过最舒服的快捷键终端了
CodFrm
5 月 6 日
@Ansen 我看看,可以参考参考
BetterTomorrow
5 月 12 日
看起来不错的样子,不知道能不能代替这些零碎的工具
CodFrm
5 月 12 日
@BetterTomorrow 全部聚合起来 AIO 🐶
byp
6 月 8 日
Wails v2 和 Tauri v2 比怎么样呢?
wktline
6 月 8 日
node 版本看是否能低一些,测试下最低支持版本
weiwenhao
6 月 8 日
正缺这个,我需要跳到跳板机,然后跳板机跳目标机器上操作。warp 不太好用,我甚至找不到怎么 resume 上一次的会话,不小心关掉 ai agent 记忆都全没了。
CodFrm
6 月 8 日
@byp 这是两个不同的技术栈吧,原理感觉差不多,一个 go ,一个 rust ,选自己熟悉的

@wktline 我本地是 node 20 ,要多低呢?
wktline
6 月 8 日
@CodFrm 你的文档里写的 22

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1208061

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX