概述

oc-path 是 OpenClaw 内置的可选插件,提供 openclaw path CLI 和 oc:// 工作区文件寻址方案。支持精确定位 markdown、JSONC、JSONL 文件中的单个叶节点,保留注释和格式进行字节级精确编辑。

核心要点

支持的文件类型:

  • markdown(.md、.mdx):frontmatter、sections、items、fields
  • jsonc(.jsonc、.json5、.json):保留注释和格式
  • jsonl(.jsonl、.ndjson):行级记录

典型使用场景:

  • 本地自动化:shell 脚本无需携带独立的 markdown/JSONC/JSONL 解析代码
  • Agent 可见编辑:Agent 可在写入前展示单个叶节点的 dry-run diff
  • 编辑器集成:将 oc://AGENTS.md/tools/gh 映射到精确的 markdown 节点和行号
  • 诊断:emit 命令通过解析器和发射器往返文件,检查字节稳定性

运行位置:

  • 在 openclaw CLI 进程内运行,不需要运行中的 Gateway,不开网络连接

激活配置(onStartup: false):

  • 不在 Gateway 热路径中加载
  • 首次运行 openclaw path ... 时按需加载

安全特性:

  • set 写入时自动应用 redaction-sentinel 守卫
  • 含 __OPENCLAW_REDACTED__ 的叶节点在写入时被拒绝(OC_EMIT_SENTINEL)
  • CLI 输出中将 sentinel 替换为 [REDACTED]

依赖(插件本地,不影响核心运行时):

  • commander:子命令连接
  • jsonc-parser:JSONC 解析和叶节点编辑(保留注释)
  • markdown-it:Markdown 分词

配置/使用

启用/禁用:

openclaw plugins enable oc-path
openclaw plugins disable oc-path

常用命令示例:

# 检查配置中 GitHub 插件是否启用
openclaw path resolve 'oc://config.jsonc/plugins/github/enabled' --json
 
# 查找会话日志中的工具调用名称
openclaw path find 'oc://session.jsonl/[event=tool_call]/name' --json
 
# 预览配置编辑(dry-run)
openclaw path set 'oc://config.jsonc/plugins/github/enabled' 'true' --dry-run

与其他插件的关系:

  • memory-*:内存写入通过内存插件,oc-path 是通用文件底层
  • LKG:oc-path 不了解 Last-Known-Good 配置恢复语义

相关页面

  • concepts/plugin-manage — 插件启用/禁用管理
  • concepts/plugin-building — 插件开发指南
  • concepts/plugin-inventory — 插件清单