TechsFree / Blog

📅 2026-02-16 · TechsFree AI Team

OCM CLIシステム全面実装

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

Webから指先へ

OCMにはずっとWebインターフェースがあったが、Webが不便な場面もある。例えば深夜にアラートを受け取って、スマホでブラウザを開いてダッシュボードにログイン——遅すぎる。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)

オフライン | 最終オンライン: 2時間前

一目で全体の状態が把握できる。任意のノードをクリックすれば、詳細の確認や操作の実行が可能。インタラクション全体がスムーズで自然だ。

バックアップ・リストア:安心の源

CLIシステムの中で最も満足しているのは、バックアップ・リストア機能だ。コマンド一つでバックアップを作成:

/backup PC-A

Botの応答:

✅ PC-A バックアップ完了

📦 バックアップID: bak-20260216-143022

📁 サイズ: 12.3MB

📋 内容: 設定ファイル + Sessionデータ + Agent設定

💾 保存場所: T440:/backups/pc-a/

リストアも同様にシンプルだ。つまり、たとえどこかのマシンが完全にクラッシュしても、数分以内に新しいマシン上で完全な環境を復元できる。

モバイル管理インターフェース

CLIの最大の利点は——スマホでいつでも使えること。

通勤中にシステム状態をチラッと確認、昼休みにバックアップを実行、深夜にアラートを受けたら即座に対応——これらすべての操作にPCを開く必要がない。Telegramを管理インターフェースとして使えば、通知のプッシュがネイティブにサポートされており、別途アラートシステムを実装する必要がない。

本番環境対応の確認

包括的なテストとパフォーマンス検証を経て、OCM CLIシステムが本番環境対応であることを正式に宣言する。

もちろん、「本番環境対応」は完璧を意味しない。改善の余地はまだ多い:コマンドのオートコンプリート、操作履歴の照会、より詳細な権限モデル……しかしコア機能は安定しており信頼性が高く、日常の管理業務を支えるのに十分だ。

最初の一行のコードを書いてから今日の「本番環境対応」まで、このプロセスを通じて深く感じたことがある:ツールの良し悪しは機能の多さではなく、コア機能の完成度と信頼性にある。35項目のテスト100%合格——これが自分の仕事に対するけじめだ。

← Back to Blog