openclaw path
通过 oc:// 寻址方案检查和编辑工作区文件(markdown、jsonc、jsonl)的 CLI 工具。
由内置可选插件 oc-path 提供,使用前需启用:
openclaw plugins enable oc-path核心价值
OpenClaw 状态分散在人工编辑的 markdown、注释 JSONC 配置和追加式 JSONL 日志中。openclaw path 提供稳定的地址方案,避免为每种文件格式编写一次性解析器。
子命令
| 子命令 | 说明 |
|---|---|
resolve <oc-path> | 读取路径处的单个值(不支持通配符) |
find <pattern> | 枚举通配符/联合/谓词路径的所有匹配 |
set <oc-path> <value> | 写入叶节点,支持 --dry-run |
validate <oc-path> | 仅解析,打印结构分解(不访问文件系统) |
emit <file> | 文件往返解析/输出(字节保真诊断) |
全局 flags
| Flag | 说明 |
|---|---|
--cwd <dir> | 解析文件 slot 的目录(默认 process.cwd()) |
--file <path> | 覆盖文件 slot 的解析路径(绝对访问) |
--json | 强制 JSON 输出 |
--human | 强制人类可读输出 |
--dry-run | (仅 set)打印将写入的字节,不实际写入 |
oc:// 语法
oc://FILE/SECTION/ITEM/FIELD?session=SCOPE
特殊语法:
- 引号段
"a/b.c"— 保留/和.分隔符 - 谓词
[k=v]、[k!=v]、[k<v]等 - 联合
{a,b,c}— 匹配任意一个 - 通配符
*(单段)和**(递归)— 仅find支持 - 位置
$last— 最后一个索引/键 - 序号
#N— 第 N 个匹配 - 插入标记
+、+key、+nnn
按文件类型寻址
| 类型 | 寻址模型 |
|---|---|
| Markdown | H2 section(slug)、bullet item(slug 或 #N)、frontmatter via [frontmatter] |
| JSONC/JSON | 对象键和数组索引,点分隔嵌套子段(引号保护) |
| JSONL | 行地址(L1、L2、$last),行内 JSONC 风格下钻 |
常用示例
# 读取配置值
openclaw path resolve 'oc://config.jsonc/plugins/github/enabled'
# 预览写入(不实际修改)
openclaw path set 'oc://config.jsonc/plugins/slack/enabled' 'true' --dry-run
# 通配符搜索 JSONL
openclaw path find 'oc://session.jsonl/[event=action]/userId'
# 验证路径语法(不访问文件系统)
openclaw path validate 'oc://AGENTS.md/tools/$last/risk'
# 读取 markdown frontmatter
openclaw path resolve 'oc://AGENTS.md/[frontmatter]/name'
# 追加 JSONL 事件
openclaw path set 'oc://session.jsonl/+' '{"event":"checkpoint","ok":true}' --file ./logs/session.jsonl退出码
| 码 | 含义 |
|---|---|
0 | 成功(resolve/find:至少一个匹配;set:写入成功) |
1 | 无匹配,或 set 被 substrate 拒绝 |
2 | 参数或解析错误 |
注意事项
set自动应用 redaction-sentinel 守卫,含__OPENCLAW_REDACTED__的叶节点写入时被拒绝- JSONC 编辑通过
jsonc-parser进行,保留注释和格式 path不感知 LKG;如果文件被 LKG 追踪,下次 observe 调用决定是否 promote/recover
相关链接
- cli-wiki — wiki vault 管理
- cli-commitments — 承诺管理