oc-path Plugin は、oc:// ワークスペースファイルアドレス指定スキーム用の openclaw path CLI を追加します。これは OpenClaw リポジトリの extensions/oc-path/ に含まれていますが、オプトインです。インストールやビルド後も、有効化するまでは休止状態のままです。
oc:// アドレスは、ワークスペースファイル内の単一のリーフ(またはリーフのワイルドカード集合)を指します。この Plugin は 4 種類のファイルを理解します。
- markdown (
.md): frontmatter、セクション、項目、フィールド - jsonc (
.jsonc,.json): コメントとフォーマットを保持 - jsonl (
.jsonl,.ndjson): 行指向のレコード - yaml (
.yaml,.yml,.lobster):yamlパッケージのDocumentAPI によるマップ/シーケンス/スカラーノード
有効化する理由
スクリプト、フック、またはローカルエージェントツールが、ファイル形状ごとの専用パーサーなしでワークスペース状態の正確な一部分を指す必要がある場合にoc-path を有効化します。単一の oc:// アドレスで、Markdown の frontmatter キー、セクション項目、JSONC 設定リーフ、JSONL イベントフィールド、YAML ワークフローステップを指定できます。
これは、変更を小さく、監査可能で、再現可能に保つ必要があるメンテナーワークフローで重要です。1 つの値を検査し、一致するレコードを見つけ、書き込みをドライランし、コメント、行末、周辺フォーマットをそのまま残してそのリーフだけを適用できます。
有効化する一般的な理由:
- ローカル自動化: シェルスクリプトが Markdown、JSONC、JSONL、YAML それぞれの解析コードを持つ代わりに、
openclaw path … --jsonでワークスペース値を 1 つ解決または更新します。 - エージェントに見える編集: エージェントが書き込み前に、アドレス指定された 1 つのリーフのドライラン差分を表示します。これは自由形式のファイル書き換えよりレビューしやすくなります。
- エディタ統合: エディタが
oc://AGENTS.md/tools/ghを、見出しテキストから推測せずに正確な Markdown ノードと行番号へマッピングします。 - 診断:
emitはファイルをパーサーとエミッターに通してラウンドトリップするため、自動編集に依存する前に、そのファイル種別がバイト安定かどうかを確認できます。
oc-path は、意図的に高レベルのセマンティクスの所有者ではありません。メモリ Plugin は引き続きメモリ書き込みを所有し、設定コマンドは引き続き完全な設定管理を所有し、last-known-good (LKG) 設定復旧は引き続き復元/昇格を所有します。oc-path は、そうした高レベルツールが周囲に構築できる、狭いアドレス指定とバイト保持ファイル操作のレイヤーです。
実行される場所
この Plugin は、コマンドを呼び出したホスト上でopenclaw CLI 内のインプロセス として実行されます。実行中の Gateway は不要で、ネットワークソケットも開きません。すべての動詞は、指定したファイルに対する純粋な変換です。
Plugin メタデータは extensions/oc-path/openclaw.plugin.json にあります。
onStartup: false は、この Plugin を Gateway の起動パスから外します。commandAliases と activation.onCommands は、初めて openclaw path … を実行したときに CLI が Plugin を遅延ロードするよう指示するため、この動詞を使わないインストールではコストがかかりません。
有効化
openclaw path 呼び出しは同じホスト上ですぐに動作します。CLI は必要に応じて Plugin をロードします。
無効化するには:
依存関係
すべてのパーサー依存関係は Plugin ローカルです。oc-path を有効化しても、新しいパッケージがコアランタイムに取り込まれることはありません。
| 依存関係 | 目的 |
|---|---|
commander | resolve、find、set、validate、emit のサブコマンド配線。 |
jsonc-parser | コメントと末尾カンマを保った JSONC 解析とリーフ編集。 |
markdown-it | セクション / 項目 / フィールドモデル用の Markdown トークン化。 |
yaml | コメントとフロースタイルを保った YAML Document の解析 / 出力 / 編集。 |
jsonc-parser を通っています。
提供するもの
| サーフェス | 提供元 |
|---|---|
openclaw path CLI | extensions/oc-path/cli-registration.ts |
oc:// パーサー / フォーマッター | extensions/oc-path/src/oc-path/oc-path.ts |
| 種別ごとの解析 / 出力 / 編集 | extensions/oc-path/src/oc-path/{md,jsonc,jsonl,yaml} |
| 汎用 resolve / find / set | extensions/oc-path/src/oc-path/{resolve,find,edit}.ts |
| 墨消しセンチネルガード | extensions/oc-path/src/oc-path/sentinel.ts |
他の Plugin との関係
memory-*: メモリ書き込みはoc-pathではなくメモリ Plugin を通ります。oc-pathは汎用ファイル基盤であり、メモリ Plugin はその上に独自のセマンティクスを重ねます。- LKG:
pathは last-known-good 設定復元について認識しません。pathを通じて編集したファイルが LKG でも追跡されている場合、次の設定監視サイクルが昇格するか復旧するかを決定します。path編集は、そのファイルへの他の直接書き込みと同じように扱ってください。
安全性
set は基盤の出力パスを通じて生バイトを書き込み、その過程で墨消しセンチネルガードが自動的に適用されます。__OPENCLAW_REDACTED__ を持つリーフ(逐語的または部分文字列として)は、書き込み時に OC_EMIT_SENTINEL で拒否されます。CLI はまた、人間向けまたは JSON 出力に出力するリテラルのセンチネルをスクラブし、[REDACTED] に置き換えるため、端末キャプチャやパイプラインがそのマーカーを漏らすことはありません。