21 人が閲覧(直近 30 日) AIエージェント・MCP

CLI-Anythingとは?GUIソフトをAIエージェント用CLIにするOSSの使い方とCLI-Hub【2026年9月】

CLI-Anythingとは?GUIソフトをAIエージェント用CLIにするOSSの使い方とCLI-Hub【2026年9月】

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で依存関係を確認してください。

関連記事

お気に入りに入れた記事の一覧

一創の公式 SNS

X では毎朝の新着記事と IT ニュースの速報を、YouTube・TikTok・Instagram・LinkedIn・Facebook では記事の解説動画を配信しています。

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.11.09 テックブログ エディオン不正アクセス第2報:カード番号の対象確認とログ・決済画面の改ざん対策
  2. 2026.11.09 テックブログ LANSCOPE不正アクセス第2報:製品への影響と偽連絡の確認、停止中のライセンス認証の窓口
  3. 2026.11.10 テックブログ Claude Fable 5.2とは:料金・破壊的変更4点とFable 5.1からの移行手順【2026年11月】
  4. 2026.11.09 テックブログ ステップゴルフ不正アクセス:口座情報の対象確認と偽連絡・引き落としの注意点
  5. 2026.11.10 テックブログ ニトリの情報漏洩:最大3,762万件の対象確認となりすまし連絡の見分け方

RELATED POSTS 関連記事

目次