Plugin guides
Plugin OC Path
El plugin incluido oc-path 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 dentro de extensions/oc-path/, pero
es opcional: tras instalarlo o compilarlo, permanece inactivo hasta que lo
habilites.
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 y 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 y escalares mediante la APIDocumentdel paqueteyaml
Quienes alojan sus propias instalaciones y las extensiones de editores usan la CLI para leer o escribir una única hoja sin programar directamente contra el SDK; los agentes y hooks la tratan como un sustrato determinista, de modo que las operaciones de ida y vuelta con fidelidad de bytes y la protección del centinela de ocultación se apliquen uniformemente a todos los tipos. Consulta la referencia de la CLI para ver la gramática completa, la lista de opciones de cada verbo y ejemplos desarrollados para cada tipo de archivo; esta página explica por qué y cómo habilitar el plugin.
Por qué habilitarlo
Habilita 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 identificar una clave del frontmatter de Markdown, un
elemento de una sección, una hoja de configuración JSONC, un campo de evento
JSONL o un paso de flujo de trabajo YAML.
Esto es importante para los flujos de trabajo de mantenimiento en los que el cambio debe mantenerse pequeño, auditable y repetible: inspeccionar un valor, buscar registros coincidentes, simular una escritura y, después, aplicar solo 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 … --json, en lugar de mantener código de análisis independiente para Markdown, JSONC, JSONL y YAML. - Ediciones visibles para agentes: un agente muestra una diferencia simulada de una hoja direccionada antes de escribirla, 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:
emithace pasar un archivo por el analizador y el emisor en una operación de ida y vuelta, para que puedas comprobar si un tipo de archivo conserva los bytes 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 es deliberadamente 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 con conservación de 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 invocas el comando. No necesita un Gateway en ejecución ni abre ningún
socket de red; cada verbo es una transformación pura de un archivo que le
indiques.
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 ejecutes openclaw path …, por lo
que las instalaciones que nunca usan el verbo no incurren en ningún coste.
Habilitación
openclaw plugins enable oc-pathReinicia el Gateway (si ejecutas uno) para que la instantánea del manifiesto
detecte el nuevo estado. Las invocaciones directas de openclaw path funcionan
inmediatamente en el mismo host; la CLI carga el plugin bajo demanda.
Deshabilítalo con:
openclaw plugins disable oc-pathDependencias
Todas las dependencias de análisis son locales al plugin; habilitar oc-path
no incorpora paquetes nuevos al entorno de ejecución principal:
| Dependencia | Propósito |
|---|---|
commander |
Conexión de los subcomandos resolve, find, set, validate y emit. |
jsonc-parser |
Análisis de JSONC y edición de hojas conservando comentarios y comas finales. |
markdown-it |
Tokenización de Markdown para el modelo de secciones, elementos y campos. |
yaml |
Análisis, emisión y edición de Document YAML conservando comentarios y estilo de flujo. |
JSONL sigue implementado 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 usan la CLI (o crean su propio plugin contra 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 genérico de archivos; 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 que editas mediantepathtambién está supervisado por LKG, el siguiente ciclo de observación de la configuración decide si se promociona o se recupera; trata una edición mediantepathigual 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 en el
momento de la escritura con OC_EMIT_SENTINEL. La CLI también elimina el
centinela literal de cualquier salida legible o JSON que imprima y lo sustituye
por [REDACTED], para que las capturas del terminal y las canalizaciones nunca
expongan el marcador.