OMMX CLI のインストールと実行#

ommx コマンドでは、Artifact の内容確認・入出力、Local Registry の管理、 同梱のエージェントプラグインやスキルの取得ができます。単体の実行ファイルとして インストールする方法と、OMMX Python パッケージに付属する CLI を使う方法があります。

CLI を含む Python SDK がすでに uv プロジェクトに導入されている場合は、 プロジェクトのルートで次のように実行できます。

uv run ommx --help

cargo-binstall で単体の実行ファイルをインストールする#

cargo-binstall を インストールし、Rust SDK のリリース から利用する v3 のバージョンを選びます。例えば、公開済みの 3.0.0-beta.6 には CLI のバイナリが添付されています。

cargo binstall ommx@3.0.0-beta.6
ommx --help

cargo-binstall はリリースのメタデータに従って、利用環境に対応するアーカイブを 選択します。単体の実行ファイルは Python 環境がなくても利用できます。

最新の安定版を選ぶ場合は cargo binstall ommx を使います。v3 のプレリリースを 利用する間は、v3 のバージョンを明示してください。バージョンを省略すると安定版の v2 系列が選ばれます。利用したいコマンドを含むリリースを選んでください。 このドキュメントで説明するエージェントプラグイン・スキルのコマンドは 3.0.0-beta.6 より後の機能です。提供状況は Rust SDK のリリースノート と Python SDK のリリースノート を参照してください。

Python パッケージに付属する CLI を使う#

Python の ommx パッケージには、3.0.0b8 から ommx コマンドが付属します。 uv プロジェクトにパッケージを追加すると、プロジェクトの環境で CLI を実行できます。

uv add 'ommx>=3.0.0b8'
uv run ommx --help

プロジェクトの依存関係で選ばれた OMMX のバージョンが使われます。 対応する ommx がすでに依存関係に含まれている場合は、CLI を別途インストールする 必要はありません。同じ CLI バージョンであれば、コマンド構文も同じです。 利用できるコマンドは、インストールしたバージョンによって異なります。

バージョンとコマンドを確認する#

uv run ommx --version
uv run ommx --help
uv run ommx inspect --help

単体の実行ファイルを使う場合は、uv run ommx を ommx に置き換えます。 OMMX の Rust SDK と Python SDK のバージョンは独立して管理されているため、 Python 経由で起動した場合も、ommx --version は Rust CLI のバージョンを表示します。

同梱プラグインや個別のスキルを取得して導入する手順は、 OMMX のエージェントプラグインとスキルを取得・導入する を 参照してください。

保存した記録を削除・復元し、保存領域を整理する#

Local Registry はOMMXのローカル保存領域です。ArtifactやExperimentには、 example.com/team/experiment:obsoleteのような名前(ref)を付けられます。 名前を削除する操作と、データ本体を回収して容量を空ける操作は別です。

以下の./local-registryは、実際に使っている保存領域のパスに置き換えてください。 各コマンドの--rootで対象を明示します。省略するとOMMX_LOCAL_REGISTRY_ROOT、 それも未設定ならOS既定の保存先を使います。

まず対象を確認する#

uv run ommx prune-anonymous --root ./local-registry --experiments --older-than 7d
uv run ommx gc --root ./local-registry

どちらも既定では報告のみで、名前やデータを削除しません。 prune-anonymousは名前を自動生成した匿名Artifactを対象にし、--experimentsで 匿名Experimentも含めます。--older-than 7dは7日以上経過した名前に絞る指定です。 gc(ガベージコレクション)は、どの名前からも参照されなくなったデータ本体の 回収候補を表示します。

一つの名前を削除・復元する#

名前を確認し、例示名を実際の削除対象に置き換えてから実行します。 rmは直ちに名前を削除します。 データ本体はこの操作では削除しません。

uv run ommx rm example.com/team/experiment:obsolete --root ./local-registry

出力のRollback行には、削除した名前と、その内容を識別するManifest digestを含む ommx restore-ref ...コマンドが表示されます。復元するときは、そのコマンドの先頭に uv runを付けて実行してください。--rootも出力に含まれるため、同じ保存先へ復元できます。 同じ名前が既に別の内容を指している場合は、上書きせずエラーになります。

復元には、削除時のデータ本体が残っている必要があります。 必要な復元は、次のデータ回収より先に行ってください。

確認した対象を整理する#

匿名の名前を一括削除する場合は、先ほどの報告を確認してから--deleteを付けます。 削除した名前ごとに復元用コマンドが表示されます。

uv run ommx prune-anonymous --root ./local-registry --experiments --older-than 7d --delete

データ本体の回収は、別途gc --deleteで行います。

uv run ommx gc --root ./local-registry --delete

残る名前やExperimentのcheckpointから参照されているデータは回収しません。 参照されていないデータのうち、データ本体の最終更新から既定で24時間の 猶予期間(grace period)が経過したものを回収します。名前を削除してから24時間の 復元を保証するものではなく、古いデータは削除直後のGCでも回収される可能性があります。 回収後は復元できない場合があります。 書き込み中のデータを保護するため、 通常は猶予期間を短くせず、uv run ommx gc --helpで条件を確認してください。

Pythonから同じ操作を行う場合は、remove_image()、 restore_image()、prune_anonymous()、 gc()を使えます。引数や戻り値の詳細はAPI Referenceを参照してください。