HKUDS/CLI-Anything

"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/

CLI‑Anything — 任意のアプリケーションをエージェント対応のコマンドラインツールに変換する

何であるか

  • Pythonベースのフレームワークで、既存のデスクトップまたはサーバーソフトウェアを Click駆動のCLI でラップできます。このCLIのコマンドは 構造化されたJSON を出力します。生成されたCLIは、AIエージェント(Claude Code、Cursor、OpenClawなど)だけでなく、人間のユーザーにも 検出可能 かつ 使いやすい ように設計されています。

なぜ重要なのか

  • 現代のAIエージェントは、決定論的で合成可能なコマンドを発行できるときに最も優れたパフォーマンスを発揮します。明確に定義されたCLIはそのニーズを満たします:テキストベースで、自己文書化(--help)可能であり、エージェントが実行しているシェルからいつでも呼び出せます。
  • 任意のターゲットプログラムに対してCLIを自動生成することで、CLI‑Anythingは、エージェントにそのプログラムを公開するために必要な手動のエンジニアリング作業を排除します。

仕組み(7段階のハーネス生成プロセス)

  1. 分析 – ターゲットソフトウェア(ソースコード、APIドキュメント、UI記録など)をスキャンし、プログラムが実行可能な操作を推論します。
  2. 設計 – これらの操作を論理的なコマンドグループに分類し、状態モデルを定義し、出力用のJSONスキーマを決定します。
  3. 実装 – Clickベースの完全なコマンドラインインターフェースが生成され、REPLモード、元に戻す/やり直す機能、JSONのみ出力が含まれます。
  4. テスト計画TEST.md のスケルトンが作成され、ユニットテストおよびエンドツーエンド(E2E)テストケースが概要化されます。
  5. テストコードの作成 – フレームワークがテストコードを自動生成し、実行します。READMEに記載された高カバレッジ(約2,500件の成功テスト)を達成しています。
  6. ドキュメント化 – テスト結果が TEST.md に再挿入され、動的な仕様書となります。
  7. 公開setup.py/pyproject.toml が生成され、CLIがパッケージ化され、グローバルインストールまたは CLI‑Hub パッケージマネージャー経由でインストール可能になります。

CLI‑Hub – 一元管理レジストリ

  • pip install cli-anything-hub でインストール可能。
  • cli-hub listsearchinstalllaunch などのコマンドで、GIMP、Blender、Zoom、Obsidian、FreeCAD、Unreal Engineなど、増加するプリビルドCLIのカタログを閲覧できます。
  • ハブはまた、エージェントがオンザフライで適切なCLIを発見・インストールできるようにする メタスキルcli-hub-meta-skill)も公開しています。

開発者の一般的なワークフロー

  1. ターゲットの選定 – エージェントが制御したい任意の実行可能ファイルまたはコードベース。
  2. ジェネレータの実行 – 例:cli-anything ./path/to/gimp(またはClaude Codeプラグイン経由)。フレームワークはインストール可能なPythonパッケージを生成します。
  3. テストと改善 – 生成されたテストスイートが自動実行されます。必要に応じて追加のコマンドを追加したり、JSONスキーマを調整できます。
  4. 公開 – パッケージをPyPIにプッシュするか、社内に保持。CLI‑Hubが他のユーザー向けにリストアップできます。

誰が使うべきか

  • AI第一のチーム:既存ソフトウェアとやり取りする必要があるエージェントを開発する人。
  • 開発者:手動でClickコードを書かずに、ツールに迅速かつ再現可能なCLIラッパーを提供したい人。
  • 研究者:エージェント駆動の自動化、RAGパイプライン、マルチツールワークフローを探索する人。

主な技術的詳細(READMEより)

  • Python ≥ 3.10Click ≥ 8.0 に基づいて構築。
  • 出力は JSON + 人間が読みやすいメッセージ で、エージェントのパースを簡素化。
  • テストスイートは pytest を使用し、100 %の成功率。ユニットテストとE2Eテストを含む。
  • セキュリティ重視:トークンファイル処理、パストラバーサル対策、XMLパースには defusedxml を使用。
  • コミュニティ主導:新しいCLIはPRで追加され、ハブは即座に更新されます。

始めるには

  • ハブをインストール:pip install cli-anything-hub
  • 利用可能なCLIを閲覧:cli-hub list
  • 1つをインストール(例:GIMP):cli-hub install gimp && cli-hub launch gimp
  • 新しいCLIを作成するには、ソフトウェア上でジェネレータを実行し、画面のプロンプトに従ってください。

結論 CLI‑Anythingは、GUI重視のアプリケーションをクリーンでJSONを出力するコマンドラインインターフェースに変換することで、任意のソフトウェア任意のAIエージェント の間の欠けている橋を提供します。すべてが自動生成パイプラインと共有レジストリによって支えられています。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト