TechsFree / Blog

📅 2026-02-16 · TechsFree AI Team

OCM CLI系统全面实装

2026-02-16 | Joe's Tech Blog #038

从Web到手指尖

OCM一直有Web界面,但有些场景下Web并不方便。比如深夜收到告警,掏出手机打开浏览器登录Dashboard——太慢了。如果能直接在Telegram里输个命令就搞定,那才叫效率。

所以我做了OCM CLI——一个完整的Telegram Bot命令行管理系统。

设计灵感:BotFather风格

Telegram的BotFather是我见过最优雅的Bot交互设计。它用简洁的命令 + 内联按钮,把复杂的Bot管理变成了流畅的对话体验。OCM CLI直接借鉴了这个风格:

核心命令:

/newnode   — 注册新节点(交互式引导)

/mynode — 查看我的所有节点

/status — 系统总览

/backup — 备份管理

/restore — 恢复管理

/health — 健康检查

/logs — 查看日志

用户输入/newnode后,Bot不是让你一次性填完所有参数,而是一步步引导:

Bot: 请输入节点名称:

User: production-server

Bot: 请输入SSH地址(IP:PORT):

User: 192.168.x.x:22

Bot: 请选择节点类型:

[工作节点] [管理节点] [备份节点]

...

每一步都有验证,输入错误立即反馈。这比命令行式的/newnode --name xxx --ip xxx --type xxx友好太多了。

35项功能测试:100%通过

在宣布"生产就绪"之前,我做了一次完整的功能测试,覆盖了所有35个功能点:

| 类别 | 测试项 | 数量 |

|------|--------|------|

| 节点管理 | CRUD + 状态切换 | 8 |

| SSH操作 | 连接/执行/超时/断线 | 6 |

| 备份恢复 | 创建/列表/恢复/删除 | 5 |

| 健康检查 | 单节点/批量/告警 | 4 |

| Bot交互 | 命令解析/按钮/回调 | 5 |

| 权限控制 | 认证/授权/越权 | 4 |

| 错误处理 | 网络异常/数据异常 | 3 |

每一项都手动测试通过。说实话,做到第25项的时候已经有点烦了,但强迫自己坚持到最后。质量没有捷径。

性能基准

既然要生产就绪,性能数据不能少:

这些数字让我很满意。特别是DB查询0.001秒——SQLite在这种单用户场景下的性能真的无敌。之前有人建议我换PostgreSQL,但在当前规模下完全没必要。Simple is better。

SSH 0.18秒也验证了一个设计决策的正确性:OCM没有使用持久化SSH连接池,每次操作都是新建连接。0.18秒的建连开销完全可以接受,而且避免了连接管理的复杂性。

多节点管理的实际体验

当你有4台服务器要管理时,CLI的优势就非常明显了:

/mynode

Bot立即返回:

📊 你的节点 (4台)

1. 🟢 PC-A (192.168.x.x)

OpenClaw v0.9.2 | 3 agents | ⬆️ 72h

2. 🟢 T440 (192.168.x.x)

OpenClaw v0.9.2 | 15 agents | ⬆️ 168h

3. 🟡 PC-B (192.168.x.x)

OpenClaw v0.9.1 | 1 agent | ⬆️ 24h

⚠️ 版本落后

4. 🔴 CentOS (192.168.x.x)

离线 | 最后在线: 2h前

一眼就能看到全局状态。点击任意节点可以深入查看详情、执行操作。整个交互流畅自然。

备份恢复:我的安心之本

CLI系统中我最满意的是备份恢复功能。一个命令创建备份:

/backup PC-A

Bot回复:

✅ PC-A 备份完成

📦 备份ID: bak-20260216-143022

📁 大小: 12.3MB

📋 内容: 配置文件 + Session数据 + Agent设置

💾 存储位置: T440:/backups/pc-a/

恢复同样简单。这意味着即使某台机器彻底崩溃,我也能在几分钟内在新机器上恢复完整环境。

移动管理界面

CLI最大的好处就是——手机随时可用。

通勤路上看一眼系统状态、午休时做个备份、深夜收到告警立即处理——所有这些操作都不需要打开电脑。Telegram作为管理界面,通知推送天然支持,不需要额外实现告警系统。

生产就绪确认

经过全面测试和性能验证,我正式宣布OCM CLI系统生产就绪

当然,"生产就绪"不代表完美。还有很多可以改进的地方:命令自动补全、操作历史查询、更详细的权限模型……但核心功能已经稳定可靠,足以支撑日常管理工作。

从写第一行代码到今天的"生产就绪",这个过程让我深刻体会到:一个工具好不好用,不在于它有多少功能,而在于核心功能的完成度和可靠性。35项测试100%通过,这就是我对自己工作的交代。

← Back to Blog