CLI commands
ãã¹
openclaw path
Plugin ãæäŸãããoc:// ã¢ãã¬ãã·ã³ã°åºç€ãžã®ã·ã§ã«ã¢ã¯ã»ã¹ã§ããã¢ãã¬ã¹æå®å¯èœãªã¯ãŒã¯ã¹ããŒã¹ãã¡ã€ã«ïŒmarkdownãjsoncãjsonlãyaml/yml/lobsterïŒãæ€æ»ããã³ç·šéããããã®ãçš®é¡ã«å¿ããŠãã£ã¹ããããããåäžã®ãã¹ã¹ããŒã ã§ããã»ã«ããã¹ãéçšè
ãPlugin äœè
ããšãã£ã¿ãŒæ¡åŒµã¯ããã¡ã€ã«çš®å¥ããšã®ããŒãµãŒãæäœãããã«ãçãå Žæãèªã¿åããæ€çŽ¢ãæŽæ°ããããã«äœ¿çšããŸãã
CLI ã¯ããã®åºç€ã®å ¬éåè©ãåæ ããŠããŸãã
resolveã¯å ·äœçã§ãåäžäžèŽã§ããfindã¯ã¯ã€ã«ãã«ãŒãããŠããªã³ãè¿°èªãäœçœ®å±éã®ããã®è€æ°äžèŽåè©ã§ããsetã¯å ·äœçãªãã¹ãŸãã¯æ¿å ¥ããŒã«ãŒã ããåãä»ããŸããã¯ã€ã«ãã«ãŒããã¿ãŒã³ã¯æžã蟌ã¿åã«æåŠãããŸãã
path ã¯ããã³ãã«ãããä»»æã® oc-path Plugin ã«ãã£ãŠæäŸãããŸããåå䜿çšåã«æå¹åããŠãã ããã
openclaw plugins enable oc-path䜿çšããçç±
OpenClaw ã®ç¶æ ã¯ã人ãç·šéãã markdownãã³ã¡ã³ãä»ã JSONC èšå®ã远èšå°çš JSONL ãã°ãYAML ã¯ãŒã¯ãããŒ/仿§ãã¡ã€ã«ã«åæ£ããŠããŸããã·ã§ã«ã¹ã¯ãªãããããã¯ããšãŒãžã§ã³ãã¯ããããã®ãã¡ã€ã«ããå°ããªå€ã 1 ã€ã ãå¿ èŠãšããããšããããããŸããfrontmatter ããŒãPlugin èšå®ããã°ã¬ã³ãŒãã®ãã£ãŒã«ããYAML ã¹ãããããŸãã¯ååä»ãã»ã¯ã·ã§ã³é äžã®ç®æ¡æžãé ç®ã§ãã
openclaw path ã¯ããã¡ã€ã«çš®å¥ããšã«äžåéãã® grepãæ£èŠè¡šçŸãããŒãµãŒãçšæãã代ããã«ãåŒã³åºãå
ã«å®å®ããã¢ãã¬ã¹ãæäŸããŸããåã oc:// ãã¹ãã¿ãŒããã«ããæ€èšŒãè§£æ±ºãæ€çŽ¢ããã©ã€ã©ã³ãæžã蟌ã¿ã§ãããããçãèªååãã¬ãã¥ãŒãããããåå®è¡ãããããªããŸãããã¡ã€ã«ã®æ®ãã®ã³ã¡ã³ããæ¹è¡ãåšèŸºãã©ãŒããããä¿æããªãã 1 ã€ã®ãªãŒãã ããæŽæ°ãããå Žåã«ç¹ã«æçšã§ãã
欲ãããã®ã«è«çã¢ãã¬ã¹ãããããç©çãã¡ã€ã«ã®åœ¢ãç°ãªãå Žåã«äœ¿çšããŸãã
- ããã¯ããã³ã¡ã³ãä»ã JSONC ãã 1 ã€ã®èšå®ãèªã¿åããå€ãæžãæ»ããšãã«ã³ã¡ã³ãã倱ããªãããã«ãããã
- ã¡ã³ããã³ã¹ã¹ã¯ãªããããJSONL ãã°å šäœãã«ã¹ã¿ã ããŒãµãŒã«èªã¿èŸŒãŸãã«ãäžèŽããã€ãã³ããã£ãŒã«ãããã¹ãŠèŠã€ãããã
- ãšãã£ã¿ãŒæ¡åŒµããslug ã«ãã£ãŠ markdown ã®ã»ã¯ã·ã§ã³ãŸãã¯ç®æ¡æžãé ç®ãžãžã£ã³ããã解決å ã®æ£ç¢ºãªè¡ã衚瀺ãããã
- ãšãŒãžã§ã³ãããå°ããªã¯ãŒã¯ã¹ããŒã¹ç·šéãé©çšããåã«ãã©ã€ã©ã³ãã倿Žããããã€ããã¬ãã¥ãŒã§èŠããããã«ãããã
éåžžã®ãã¡ã€ã«å
šäœã®ç·šéãè€éãªèšå®ç§»è¡ããŸãã¯ã¡ã¢ãªåºæã®æžã蟌ã¿ã«ã¯ããããã openclaw path ã¯äžèŠã§ãããããã«ã¯ææè
ã®ã³ãã³ããŸã㯠Plugin ã䜿çšããŠãã ãããpath ã¯ãå¥ã®å°çšããŒãµãŒãããåçŸå¯èœãªã¿ãŒããã«ã³ãã³ãã®ã»ããæç¢ºãªãå°ããã¢ãã¬ã¹æå®å¯èœãªãã¡ã€ã«æäœã®ããã®ãã®ã§ãã
äœ¿çšæ¹æ³
人ãç·šéããèšå®ãã¡ã€ã«ãã 1 ã€ã®å€ãèªã¿åããŸãã
openclaw path resolve 'oc://config.jsonc/plugins/github/enabled'ãã£ã¹ã¯ã«è§Šããã«æžã蟌ã¿ããã¬ãã¥ãŒããŸãã
openclaw path set 'oc://config.jsonc/plugins/github/enabled' 'true' --dry-run远èšå°çš JSONL ãã°å ã®äžèŽããã¬ã³ãŒããæ€çŽ¢ããŸãã
openclaw path find 'oc://session.jsonl/[event=tool_call]/name'markdown å ã®æç€ºããè¡çªå·ã§ã¯ãªãã»ã¯ã·ã§ã³ãšé ç®ã§æå®ããŸãã
openclaw path resolve 'oc://AGENTS.md/runtime-safety/openclaw-gateway'ã¹ã¯ãªãããèªã¿åããŸãã¯æžã蟌ã¿ãè¡ãåã«ãCI ãŸãã¯äºå確èªã¹ã¯ãªããã§ãã¹ãæ€èšŒããŸãã
openclaw path validate 'oc://AGENTS.md/tools/$last/risk'ãããã®ã³ãã³ãã¯ã·ã§ã«ã¹ã¯ãªãããžã³ããŒã§ããããšãæå³ããŠããŸããåŒã³åºãå
ãæ§é ååºåãå¿
èŠãšããå Žå㯠--json ã䜿ãã人ãçµæã確èªããå Žå㯠--human ã䜿ããŸãã
ä»çµã¿
openclaw path 㯠4 ã€ã®ããšãè¡ããŸãã
oc://ã¢ãã¬ã¹ãã¹ãããã«è§£æããŸãããã¡ã€ã«ãã»ã¯ã·ã§ã³ãé ç®ããã£ãŒã«ããããã³ä»»æã®ã»ãã·ã§ã³ã§ãã- å¯Ÿè±¡ã®æ¡åŒµåïŒ
.mdã.jsoncã.jsonlã.yamlã.ymlã.lobsterãããã³é¢é£ãããšã€ãªã¢ã¹ïŒãããã¡ã€ã«çš®å¥ã¢ããã¿ãŒãéžæããŸãã - ãã®ãã¡ã€ã«çš®å¥ã® AST ã«å¯ŸããŠã¹ãããã解決ããŸããmarkdown ã®èŠåºã/é ç®ãJSONC ã®ãªããžã§ã¯ãããŒ/é åã€ã³ããã¯ã¹ãJSONL ã®è¡ã¬ã³ãŒãããŸã㯠YAML ã®ããã/ã·ãŒã±ã³ã¹ããŒãã§ãã
setã§ã¯ãåãã¢ããã¿ãŒãéããŠç·šéåŸã®ãã€ããåºåããçš®å¥ã察å¿ããŠããå Žåã¯ãæªå€æŽéšåã®ã³ã¡ã³ããæ¹è¡ãè¿ãã®ãã©ãŒããããä¿æããŸãã
resolve ãš set 㯠1 ã€ã®å
·äœçãªå¯Ÿè±¡ãå¿
èŠãšããŸããfind ã¯æ¢çŽ¢çšã®åè©ã§ããã¯ã€ã«ãã«ãŒãããŠããªã³ãè¿°èªãåºæ°ããæžã蟌ã¿å
ãšã㊠1 ã€ãéžã¶åã«æ€æ»ã§ããå
·äœçãªäžèŽãžå±éããŸãã
ãµãã³ãã³ã
| ãµãã³ãã³ã | ç®ç |
|---|---|
resolve <oc-path> |
ãã¹äžã®å ·äœçãªäžèŽãåºåããŸãïŒãŸãã¯ãèŠã€ãããŸãããïŒã |
find <pattern> |
ã¯ã€ã«ãã«ãŒã / ãŠããªã³ / è¿°èªãã¹ã®äžèŽãåæããŸãã |
set <oc-path> <value> |
å
·äœçãªãã¹ã«ãªãŒããŸãã¯æ¿å
¥å¯Ÿè±¡ãæžã蟌ã¿ãŸãã--dry-run ã«å¯Ÿå¿ããŸãã |
validate <oc-path> |
è§£æã®ã¿è¡ããæ§é åè§£ïŒãã¡ã€ã« / ã»ã¯ã·ã§ã³ / é ç® / ãã£ãŒã«ãïŒãåºåããŸãã |
emit <file> |
parseXxx + emitXxx ãéããŠãã¡ã€ã«ãã©ãŠã³ãããªããããŸãïŒãã€ãå¿ å®åºŠèšºæïŒã |
ã°ããŒãã«ãã©ã°
| ãã©ã° | ç®ç |
|---|---|
--cwd <dir> |
ãã¡ã€ã«ã¹ãããããã®ãã£ã¬ã¯ããªã«å¯ŸããŠè§£æ±ºããŸãïŒããã©ã«ã: process.cwd()ïŒã |
--file <path> |
ãã¡ã€ã«ã¹ãããã®è§£æ±ºæžã¿ãã¹ãäžæžãããŸãïŒçµ¶å¯Ÿã¢ã¯ã»ã¹ïŒã |
--json |
JSON åºåã匷å¶ããŸãïŒstdout ã TTY ã§ãªãå Žåã®ããã©ã«ãïŒã |
--human |
人éåãåºåã匷å¶ããŸãïŒstdout ã TTY ã®å Žåã®ããã©ã«ãïŒã |
--dry-run |
ïŒset ã®ã¿ïŒæžã蟌ãŸãã«ãæžã蟌ãŸããäºå®ã®ãã€ããåºåããŸãã |
--diff |
ïŒset --dry-run ãšäœµçšïŒå®å
šãªãã€ãã§ã¯ãªã unified diff ãåºåããŸãã |
oc:// æ§æ
oc://FILE/SECTION/ITEM/FIELD?session=SCOPEã¹ãããã®èŠå: field ã«ã¯ item ãå¿
èŠã§ãitem ã«ã¯ section ãå¿
èŠã§ãã4 ã€ã®ã¹ããããã¹ãŠã«å
±éããŸãã
- åŒçšç¬Šä»ãã»ã°ã¡ã³ã â
"a/b.c"ã¯/ãš.åºåããä¿æããŸãã å 容ã¯ãã€ããªãã©ã«ã§ããåŒçšç¬Šå ã§ã¯"ãš\ã¯èš±å¯ãããŸããã ãã¡ã€ã«ã¹ããããåŒçšç¬ŠãèªèããŸããoc://"skills/email-drafter"/Tools/$lastã¯skills/email-drafterãåäžã®ãã¡ã€ã«ãã¹ãšããŠæ±ããŸãã - è¿°èª â
[k=v]ã[k!=v]ã[k<v]ã[k<=v]ã[k>v]ã[k>=v]ãæ°å€æŒç®ã§ã¯äž¡èŸºãæéæ°ãžåŒ·å¶å€æã§ããå¿ èŠããããŸãã - ãŠããªã³ â
{a,b,c}ã¯ä»£æ¿åè£ã®ãããã«ãäžèŽããŸãã - ã¯ã€ã«ãã«ãŒã â
*ïŒåäžãµãã»ã°ã¡ã³ãïŒãš**ïŒãŒãå以äžã ååž°ïŒãfindã¯ããããåãä»ããŸããresolveãšsetã¯ãããŸããªããæåŠããŸãã - äœçœ®æå® â
$first/$lastã¯æå / æåŸã®ã€ã³ããã¯ã¹ãŸãã¯å®£èšæžã¿ããŒãžè§£æ±ºãããŸãã - åºæ° â ããã¥ã¡ã³ãé ã§ N çªç®ã®äžèŽã衚ã
#Nã - æ¿å
¥ããŒã«ãŒ â ããŒä»ã / ã€ã³ããã¯ã¹ä»ãæ¿å
¥ã®ããã®
+ã+keyã+nnnïŒsetãšäœµçšïŒã - ã»ãã·ã§ã³ã¹ã³ãŒã â
?session=cron-dailyãªã©ãã¹ãããã®ãã¹ããšã¯çŽäº€ããŸããã»ãã·ã§ã³å€ã¯çã®å€ã§ãããããŒã»ã³ããã³ãŒããããŸãããå¶åŸ¡æåãŸãã¯äºçŽæžã¿ã¯ãšãªåºåãæåïŒ?ã&ã%ïŒãå«ããããšã¯ã§ããŸããã
åŒçšç¬Šä»ããè¿°èªããŠããªã³ã®ã»ã°ã¡ã³ãå€ã«ããäºçŽæåïŒ?ã&ã%ïŒã¯æåŠãããŸããå¶åŸ¡æåïŒU+0000-U+001FãU+007FïŒã¯ãsession ã¯ãšãªå€ãå«ããã©ãã«ãã£ãŠãæåŠãããŸãã
æ£èŠãã¹ã§ã¯ formatOcPath(parseOcPath(path)) === path ãä¿èšŒãããŸãã鿣èŠã®ã¯ãšãªãã©ã¡ãŒã¿ãŒã¯ãæåã®ç©ºã§ãªã session= å€ãé€ããŠç¡èŠãããŸãã
ãã¡ã€ã«çš®å¥ããšã®ã¢ãã¬ã¹æå®
| çš®å¥ | ã¢ãã¬ã¹æå®ã¢ãã« |
|---|---|
| Markdown | slug ã«ãã H2 ã»ã¯ã·ã§ã³ãslug ãŸã㯠#N ã«ããç®æ¡æžãé
ç®ã[frontmatter] ã«ãã frontmatterã |
| JSONC/JSON | ãªããžã§ã¯ãããŒãšé åã€ã³ããã¯ã¹ãåŒçšç¬Šä»ãã§ãªãéãããããã¯ãã¹ããããµãã»ã°ã¡ã³ããåå²ããŸãã |
| JSONL | æäžäœã®è¡ã¢ãã¬ã¹ïŒL1ãL2ã$firstã$lastïŒã«ç¶ããè¡å
ã§ JSONC 圢åŒã®éäžãè¡ããŸãã |
| YAML/YML/.lobster | ãããããŒãšã·ãŒã±ã³ã¹ã€ã³ããã¯ã¹ãã³ã¡ã³ããšãããŒã¹ã¿ã€ã«ã¯ YAML document API ã«ãã£ãŠæ±ãããŸãã |
resolve ã¯æ§é åãããäžèŽãè¿ããŸããrootãnodeãleafããŸã㯠insertion-point ã§ã1 å§ãŸãã®è¡çªå·ãä»ããŸãããªãŒãå€ã¯ããã¹ããš leafType ãšããŠè¡šåºããããããPlugin äœè
ã¯çš®å¥ããšã® AST 圢ç¶ã«äŸåããã«ãã¬ãã¥ãŒãæç»ã§ããŸãã
ãã¥ãŒããŒã·ã§ã³å¥çŽ
set 㯠1 ã€ã®å
·äœçãªå¯Ÿè±¡ãæžã蟌ã¿ãŸãã
- Markdown ã® frontmatter å€ãš
- key: valueé ç®ãã£ãŒã«ãã¯æååãªãŒãã§ãã Markdown æ¿å ¥ã¯ãã»ã¯ã·ã§ã³ãfrontmatter ããŒããŸãã¯ã»ã¯ã·ã§ã³é ç®ã远å ãã倿ŽåŸãã¡ã€ã«ã«å¯ŸããŠæ£èŠã® markdown 圢ç¶ãæç»ããŸãã - JSONC ãªãŒãæžã蟌ã¿ã¯ãæååå€ãæ¢åãªãŒãåïŒ
stringãæéã®numberãtrue/falseããŸãã¯nullïŒãžåŒ·å¶å€æããŸããJSONC/JSON/JSONL ãªãŒã眮æã§<value>ã JSON ãšããŠè§£æããæååã® SecretRef çç¥åœ¢ããªããžã§ã¯ãã«çœ®ãæããããã«åœ¢ç¶ãå€ããå¯èœæ§ãããå Žåã¯ã--value-jsonã䜿çšããŸããJSONC ãªããžã§ã¯ããšé åã®æ¿å ¥ã¯<value>ã JSON ãšããŠè§£æããéåžžã®ãªãŒãæžã蟌ã¿ã«ã¯jsonc-parserã®ç·šéãã¹ã䜿çšããŠãã³ã¡ã³ããšè¿ãã®ãã©ãŒããããä¿æããŸãã - JSONL ãªãŒãæžã蟌ã¿ã¯ãè¡å
ã§ JSONC ãšåæ§ã«åŒ·å¶å€æããŸããè¡å
šäœã®çœ®æãšè¿œå ã¯
<value>ã JSON ãšããŠè§£æããŸããæç»ããã JSONL ã¯ããã¡ã€ã«ã®æ¯é ç㪠LF/CRLF æ¹è¡èŠçŽãä¿æããŸãã - YAML ãªãŒãæžã蟌ã¿ã¯ãæ¢åã®ã¹ã«ã©ãŒåïŒ
stringãæéã®numberãtrue/falseããŸãã¯nullïŒãžåŒ·å¶å€æããŸããYAML æ¿å ¥ã¯ããã³ãã«ãããyamlããã±ãŒãžã® document API ã䜿çšããŠããã/ã·ãŒã±ã³ã¹ãæŽæ°ããŸããããŒãµãŒãšã©ãŒã®ããäžæ£ãª YAML ããã¥ã¡ã³ãã¯ããã¥ãŒããŒã·ã§ã³åã«parse-errorã§æåŠãããŸãã
æ£ç¢ºãªãã€ããéèŠãªãŠãŒã¶ãŒå¯èŠã®æžã蟌ã¿åã«ã¯ --dry-run ã䜿çšããŠãã ããããã®åºç€ã¯ãparse/emit ã©ãŠã³ãããªããã§ã¯ãã€ãåäžã®åºåãä¿æããŸããããã¥ãŒããŒã·ã§ã³ã§ã¯çš®å¥ã«å¿ããŠç·šéé åãŸãã¯ãã¡ã€ã«ãæ£èŠåãããå ŽåããããŸãã
å®å
šã«æç»ããããã¡ã€ã«ã§ã¯ãªããçŠç¹ãçµã£ã before/after ããããšããŠãã¬ãã¥ãŒãããå Žå㯠--diff ã远å ããŸãã
äŸ
# Validate a path (no filesystem access)openclaw path validate 'oc://AGENTS.md/Tools/$last/risk' # Read a leafopenclaw path resolve 'oc://gateway.jsonc/version' # Wildcard searchopenclaw path find 'oc://session.jsonl/*/event' --file ./logs/session.jsonl # Dry-run a writeopenclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-run # Dry-run a write as a unified diffopenclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-run --diff # Apply the writeopenclaw path set 'oc://gateway.jsonc/version' '2.0' # Byte-fidelity round-trip (diagnostic)openclaw path emit ./AGENTS.mdãã®ä»ã®ææ³äŸ:
# Quote keys containing / or .openclaw path resolve 'oc://config.jsonc/agents.defaults.models/"anthropic/claude-opus-4-7"/alias' # Deep JSON/JSONC paths can use slash segments; they normalize to dotted subsegmentsopenclaw path set 'oc://openclaw.json/agents/list/0/tools/exec/security' 'allowlist' --dry-run # Replace a JSONC leaf with a parsed objectopenclaw path set 'oc://openclaw.json/gateway/auth/token' '{"source":"file","provider":"secrets","id":"/test"}' --value-json --dry-run # Predicate search over JSONC childrenopenclaw path find 'oc://config.jsonc/plugins/[enabled=true]/id' # Insert into a JSONC arrayopenclaw path set 'oc://config.jsonc/items/+1' '{"id":"new","enabled":true}' --dry-run # Insert a JSONC object keyopenclaw path set 'oc://config.jsonc/plugins/+github' '{"enabled":true}' --dry-run # Append a JSONL eventopenclaw path set 'oc://session.jsonl/+' '{"event":"checkpoint","ok":true}' --file ./logs/session.jsonl # Resolve the last JSONL value lineopenclaw path resolve 'oc://session.jsonl/$last/event' --file ./logs/session.jsonl # Resolve a YAML workflow stepopenclaw path resolve 'oc://workflow.yaml/steps/0/id' # Update a YAML scalaropenclaw path set 'oc://workflow.yaml/steps/$last/id' 'classify-renamed' --dry-run # Address markdown frontmatteropenclaw path resolve 'oc://AGENTS.md/[frontmatter]/name' # Insert markdown frontmatteropenclaw path set 'oc://AGENTS.md/[frontmatter]/+description' 'Agent instructions' --dry-run # Find markdown item fieldsopenclaw path find 'oc://SKILL.md/Tools/*/send_email' # Validate a session-scoped pathopenclaw path validate 'oc://AGENTS.md/Tools/$last/risk?session=cron-daily'ãã¡ã€ã«çš®å¥ããšã®ã¬ã·ã
åã 5 ã€ã®åè©ãçš®å¥ããŸããã§æ©èœããŸããã¢ãã¬ã¹æå®ã¹ããŒã ã¯ãã¡ã€ã«æ¡åŒµåã«åºã¥ããŠæ¯ãåããŸãã以äžã®äŸã§ã¯ãPR 説æã®ãã£ã¯ã¹ãã£ã䜿çšããŸãã
Markdown
<!-- frontmatter.md -->---name: drafterdescription: email drafting agenttier: core---## Tools- gh: GitHub CLI- curl: HTTP client- send_email: enabled$ openclaw path resolve 'oc://x.md/[frontmatter]/tier' --file frontmatter.md --humanleaf @ L4: "core" (string) $ openclaw path resolve 'oc://x.md/tools/gh/gh' --file frontmatter.md --humanleaf @ L9: "GitHub CLI" (string) $ openclaw path find 'oc://x.md/tools/*' --file frontmatter.md --human3 matches for oc://x.md/tools/*: oc://x.md/tools/gh â node @ L9 [md-item] oc://x.md/tools/curl â node @ L10 [md-item] oc://x.md/tools/send-email â node @ L11 [md-item][frontmatter] è¿°èªã¯ YAML frontmatter ãããã¯ãæå®ããŸããtools ã¯ã¹ã©ãã°ãä»ã㊠## Tools èŠåºãã«äžèŽããé
ç®ã®ãªãŒãã¯ããœãŒã¹ã§ã¢ã³ããŒã¹ã³ã¢ã䜿ãããŠããå Žåã§ãã¹ã©ãã°åœ¢åŒãç¶æããŸãïŒsend_email â send-emailïŒã
JSONC
// config.jsonc{ "plugins": { "github": {"enabled": true, "role": "vcs"}, "slack": {"enabled": false, "role": "chat"} }}$ openclaw path resolve 'oc://config.jsonc/plugins/github/enabled' --file config.jsonc --humanleaf @ L4: "true" (boolean) $ openclaw path set 'oc://config.jsonc/plugins/slack/enabled' 'true' --file config.jsonc --dry-run--dry-run: would write 142 bytes to /âŠ/config.jsonc{ "plugins": { "github": {"enabled": true, "role": "vcs"}, "slack": {"enabled": true, "role": "chat"} }}JSONC ã®ç·šé㯠jsonc-parser ãéããããã³ã¡ã³ããšç©ºçœã¯ set åŸãç¶æãããŸããã³ãããããåã«ãã€ãåã確èªããã«ã¯ããŸã --dry-run ä»ãã§å®è¡ããŠãã ããã
JSONL
{"event":"start","userId":"u1","ts":1}{"event":"action","userId":"u1","ts":2}{"event":"end","userId":"u1","ts":3}$ openclaw path find 'oc://session.jsonl/[event=action]/userId' --file session.jsonl --human1 match for oc://session.jsonl/[event=action]/userId: oc://session.jsonl/L2/userId â leaf @ L2: "u1" (string) $ openclaw path resolve 'oc://session.jsonl/L2/ts' --file session.jsonl --humanleaf @ L2: "2" (number)åè¡ã¯ 1 ã€ã®ã¬ã³ãŒãã§ããè¡çªå·ãããããªãå Žåã¯è¿°èªïŒ[event=action]ïŒã§æå®ããããã£ãŠããå Žåã¯æ£èŠã® LN ã»ã°ã¡ã³ãã§æå®ããŸãã
YAML
# workflow.yamlname: inbox-triagesteps: - id: fetch command: gmail.search - id: classify command: openclaw.invoke$ openclaw path resolve 'oc://workflow.yaml/steps/0/id' --file workflow.yaml --humanleaf @ L3: "fetch" (string) $ openclaw path set 'oc://workflow.yaml/steps/$last/id' 'classify-renamed' --file workflow.yaml --dry-run--dry-run: would write 99 bytes to /âŠ/workflow.yamlname: inbox-triagesteps: - id: fetch command: gmail.search - id: classify-renamed command: openclaw.invokeYAML ã¯æè£œã®ããŒãµãŒã§ã¯ãªã yaml ããã±ãŒãžã® Document API ã䜿çšããŸãããã®ãããéåžžã® parse/emit ã©ãŠã³ãããªããã§ã¯ã³ã¡ã³ããšäœææã®åœ¢ãç¶æããã解決æžã¿ãã¹ã§ã¯ JSONC ãšåããããã㌠/ ã·ãŒã±ã³ã¹ã€ã³ããã¯ã¹ã¢ãã«ã䜿çšãããŸããåãã¢ããã¿ãŒã .yamlã.ymlã.lobster ãã¡ã€ã«ãæ±ããŸãã
ãµãã³ãã³ããªãã¡ã¬ã³ã¹
resolve <oc-path>
åäžã®ãªãŒããŸãã¯ããŒããèªã¿åããŸããã¯ã€ã«ãã«ãŒãã¯æåŠãããŸãããããã«ã¯ find ã䜿çšããŠãã ãããäžèŽããå Žå㯠0ãã¯ãªãŒã³ãªæªäžèŽã§ã¯ 1ãããŒã¹ãšã©ãŒãŸãã¯æåŠããããã¿ãŒã³ã§ã¯ 2 ã§çµäºããŸãã
openclaw path resolve 'oc://AGENTS.md/tools/gh/risk' --humanopenclaw path resolve 'oc://gateway.jsonc/server/port' --jsonfind <pattern>
ã¯ã€ã«ãã«ãŒã / è¿°èª / ãŠããªã³ãã¿ãŒã³ã«äžèŽãããã¹ãŠã®é
ç®ãåæããŸããå°ãªããšã 1 ä»¶äžèŽããå Žå㯠0ã0 ä»¶ã®å Žå㯠1 ã§çµäºããŸãããã¡ã€ã«ã¹ãããã®ã¯ã€ã«ãã«ãŒã㯠OC_PATH_FILE_WILDCARD_UNSUPPORTED ã§æåŠãããŸããå
·äœçãªãã¡ã€ã«ãæž¡ããŠãã ããïŒè€æ°ãã¡ã€ã«ã®ã°ããã¯ä»åŸã®æ©èœã§ãïŒã
openclaw path find 'oc://AGENTS.md/tools/**/risk'openclaw path find 'oc://session.jsonl/[event=action]/userId'openclaw path find 'oc://config.jsonc/plugins/{github,slack}/enabled'set <oc-path> <value>
ãªãŒããæžã蟌ã¿ãŸãã--dry-run ãšçµã¿åããããšããã¡ã€ã«ã«è§Šããã«æžã蟌ãŸãããã€ãåããã¬ãã¥ãŒã§ããŸããçµ±å diff ãã¬ãã¥ãŒã«ã¯ --diff ã远å ããŸããæžã蟌ã¿ãæåããå Žå㯠0ãåºç€ãæåŠããå ŽåïŒããšãã°ã»ã³ããã«ã¬ãŒãã«åœãã£ãå ŽåïŒã¯ 1ãããŒã¹ãšã©ãŒã§ã¯ 2 ã§çµäºããŸãã
openclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-runopenclaw path set 'oc://gateway.jsonc/version' '2.0' --dry-run --diffopenclaw path set 'oc://gateway.jsonc/version' '2.0'openclaw path set 'oc://AGENTS.md/Tools/+gh/risk' 'low'+key æ¿å
¥ããŒã«ãŒã¯ããŸã ååšããªãå Žåã«æå®åã®åãäœæããŸãã+nnn ãšè£žã® + ã¯ãããããã€ã³ããã¯ã¹æå®ã®æ¿å
¥ãšæ«å°Ÿè¿œå ã®æ¿å
¥ã«æ©èœããŸãã
validate <oc-path>
ããŒã¹ã®ã¿ã®ãã§ãã¯ã§ãããã¡ã€ã«ã·ã¹ãã ã«ã¯ã¢ã¯ã»ã¹ããŸããã倿°ãä»£å ¥ããåã«ãã³ãã¬ãŒããã¹ãæŽåœ¢åŒã§ããããšã確èªãããå Žåãããããã°çšã«æ§é ã®å èš³ã確èªãããå Žåã«äŸ¿å©ã§ãã
$ openclaw path validate 'oc://AGENTS.md/tools/gh' --humanvalid: oc://AGENTS.md/tools/gh file: AGENTS.md section: tools item: ghæå¹ãªå Žå㯠0ãç¡å¹ãªå Žå㯠1ïŒæ§é åããã code ãš message ä»ãïŒãåŒæ°ãšã©ãŒã§ã¯ 2 ã§çµäºããŸãã
emit <file>
çš®å¥ããšã®ããŒãµãŒãšãšããã¿ãŒãéããŠãã¡ã€ã«ãã©ãŠã³ãããªããããŸããæ£åžžãªãã¡ã€ã«ã§ã¯ãåºåã¯å ¥åãšãã€ãåäœã§äžèŽããã¯ãã§ããå·®ç°ãããå Žåã¯ãããŒãµãŒã®ãã°ãŸãã¯ã»ã³ããã«ãžã®ãããã瀺ããŸããå®éã®å ¥åã«å¯Ÿããåºç€ã®åäœããããã°ããéã«äŸ¿å©ã§ãã
openclaw path emit ./AGENTS.mdopenclaw path emit ./gateway.jsonc --jsonçµäºã³ãŒã
| ã³ãŒã | æå³ |
|---|---|
0 |
æåã ïŒresolve / find: å°ãªããšã 1 ä»¶äžèŽãset: æžãèŸŒã¿æåãïŒ |
1 |
äžèŽãªãããŸã㯠set ãåºç€ã«æåŠãããïŒã·ã¹ãã ã¬ãã«ã®ãšã©ãŒãªãïŒã |
2 |
åŒæ°ãŸãã¯ããŒã¹ãšã©ãŒã |
åºåã¢ãŒã
openclaw path 㯠TTY ãèªèããŸãã端æ«ã§ã¯äººéåãã®åºåã«ãªããstdout ããã€ããŸãã¯ãªãã€ã¬ã¯ããããŠããå Žå㯠JSON ã«ãªããŸãã--json ãš --human ã¯èªåæ€åºãäžæžãããŸãã
泚èš
setã¯åºç€ã® emit ãã¹ãéããŠãã€ãåãæžã蟌ã¿ããã®éçšã§ redaction-sentinel ã¬ãŒããèªåçã«é©çšãããŸãã__OPENCLAW_REDACTED__ãïŒãã®ãŸãŸããŸãã¯éšåæååãšããŠïŒå«ããªãŒãã¯ãæžãèŸŒã¿æã«æåŠãããŸãã- JSONC ã®ããŒã¹ãšãªãŒãç·šé㯠Plugin ããŒã«ã«ã®
jsonc-parseräŸåé¢ä¿ã䜿çšãããããéåžžã®ãªãŒãæžã蟌ã¿ã§ã¯ãæè£œã®ããŒãµãŒ / åã¬ã³ããªã³ã°çµè·¯ãéããã«ã³ã¡ã³ããšãã©ãŒããããç¶æãããŸãã path㯠LKG ãèªèããŸããããã¡ã€ã«ã LKG ã§è¿œè·¡ãããŠããå Žåãæ¬¡ã® observe åŒã³åºãã promote / recover ãããã©ãããæ±ºå®ããŸããLKG-recovery åºç€ãšäžŠè¡ããŠãLKG ã® promote/recover ã©ã€ããµã€ã¯ã«ãéããã¢ãããã¯ãªè€æ°setçšã®set --batchãèšç»ãããŠããŸãã