oh-my-agentのCLIは、7日間で15.10.0から20.0.0まで5つのメジャーバージョンを出荷しました。ほとんどのバージョンアップは意図的な破壊的変更で、互換性シムを残さず古いパスを削除しています。変更点と、必要な対応をまとめます。
新機能
-
oma-security が
oma-deepsecを、/securityが/deepsecを置き換えました。互換エイリアスはありません。ソース、スキル、MCP、スコープを限定したWebランタイムの作業をターゲット別のエンジンに振り分け、エンジンの証拠を保持します。findingを確定するとき、またはCIゲートを適用するときには、独立した検証が必須です。ソーススキャンのデフォルトエンジンは引き続きDeepsecです。スキルには11個のリソースファイルが含まれ、そのうち1つは408行のfindings契約です。 -
グローバルデータホームの一本化:
OMA_HOMEでグローバルデータホーム(デフォルトは~/.oma)を指定します。定義、状態、スケジュール、バックアップはここに置かれます。移行はコピー優先で、競合チェックとアクティブなランタイムのチェックを行います。古いパスはランタイムのフォールバックとして読み込みません。 - AgentMemoryの分離: 書き込み、リコール、リトライ、インポートは、元のプロジェクトとプロファイルの範囲に限定されます。共有サーバーのレスポンスは所有者でフィルタします。インストールとアップデートでは、プロジェクトがオプトアウトしている場合や別のプロバイダーを使う場合を除き、デフォルトのAgentMemoryプロバイダーを準備します。
- エージェントの判断を状態イベントとして記録・検証するようにしました(
b4d76a71)。実行ごとの選択を、後から確認できます。 -
コミットメッセージ用のユーザーフック: 管理対象の
commit-msgフックは、まず.githooks/commit-msg.d/内のすべての実行可能ファイルを名前順に実行します。終了コードが0以外なら、コミットは拒否されます。omaはこのディレクトリに書き込まないため、commitlintの呼び出しはoma update後も残ります。 -
oma-dev-workflowのツーリングプロファイル: Python、JS/TS、Dart/Flutter、Dockerfile、ローカルcommitlint。プロジェクトの検証タスクを再利用するためのガイダンスも追加
修正
-
oma retro --jsonが、JSONの前にバナーとスピナーを出力していました。空の期間も含めて、有効なJSONドキュメントを1つだけ出力するようになりました。 - ヘルプで
--older-thanのデフォルト値が90dsと表示されていました。単位を付けるのは、数字だけのデフォルト値に限りました。 -
schedule syncが、必須フィールドの欠けたマニフェスト行でクラッシュし、正常なジョブがすべて古いままになっていました。不正な行は除外して報告し、schedule listにも該当行を表示します。 - 孤立ジョブの整理が、AgentMemoryやSerenaのメンテナンスなどの内部サービスに触れなくなりました。対象はエージェントのスケジュール名前空間に限定されます。
- フックの同時重複排除で、競合するパブリッシャーが取得したばかりのクレームを期限切れとみなすことがありました。読み取り後に時刻を再確認し、時計の巻き戻りはTTLの範囲内でのみ許容します。
- スタンドアロンのスキルインストールが、参照する共有ガイドを同梱するようになりました(#866をクローズ)。
- ピン留めされたローカルSerenaブリッジのエントリを修復します。ユーザーの環境変数とサーバーオプションは保持されます。
-
designワークフローのルーティングで視覚的なターゲットを必須にしました。「API design」ではトリガーされません。
改善
-
プラグインパッケージから重複ファイル471個を削減: 完全なプラグインパッケージは、パッケージ単位の単一リソースツリーを共有します。ルートのプラグインスキルはこの共有ツリーを必要とするため、
npx skillsやAPMではなく、OMAのプリセットインストールを使ってください。 -
コマンド体系の整理: 内部エントリポイントは
oma describeとヘルプから隠れますが、実行はできます。説明のなかった25のコマンドグループに説明を追加しました。skills matrixはoma skill matrixになり、複数形は拒否されます。 -
ドキュメントをソースから生成: CLIレジストリは
oma describeから、スキルカタログはSKILL.mdのフロントマターから生成します。どちらも--checkモードで古いブロックを検出できます。 - ドキュメントサイトに、ルーティング・ultrawork・ralph・設定解決のmermaid図、判断表、用語集を追加しました。11ロケールと12のREADME翻訳も同期済みです。
- 記述の訂正: ralph judgeの説明を「独立」から「プロンプトによる」に改めました。spawnを検証する仕組みがないためです。イベントログの参照先は、固定パスではなく
oma state listを案内します。
この1週間で、840ファイルに対する81コミット(+70,280 / -32,120)が入りました。メモリ周りの改修だけで、1,095件のテストで検証しています。
アップグレード時の注意
- プロジェクトローカルの状態を移すには、
oma state migrate --runtimeを実行してください。ランタイムのリーダーは、プロジェクトローカルの状態を読み込まなくなりました。 - スクリプトや日頃の操作で使っている
/deepsecを、/securityに置き換えてください。 -
oma skills matrixをoma skill matrixに置き換えてください。
インストール
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex
リンク
oh-my-agentは、プロンプトを書く以上にオーケストレーションを行うチーム向けです。次はralph judgeの強化で、spawnをプロンプトで指示するだけでなく、検証できるようにします。
原文(英語): https://dev.to/gracefullight/oh-my-agent-oma-security-replaces-deepsec-one-global-home-13de