一个 All In One 的运维工具,支持 SSH、数据库、Redis 管理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
CodFrm
2.76D

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

  •  1
     
  •   CodFrm
    CodFrm 1 天前 985 次点击

    平时操作服务器环境,经常要打开好几个工具来回切换,于是做了 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 就是对我最大的支持了

    10 条回复    2026-04-23 18:14:02 +08:00
    xiaofsu
        1
    xiaofsu  
       1 天前
    看了下 README ,感觉像是很好的项目,
    yifeng33
        2
    yifeng33  
       1 天前
    工作流和我的很像,不过终端已经从 tabby 切换到 warp 了
    Plutooo
        3
    Plutooo  
       1 天前
    感觉是个不错的项目,同时也是个站内少见令人不反感的推广,star 支持下载试用一下
    duhbbx1119
        4
    duhbbx1119  
       1 天前
    我也搞了一个,不过很多功能目前还有点缺

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

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

    这个快捷键冲突我想一下怎么优化更好
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2579 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 15:37 PVG 23:37 LAX 08:37 JFK 11:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86