コマンドライン × エージェント

コマンドラインのためのAnyLUT。

anylutは、元のファイルを変えずに写真を編集します。RAW、JPEG、HEICを読み込み、小さな劣化のないレシピファイルを適用して、プレビューまたは最終的なJPEG/PNGを出力します。ローカルのエージェントやスクリプト向けに作られており、すべてお使いのMac上で動作します。

Apple Silicon · macOS 14以降 · 署名・公証済み

インストール

Homebrewならコマンドひとつ。

macOS 14(Sonoma)以降を搭載したApple Silicon Macが必要です。更新はbrew upgrade anylutで行います。

brew install hisea/anylut/anylut

Homebrewは、公式ではないtapを信頼するよう求めます。上のコマンドはformulaの完全名を指定しているため、信頼するのはそのformulaだけです。短い名前でインストールするには、先に信頼を設定してください。

brew tap hisea/anylut
brew trust --formula hisea/anylut/anylut
brew install anylut
エージェント

エージェントに使い方を教える。

スキルanylutは、エージェントにanylut guideを実行するよう指示するので、手順は常にインストール済みのバージョンと一致します。先にツールをインストールしてください。

エージェントインストール
Claude Codeclaude plugin marketplace add hisea/anylut-cli
claude plugin install anylut@anylut
Codexcodex plugin marketplace add hisea/anylut-cli
codex plugin add anylut@anylut
pipi install git:github.com/hisea/anylut-cli
ompomp plugin marketplace add hisea/anylut-cli
omp plugin install anylut@anylut
opencode

スキルのフォルダをコピーします:

git clone https://github.com/hisea/anylut-cli /tmp/anylut-cli
mkdir -p ~/.config/opencode/skills
cp -R /tmp/anylut-cli/skills/anylut ~/.config/opencode/skills/

SKILL.mdを読めるほかのエージェントは、リポジトリのskills/anylut/フォルダを使えます。

MCP

MCPサーバーとして動かすこともできます。

anylut mcpは、同じコマンドをstdio経由のツールとして提供します。プレビューは画像として返るので、モデルはすべての編集を目で確認できます。ツールにはファイルの絶対パスが必要です。Dockから起動したアプリはシェルのPATHを引き継がないため、ツールのフルパス(/opt/homebrew/bin/anylut)を指定してください。

クライアント設定
Claude Desktop

claude_desktop_config.jsonに追加します:

{"mcpServers":{"anylut":{"command":"/opt/homebrew/bin/anylut","args":["mcp"]}}}
Claude Codeclaude mcp add anylut -- anylut mcp
Cherry Studio設定 › MCPサーバー › 追加。タイプはSTDIO、コマンドは/opt/homebrew/bin/anylut、引数はmcp。
Codex (GPT)codex mcp add anylut -- anylut mcp

ChatGPT(Webとデスクトップ)は、HTTPS経由のリモートMCPサーバーにしか接続できません。ローカルのプログラムを起動できないため、GPTモデルにはCodexを使ってください。

クイックスタート

写真からファイルまで、6つのコマンド。

パッチは小さなJSONファイルです。--patch-file -で標準入力から読み込めます。setは絶対値、addは現在の値からの相対値を指定します。範囲外の値はエラーになり、ツールが丸めることはありません。

anylut capabilities --json                        # 書き込めるすべてのパラメータと範囲
anylut inspect IMG.ARW --json
anylut recipe new --source IMG.ARW --output edit.anylut.json
anylut patch edit.anylut.json --patch-file adjust.json --output edit-v1.anylut.json --json
anylut render IMG.ARW --recipe edit-v1.anylut.json --preview --output preview.jpg --json
anylut render IMG.ARW --recipe edit-v1.anylut.json --full-resolution --output final.jpg --json
{ "patchVersion": 1, "operations": [
  { "op": "set", "path": "light.exposure", "value": 0.35 },
  { "op": "add", "path": "color.temperature", "value": 6 },
  { "op": "set", "path": "hsl.orange.saturation", "value": -5 } ] }
保証

出力を読むツールのために。

JSON出力
--jsonを付けると、すべてのコマンドが1行に1つのJSONオブジェクトを出力します。エラーも安定したcodeを持つ1つの{"ok":false,"error":{…}}オブジェクトです。
終了コード
0 成功 · 2 使い方 · 3 非対応ファイル · 4 検証 · 5 デコード · 6 レンダリング · 7 書き込み。
安全な書き込み
出力ファイルはアトミックに書き込まれます。既存のファイルは、--overwriteを渡さない限り置き換えられません。
厳格な入力
未知のキー、欠けたキー、重複したキー、範囲外の値は、修復されずに拒否されます。
ローカルのみ
レンダリングはお使いのMac上で実行されます。何もアップロードされません。
制限
切り抜き、回転、反転、傾き補正を含むレシピは、それを無視して描画されるのではなく、拒否されます。RAWの対応範囲はmacOSのRAWデコーダに従います。