CLI-Anythingは、AIコーディングエージェント(特にClaude Code)向けのオープンソースプラグインで、任意のソフトウェアのコードベースから完全なコマンドラインインターフェース(CLI)を自動生成します。GIMP、Blender、LibreOfficeなどのGUIアプリケーションを解析し、AIエージェントが自動操作できるCLIを構築できます。
課題:AIエージェントはGUIソフトウェアを直接操作できない
ほとんどのAPIファーストなクラウドサービスはHTTP経由で操作できますが、GIMPやBlender、LibreOfficeなど多くのデスクトップアプリは人間のGUI操作を前提としています。従来、これらをAIエージェントから操作するにはカスタムラッパーやRPAを使う必要があり、保守性や安定性に課題がありました。
CLI-Anythingは、ソフトウェアのソースコードを直接解析して、内部APIを特定。GUI操作のラップではなく、実際のAPI呼び出しを行うCLIを生成します。これによりエージェントは構造化コマンドを発行するだけで、高度な操作が可能になります。
💡エージェントワークフローでローカルソフトと外部REST APIの連携が必要な場合、ApidogがAPIテストやリクエスト送信、整理を無料でサポートします。API連携を事前検証し、ワークフロー組み込み前の動作確認に最適です。
CLI-Anythingの主な機能
- ソース解析によるGUIアクション→APIマッピング
- ClickベースのPython CLI自動生成(REPL・アンドゥ/リドゥ・
--json対応) - 自動テスト・ドキュメント生成・パッケージング
- 各アプリごとに一貫したCLI設計
CLI-Anythingは、HKUDSによるOSSプロジェクトです。Claude Code(主要)、Codex/OpenCode(実験的)で利用可能。7つの自動パイプライン(分析、設計、実装、テスト計画・作成、ドキュメント、公開)でCLIを生成します。
"今日のソフトウェアは人間に奉仕します。明日のユーザーはエージェントです。CLI-Anything:AIエージェントと世界のソフトウェアの間のギャップを埋めます。あらゆるソフトウェアをエージェント対応にする1つのコマンドライン。"
全てのCLIは、デフォルトで人間可読なテーブル出力、--jsonフラグでJSON出力、永続的なプロジェクト状態、アンドゥ/リドゥ、REPLモードを備えています。
CLI-Anythingのインストール手順
要件:
- Python 3.10以上
- 対象ソフトウェアのインストール済み
- Claude Code(推奨)、Codex/OpenCode(実験的)
Claude Codeでのインストール
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
セッション内で/cli-anythingコマンドが使用可能になります。
OpenCode
リポジトリをクローンし、コマンドファイルとHARNESS.mdを~/.config/opencode/commands/へコピー。5つのスラッシュコマンドが追加されます。
Codex
bash CLI-Anything/codex-skill/scripts/install.sh
Qodercli
bash CLI-Anything/qoder-plugin/setup-qodercli.sh
Windowsでの注意
Git for Windows(bash, cygpath)またはWSLが必須。PowerShellは未対応です。cygpath: command not foundエラー時はGit for Windowsを導入してください。
生成CLIのインストール
cd <software>/agent-harness
pip install -e .
編集可能モード (-e) でインストールし、ソース更新も即時反映されます。
最初のCLIを生成する
インストール後、単一コマンドでCLI生成が可能です。
例)GIMPの場合:
/cli-anything ./gimp
またはGitHubリポジトリから:
/cli-anything https://github.com/blender/blender
生成プロセスはコードベースの解析からCLI実装、テスト・ドキュメントまで全自動。GIMPのような画像エディタなら、レイヤー追加・エクスポート等をAPI化し、GIMP.md(SOPドキュメント)も生成されます。
ディレクトリ構成例:
gimp/
agent-harness/
GIMP.md
setup.py
cli_anything/
gimp/
README.md
gimp_cli.py
core/
utils/
tests/
test_core.py
test_full_e2e.py
TEST.md
各CLIはcli_anything.*名前空間で管理され、複数アプリ生成時の競合も回避できます。
生成CLIの活用
pip install -e .後、すぐにCLIが利用可能です。
cli-anything-gimp --help
コマンドグループやサブコマンド一覧を確認できます。命名規則はcli-anything-<software>で統一。
人間向けテーブル出力(デフォルト)
cli-anything-gimp project new --width 1920 --height 1080
cli-anything-gimp layer list
cli-anything-gimp layer add --name "Background" --type solid --color "#ffffff"
cli-anything-gimp filter apply --name "gaussian-blur" --radius 3
cli-anything-gimp export save --format png --output ./output.png
AIエージェント向けJSON出力
cli-anything-gimp --json project new --width 1920 --height 1080
# => {"status": "ok", "project_id": "proj_abc123", ...}
cli-anything-gimp --json layer add -n "Background"
# => {"status": "ok", "layer_id": "layer_001", ...}
どのコマンドも--jsonで一貫した機械可読レスポンスを返します。
REPL(インタラクティブシェル)
cli-anything-gimp
色付きプロンプト、タブ補完、履歴付き。スクリプト化前のコマンド検証に最適。
アンドゥ/リドゥ機能
cli-anything-gimp undo
cli-anything-gimp redo
50レベルのスタックをサポート。
CLIの洗練・テスト
初期生成CLIが不完全な場合は/cli-anything:refineでギャップ補完。
全体洗練
/cli-anything:refine /home/user/gimp
特定分野のみ洗練
/cli-anything:refine /home/user/blender "particle systems and physics simulation"
テスト実行
/cli-anything:test /home/user/gimp
仕様検証
/cli-anything:validate /home/user/gimp
利用可能CLI一覧表示
/cli-anything:list
/cli-anything:list --json
/cli-anything:list --path /home
実用例
GIMP: 画像自動処理パイプライン
cli-anything-gimp project open --file product.jpg
cli-anything-gimp layer add --name "Watermark" --type image --source watermark.png
cli-anything-gimp layer position --name "Watermark" --x 10 --y 10
cli-anything-gimp export save --format webp --output product-final.webp
LibreOffice: ドキュメント自動生成
cli-anything-libreoffice document open --template invoice-template.ods
cli-anything-libreoffice cell set --address "B5" --value "Acme Corp"
cli-anything-libreoffice cell set --address "C10" --value "1500.00"
cli-anything-libreoffice export pdf --output invoice-2026-001.pdf
Blender: 3Dレンダリング自動化
cli-anything-blender scene open --file product-scene.blend
cli-anything-blender render set --samples 256 --output /renders/product
cli-anything-blender render start --format png
OBS Studio: ストリーミング自動操作
cli-anything-obs scene set --name "Main Camera"
cli-anything-obs recording start
cli-anything-obs scene set --name "Screen Share"
cli-anything-obs recording stop --output session.mp4
CI/CD統合
CLIをGitHub Actions等CI/CDに組み込み、ソフトウェア更新時の自動画像生成やドキュメント出力を実現できます。
Apidogを使ったエージェントワークフロー構築
CLI-Anythingはローカルソフトの自動化に最適ですが、外部API連携にはApidogを組み合わせましょう。ApidogはAPIテスト・自動化・ドキュメント化をサポートする無料クライアントです。
例えばGIMPで画像を処理し、クラウドストレージAPIにアップロードする場合:
- ApidogでAPI認証情報を環境変数化
- サンプルファイルでアップロードエンドポイントにリクエスト送信
- レスポンスURLなどの値をアサート
- 動作確認済みcurlやコードをエクスポートし、エージェントスクリプトに組み込む
これによりデバッグサイクルを短縮し、API連携の信頼性を高められます。Apidogで自動テストも追加可能です。
制限事項・注意点
- Windows利用時:Git BashまたはWSL必須、PowerShell未対応
- 対象ソフトはインストール済み必須
- 出力は全てPython CLI(他言語CLI生成は不可)
- Claude Codeでの利用が最も安定
- 生成品質はコードベース構造に依存。難読化・設計不十分な場合はカバレッジ低下も
FAQ
CLI-Anythingはどんなソフトでも使えますか?
基本的には、アクセス可能なソースコードがあれば対応可能。特に内部API構造が明確なOSSで高精度です。実績例:GIMP, Blender, Inkscape, Audacity, Kdenlive, Shotcut, OBS Studio, Draw.io, LibreOffice, AnyGen, Zoom等。
ライセンスは?
MITライセンスで、github.com/HKUDS/CLI-Anythingから誰でも無料利用可能。
Pythonの知識は必要?
不要です。Pythonを書く必要はなく、CLI利用にはPython 3.10+がシステムに必要なだけです。
AIエージェント以外でも使える?
はい。生成されたCLIは通常のCLIツールなので、Makefileやシェルスクリプト、任意のコードから呼び出せます。
HARNESS.mdとは?
CLI-Anythingが生成するCLIハーネスの仕様ドキュメントです。コマンド構造やテスト仕様等を記述し、検証時の基準となります。
自社開発の内部ツールもラップできる?
はい。ローカルの任意コードベースを指定すればOK。ソースは外部送信されません。
Model Context Protocol (MCP)との違いは?
MCPはサーバー経由でAIエージェントと外部サービスをつなぐ標準。一方CLI-AnythingはローカルGUIアプリのAPI化・CLI化が目的です。
Top comments (0)