CLI-Anything(シーエルアイ・エニシング)は、香港大学のデータ知能研究室HKUDSが公開しているOSSです。GIMPやBlender、LibreOfficeのようなGUIソフトのソースコードをAIコーディングエージェントに解析させ、エージェントがコマンドで操作できるCLIを自動生成します。
2026年9月時点では、自分でCLIを作る前に、配布済みのCLIをcli-hubで入れる使い方が入口になっています。この記事では仕組み・導入手順・MCPとの違いを一次情報で整理し、手元でcli-anything-hub 0.4.1とGIMP用CLIを動かした結果も載せます。
まとめ
- CLI-Anythingは、GUIソフトの裏側にあるバックエンドを呼ぶCLIを、エージェントが7フェーズで自動生成するOSSです。ライセンスはApache-2.0、GitHubスターは50,798(2026年9月28日)。
- 使い方は2通りあります。既製のCLIを使うなら
pip install cli-anything-hubしてcli-hub install gimp。まだ無いソフトのCLIを作るなら、Claude Codeにプラグインを入れて/cli-anything ./gimpを実行します。 - 2026年9月28日時点のCLI-Hubでは、103本のCLI(ハーネス79本・外部公開CLI 24本)を扱えます。
- MCPはツール定義をエージェントに渡す接続規格で、CLI-Anythingはシェルから呼ぶコマンドを作るツールです。MCPサーバーしか無いソフトをCLIで包む型もあるため、どちらか一方を選ぶものではありません。
- 生成物には規約と実装が食い違う箇所があります。GIMP用CLIは、GIMPが無い環境でもPillowで画像を書き出しました。規約はこの代替を禁じているため、出力のJSONにある
methodを確認してから使ってください。
CLI-Anythingの仕組みと開発元
AIエージェントにGUIソフトを使わせる方法としては、スクリーンショットを読んで座標をクリックする「GUIエージェント」が一般的でした。CLI-Anythingの技術報告(arXiv 2606.03854、2026年6月2日投稿)は、この方式を「ピクセル単位の操作が壊れやすく、画面変更で座標がずれる」と批判しています。そのうえで、構造化されたコマンド・明示的な状態・決定的な応答を持つCLIに作り替える方針を取っています。画面を読んで操作する方式の原理はスクリーンショット解析でPCを操作するComputer Useの動作原理で解説しています。
HKUDSのリポジトリと公開時期・ライセンス
リポジトリはHKUDS/CLI-Anythingで、2026年3月8日に作成されました。リリースはv0.2.0(3月30日)、v0.3.0(4月24日)、v0.4.0(6月25日)と進んでいます。v0.4.0では、複数のCLIを用途別にまとめて入れるcli-hub matrixが加わり、CLIも30本追加されました。v0.4.0以降はタグ付きリリースがありませんが、9月22日までmainへの更新が続いています。ライセンスはApache-2.0で、商用利用もできます。
生成されるCLIの共通仕様
生成されるCLIは、PythonのClickで実装され、cli_anything.<ソフト名>という名前空間のパッケージとして配布されます。コマンド名はcli-anything-gimpのように揃えられています。仕様書にあたるHARNESS.mdは、全コマンドへの--json、サブコマンドなしで起動したときのREPL、プロジェクト状態を保存するJSONファイル、info・list・statusのような状態確認コマンドを必須にしています。エージェントは--helpとwhichで使えるコマンドを探し、JSONで結果を受け取ります。
7フェーズの生成パイプライン
/cli-anythingを1回実行すると、エージェントはHARNESS.mdの手順どおりに次のフェーズを順に進めます。
| フェーズ | やること | 主な成果物 |
|---|---|---|
| 1 Analyze | バックエンドの特定、GUI操作とAPIの対応付け | 対応表(設計メモ) |
| 2 Design | コマンドグループ・状態モデル・出力形式の設計 | CLI設計 |
| 3 Implement | Click CLI・REPL・JSON出力・undo/redoの実装 | cli_anything/<ソフト名> |
| 4 Plan Tests | ユニット・E2Eのテスト計画 | TEST.md(前半) |
| 5 Write Tests | テストの実装 | tests/ |
| 6 Document | テスト結果の記録 | TEST.md(後半) |
| 6.5 SKILL.md | Clickの定義からエージェント向け説明を生成 | skills/cli-anything-<ソフト名>/SKILL.md |
| 7 Publish | setup.py作成とPATHへの登録 | cli-anything-<ソフト名> |
最初のAnalyzeでは、画面の奥で実際に処理しているエンジンを探します。HARNESS.mdは例としてShotcutのMLTを挙げています(同じ箇所でGIMPの例をImageMagickとしていますが、GIMP自身の画像処理エンジンはGEGLです)。書き出しはソフト本体のコマンドに任せる設計で、LibreOfficeならlibreoffice --headless --convert-to pdf、Blenderならblender --background --pythonを呼びます。6.5で作られるSKILL.mdは、Claude CodeなどのAgent Skills形式で読み込めます。仕様はAgent Skillsとは?SKILL.md仕様と46製品で動かす移植性の実装手順を参照してください。
CLI-Hubで既製のCLIを入れる手順
対象のソフトがCLI-Hubに登録済みなら、生成する必要はありません。READMEのQuick Startも、先にcli-anything-hubを入れる順番で書かれています。PyPIのcli-anything-hubは0.4.1(2026年7月9日)が最新で、Python 3.10以上が必要です。
pip install cli-anything-hub
cli-hub list # 登録済みCLIの一覧
cli-hub search image # キーワード検索
cli-hub info gimp # 依存ソフトと入口コマンドを確認
cli-hub install gimp # インストール
cli-hub matrix list # 用途別セット(動画制作・3D CADなど)
2026年9月28日に手元でcli-hub listを実行すると、末尾に「103 CLIs available (79 harness, 24 public)」と出ました。79本はCLI-Anythingで作られたCLI、24本は外部公開CLIで、Shopify CLIやLark CLIなどのベンダー公式CLIに加え、コミュニティ開発のCLIも含みます。インストール方法もnpmなど複数あります。matrix listでは、動画制作・3D CAD・ゲーム開発・画像デザイン・調査の5セットが表示されました。
GIMP用CLIを動かした結果
cli-hub info gimpを実行すると、「Requires: gimp (apt install gimp)」と表示されます。GIMP本体を入れていないmacOS 26.6.2(Intel)・Python 3.14.7の仮想環境で、2026年9月28日にmainのコミット34f5195から入ったGIMP用CLI 1.0.0を試した結果は次のとおりです。
cli-anything-gimp --json project new --width 1920 --height 1080 -o poster.json
cli-anything-gimp --json --project poster.json layer new -n Background --type solid --fill "#1a1a2e"
cli-anything-gimp --json --project poster.json export render out.png
プロジェクトの作成とレイヤーの追加は、GIMPが無くても成功しました。どちらも状態をposter.jsonに書き込むだけだからです。書き出しは、Pillowも無い状態では「Neither GIMP nor Pillow is available」で止まりました。Pillow 12.3.0を入れて再実行すると、1920×1080のPNGが"method": "pillow"付きで出力されました。つまりGIMPを使わずに書き出されています。
READMEの使用例にあるlayer add -n "Background" --type solid --color ...は、現行版では「No such command 'add'」になります。実際のコマンドはlayer newで、色は--fillで指定します。生成CLIは修正が続いて仕様が変わるため、READMEの例ではなく--helpの出力を正にしてください。
エージェント自身にCLIを探させるメタスキル
人が一覧から選ぶ代わりに、エージェントに探させることもできます。npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -yでメタスキルを入れ、「Find appropriate CLI software in CLI-Hub and complete the task: …」のように頼みます。エージェントはCLI-Hubのカタログから候補を選んでインストールし、そのCLIのSKILL.mdを読んで作業します。npxの実行の仕組みはnpxとは?npm execとの違い・キャッシュ実行の仕組みとCIでの固定手順で解説しています。
Claude CodeでCLIを生成する手順
CLI-Hubに無いソフトや社内ツールのCLIは自分で生成します。前提は、Python 3.10以上と、対象のソースコード(ローカルのパスかGitHubのURL)です。Claude Code自体の導入はClaude Codeの使い方|導入から権限とCLAUDE.md設定まで実務手順を参照してください。
プラグインの導入と生成コマンド
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything
/cli-anything ./gimp
/cli-anything https://github.com/blender/blender
入口コマンドは/cli-anythingです。古いClaude Codeで認識されない場合は、旧形式の/cli-anything:cli-anythingを試します。「Unknown skill: cli-anything」と出る場合は、コマンドの書き方ではなく、プラグインが読み込まれていないことが原因です。/reload-pluginsを実行し、/help cli-anythingで読み込みを確認してください。WindowsではClaude Codeがbashでコマンドを実行するため、Git for WindowsかWSLが要ります。無いと「cygpath: command not found」で失敗します。プラグインをmarketplaceで配る仕組みはClaude Codeプラグインの作り方と社内配布|marketplace.json・管理設定【2026年9月版】で詳しく扱っています。
生成後のrefine・test・validate・list
プラグインには、生成用のcli-anythingのほかに4つのコマンドが入っています。
| コマンド | 用途 |
|---|---|
| /cli-anything:refine ./gimp | ソフト全体と比べて足りないコマンドを追加 |
/cli-anything:refine ./gimp "filters" |
指定した機能領域だけ追加 |
| /cli-anything:test ./inkscape | テストを実行しTEST.mdを更新 |
| /cli-anything:validate ./audacity | HARNESS.mdの規約に沿っているか検査 |
| /cli-anything:list | 生成済みのCLIを一覧表示 |
READMEによると、refineは前回までの生成物を壊さずに追加していくので、何度実行しても構いません。最初の生成で主要な機能だけを作り、業務で使う機能はrefineで絞って足すと、エージェントの作業量を抑えられます。
生成したCLIのインストールと確認
cd gimp/agent-harness && pip install -e .
which cli-anything-gimp
cli-anything-gimp --help
cli-anything-gimp # 引数なしでREPLが起動
生成物は<ソフト名>/agent-harness/の下に置かれ、setup.pyとcli_anything/<ソフト名>/(コア処理・テスト・SKILL.md)で構成されます。pip install -e .でPATHに登録すれば、エージェントはwhichでCLIを見つけられます。
Claude Code以外のエージェントでの導入方法
README(2026年9月22日更新)には、Claude Code以外のエージェント向けの導入手順も載っています。コマンドの書き方と、公式サポートかコミュニティ提供かがエージェントごとに違います。
| エージェント | 導入 | 呼び出し | README上の扱い |
|---|---|---|---|
| Cursor | cursor-plugin/scripts/install.sh | /cli-anything-refine など | 生成と利用の両対応 |
| Codex | codex-skill/scripts/install.sh | 自然文で依頼 | Experimental・Community |
| GitHub Copilot CLI | copilot plugin install | /cli-anything | Community |
| OpenCode | commandsへmdとHARNESS.mdを複製 | /cli-anything-refine など | Experimental |
| Goose | CLIプロバイダ経由 | /cli-anything | Experimental・Community |
| Pi・Hermes・Reasonix・Qodercli | 各エージェント用の導入スクリプト | /cli-anything など | 一部Experimental |
Codex用のスキルは~/.codex/skills/cli-anythingに入り、インストール後にCodexの再起動が必要です。Gooseは、CLIプロバイダとして設定したClaude Codeなどの機能とコマンド形式をそのまま使います。OpenClawの手順はopenclaw-skill/SKILL.mdをコピーするよう書かれていますが、このディレクトリは2026年9月時点でリポジトリにありません(v0.4.0でmacrocliに改名されています)。CodexとClaude Codeの違いはCodexとClaude Codeの違い|料金・使用量・設定と併用の判断【2026年版】にまとめています。
MCPサーバー・GUIエージェントとの使い分け
「GIMP MCP」「Blender MCP」のように、同じソフトをMCPサーバー経由で操作する方法もあります。MCPはツールの一覧と引数の型をエージェントに渡して呼び出させる規格で、CLI-Anythingはシェルで実行するコマンドを作ります。CLI-Anythingのリポジトリ自体が、ブラウザ操作(DOMShell MCP)やSafari(safari-mcp)のCLIをMCPサーバーを包む形で作っています。つまり両者は競合ではなく、組み合わせて使えるものです。
| 状況 | 向いている方式 |
|---|---|
| OSSでソースが読め、書き出しをバッチ化したい | CLI-Anything |
| 公式のMCPサーバーやコネクタがある | MCP(CLIで包むことも可) |
| ソース非公開で、API・SDKも無い | GUIエージェント |
| シェルを持たないチャット型クライアントから使う | MCP |
判断の軸は、エージェントがシェルを実行できるかどうかです。Claude CodeやCodexのようにシェルを使えるエージェントなら、CLIは--helpで使い方を調べられ、パイプで他のコマンドにつなげられます。シェルを使えないクライアントでも、MCPに対応していれば、MCPサーバーを介してツールを呼べます。CLI-Anythingの標準手順はソースコードの解析から始まるため、Photoshopのようにソースが非公開の製品にはそのまま使えません。READMEは、ソースが無い場合はOSSの代替ソフトを対象にするか、公開されているSDKやAPIの資料を渡してCLIにまとめる方法を挙げています。実際にCLI-Hubには、ArcPy経由で動くArcGIS Pro用CLI(Windows専用・要ライセンス)がコミュニティ提供で登録されています。ただし2026年9月時点で、Photoshop用のCLIは登録されていません。Photoshopを操作したい場合は、Adobeの公式コネクタを使うPhotoshop MCPとは|Claude公式AdobeコネクタとOSSサーバーでAIからPhotoshopを操作する方法の方法が現実的です。
導入前に確かめたい規約と実装のずれ
CLI-Anythingのリポジトリは更新が速く、規約・実装・ドキュメントの間にずれが出ています。社内で使う前に、次の3点は自分で確認してください。
「実ソフト必須」の規約とPillowでの代替書き出し
HARNESS.mdは「The real software is a hard dependency」を最優先の規則にしています。「Do NOT gracefully degrade to a fallback library」と明記し、GIMPの代わりにPillowで画像を合成することを避けるべき例として挙げています。ところが、配布されているGIMP用CLIのcore/export.pyには、GIMPが無い場合にPillowで書き出す処理が入っています。先の検証でも実際にPillowで書き出されました。GIMPのフィルタとPillowの処理は結果が同じとは限りません。このCLIに同梱のSKILL.mdも自らを「built on Pillow」と説明し、drawのような描画時に適用する操作を含むプロジェクトでは、GIMP本体があってもPillowでの書き出しが標準になると書いています。GIMPによる書き出しが必須の業務では、出力JSONのmethodと画像を検査し、対応を確認した版のGIMP本体を依存関係として入れてください。
READMEの数値と日本語版の古さ
英語版READMEは、機能紹介の表で「2,280+ tests」「18 major applications」と書いています。一方、同じREADMEのテスト集計表では、30本のCLIで合計2,464件が通過しています。日本語版README_JA.mdは2026年6月3日から更新されておらず、テスト数のバッジは1,540件のままです。入口コマンドも旧形式の/cli-anything:cli-anythingで書かれています。手順は英語版で確認してください。
PyPIのライセンス表記
リポジトリのLICENSEはApache-2.0です。しかしPyPIのcli-anything-hub 0.4.1は、メタデータのライセンス欄も分類子も「MIT」になっています。インストールしたwheelにはLICENSEファイルが入っていません。社内のライセンス台帳に載せる場合は、使う配布物の版とライセンス表記、対応するソースのLICENSEを並べて記録してください。表記が食い違ったままなら、リポジトリのIssueなどで権利者に確認し、その結果も台帳に残すと監査で説明しやすくなります。
よくある質問
CLI-Anythingの読み方は?
「シーエルアイ・エニシング」と読みます。「どんなソフトでもCLIにする」という意味の名前で、READMEの副題は「Making ALL Software Agent-Native」です。
CLI-Anythingは無料で商用利用できますか?
本体はApache-2.0のOSSなので無料で、商用利用もできます。ただし生成・改良はClaude CodeやCodexなどのエージェントが行うため、そのエージェントの利用料金は別にかかります。GIMPやBlenderのような対象ソフトのライセンスにも従う必要があります。
CLI-Anything Hub(CLI-Hub)とは何ですか?
生成済みのCLIや、ベンダー公式・コミュニティ開発の外部公開CLIを検索・インストール・更新するためのパッケージマネージャーです。pip install cli-anything-hubで入り、cli-hubコマンドで操作します。Webのカタログはclianything.ccで公開されています。
ComfyUIやBlender、OBS StudioのCLIはありますか?
あります。いずれもCLI-Hubに登録済みで、cli-hub install comfyuiのように入れられます。ComfyUI用CLIはREST API経由で動くため、ComfyUIのサーバーを起動しておく必要があります。BlenderとOBS Studioも、本体をインストールしておく必要があります。
WindowsやmacOSでも使えますか?
Python 3.10以上があればCLI-Hubと生成CLIは動きます。Claude CodeでプラグインをWindowsで使う場合は、Git for WindowsかWSLが必要です。CLIによっては対応OSが限られるものもあり、たとえばSafari用CLIはmacOS専用です。入れる前にcli-hub infoで依存関係を確認してください。