Plugin guides
Plugin OC Path
El plugin oc-path incluido añade la CLI openclaw path para el
esquema de direccionamiento de archivos del espacio de trabajo oc://. Se distribuye en el repositorio de OpenClaw en
extensions/oc-path/, pero es opcional: la instalación o compilación lo deja inactivo hasta que se
habilita.
Las direcciones oc:// apuntan a una única hoja (o a un conjunto de hojas mediante comodines) dentro de
un archivo del espacio de trabajo. El plugin admite cuatro tipos de archivo:
- markdown (
.md): frontmatter, secciones, elementos, campos - jsonc (
.jsonc,.json): conserva los comentarios y el formato - jsonl (
.jsonl,.ndjson): registros orientados a líneas - yaml (
.yaml,.yml,.lobster): nodos de mapa/secuencia/escalar mediante la APIDocumentdel paqueteyaml
Quienes alojan su propia instancia y las extensiones de editores utilizan la CLI para leer o escribir una única hoja sin programar directamente con el SDK; los agentes y hooks la tratan como un sustrato determinista, de modo que las conversiones de ida y vuelta con fidelidad de bytes y la protección del centinela de ocultación se apliquen de forma uniforme a todos los tipos. Consulte la referencia de la CLI para ver la gramática completa, la lista de opciones de cada verbo y ejemplos prácticos para cada tipo de archivo; esta página explica por qué y cómo habilitar el plugin.
Por qué habilitarlo
Habilite oc-path cuando los scripts, hooks o las herramientas de agentes locales necesiten apuntar a
una parte precisa del estado del espacio de trabajo sin un analizador específico para cada estructura de archivo. Una
sola dirección oc:// puede designar una clave de frontmatter de markdown, un elemento de sección, una
hoja de configuración JSONC, un campo de evento JSONL o un paso de flujo de trabajo YAML.
Esto es importante en los flujos de trabajo de mantenimiento donde el cambio debe seguir siendo pequeño, auditable y repetible: inspeccionar un valor, buscar registros coincidentes, simular una escritura y, después, aplicar únicamente esa hoja sin modificar los comentarios, los finales de línea ni el formato cercano.
Motivos habituales para habilitarlo:
- Automatización local: los scripts de shell resuelven o actualizan un valor del espacio de trabajo
con
openclaw path … --jsonen lugar de mantener código independiente para analizar markdown, JSONC, JSONL y YAML. - Ediciones visibles para los agentes: un agente muestra la diferencia de una simulación para una sola hoja direccionada antes de escribir, lo que resulta más fácil de revisar que una reescritura libre del archivo.
- Integraciones con editores: un editor asigna
oc://AGENTS.md/tools/ghal nodo de markdown y al número de línea exactos sin hacer suposiciones a partir del texto del encabezado. - Diagnóstico:
emitprocesa un archivo de ida y vuelta mediante el analizador y el emisor, lo que permite comprobar si un tipo de archivo conserva los bytes de forma estable antes de depender de ediciones automatizadas.
# ¿Está habilitado el plugin de GitHub en esta configuración?openclaw path resolve 'oc://config.jsonc/plugins/github/enabled' --json # ¿Qué nombres de llamadas a herramientas aparecen en este registro de sesión?openclaw path find 'oc://session.jsonl/[event=tool_call]/name' --json # ¿Qué bytes escribiría esta pequeña edición de configuración?openclaw path set 'oc://config.jsonc/plugins/github/enabled' 'true' --dry-runoc-path no está diseñado para ser el propietario de la semántica de nivel superior. Los plugins de
memoria siguen siendo responsables de las escrituras de memoria, los comandos de configuración siguen siendo responsables de la gestión
completa de la configuración y la recuperación de la última configuración válida conocida (LKG) sigue siendo responsable de
la restauración y promoción. oc-path es la capa limitada de direccionamiento y operaciones de archivo
que conservan los bytes sobre la que pueden construirse esas herramientas de nivel superior.
Dónde se ejecuta
El plugin se ejecuta dentro del proceso de la CLI openclaw en el host donde se
invoca el comando. No necesita un Gateway en ejecución ni abre
sockets de red; cada verbo es una transformación pura de un archivo indicado.
Los metadatos del plugin se encuentran en extensions/oc-path/openclaw.plugin.json:
{ "id": "oc-path", "name": "OC Path", "activation": { "onStartup": false, "onCommands": ["path"] }, "commandAliases": [{ "name": "path", "kind": "cli" }]}onStartup: false mantiene el plugin fuera de la ruta de inicio del Gateway.
commandAliases y activation.onCommands indican a la CLI que cargue el plugin
de forma diferida la primera vez que se ejecuta openclaw path …, por lo que las instalaciones que nunca utilizan
el verbo no incurren en ningún coste.
Habilitar
openclaw plugins enable oc-pathReinicie el Gateway (si ejecuta uno) para que la instantánea del manifiesto recoja el nuevo
estado. Las invocaciones directas de openclaw path funcionan inmediatamente en el mismo host;
la CLI carga el plugin bajo demanda.
Para deshabilitarlo:
openclaw plugins disable oc-pathDependencias
Todas las dependencias de análisis son locales al plugin; habilitar oc-path no incorpora
paquetes nuevos al runtime principal:
| Dependencia | Finalidad |
|---|---|
commander |
Conexión de subcomandos para resolve, find, set, validate, emit. |
jsonc-parser |
Análisis JSONC y edición de hojas conservando los comentarios y las comas finales. |
markdown-it |
Tokenización de markdown para el modelo de sección/elemento/campo. |
yaml |
Análisis/emisión/edición de Document YAML conservando los comentarios y el estilo de flujo. |
JSONL sigue implementándose manualmente: el análisis orientado a líneas es más sencillo que cualquier
dependencia y el análisis de cada línea ya pasa por jsonc-parser.
Qué proporciona
| Superficie | Proporcionada por |
|---|---|
CLI openclaw path |
extensions/oc-path/cli-registration.ts |
Analizador/formateador oc:// |
extensions/oc-path/src/oc-path/oc-path.ts |
| Análisis/emisión/edición por tipo | extensions/oc-path/src/oc-path/{md,jsonc,jsonl,yaml} |
| Resolución/búsqueda/asignación universal | extensions/oc-path/src/oc-path/{resolve,find,edit}.ts |
| Protección del centinela de ocultación | extensions/oc-path/src/oc-path/sentinel.ts |
Actualmente, la CLI es la única superficie pública. Los verbos del sustrato son privados del plugin; los consumidores utilizan la CLI (o crean su propio plugin con el SDK).
Relación con otros plugins
memory-*: las escrituras de memoria pasan por los plugins de memoria, no poroc-path.oc-pathes un sustrato de archivos genérico; los plugins de memoria añaden su propia semántica sobre él.- LKG:
pathno conoce la restauración de la última configuración válida conocida. Si un archivo editado mediantepathtambién está sujeto al seguimiento de LKG, el siguiente ciclo de observación de la configuración decide si debe promoverlo o recuperarlo; trate una edición depathigual que cualquier otra escritura directa en ese archivo.
Seguridad
set escribe bytes sin procesar mediante la ruta de emisión del sustrato, que aplica
automáticamente la protección del centinela de ocultación. Una hoja que contenga
__OPENCLAW_REDACTED__ (literalmente o como subcadena) se rechaza al escribir
con OC_EMIT_SENTINEL. La CLI también elimina el centinela literal de cualquier salida
humana o JSON que muestre y lo sustituye por [REDACTED], de modo que las capturas
del terminal y los pipelines nunca filtren el marcador.