爱意满满的作品展示区。
CodFrm
2.56D

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

  •  2
     
  •   CodFrm ·
    CodFrm · Apr 23 · 7437 views
    This topic created in 50 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    @wktline 我本地是 node 20 ,要多低呢?
    wktline
        20
    wktline  
       5 days ago
    @CodFrm 你的文档里写的 22
    CodFrm
        21
    CodFrm  
    OP
       5 days ago
    @wktline 哦哦,node 20 可以正常使用的,刚刚验证了一下,不过这只是开发环境,用户跑的环境没关系的

    我本地是 node22 (之前搞错了,最近升级了一下 node 版本),文档里面一般都是以我自己的环境为准
    ScotGu
        22
    ScotGu  
       5 days ago
    有计划支持 lrzsz 命令么?频繁使用它来传文件。
    CodFrm
        23
    CodFrm  
    OP
       5 days ago
    @ScotGu 可以,现在已经支持了 SFTP ,支持这个命令成本应该不高,哥哥可以在 GitHub 反馈记录一下
    Mistyrainjn
        24
    Mistyrainjn  
       3 days ago
    看着很不错呢 !
    archxm
        25
    archxm  
       1 day ago
    重量级工具
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3073 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 126ms · UTC 08:39 · PVG 16:39 · LAX 01:39 · JFK 04:39
    ♥ Do have faith in what you're doing.