Operaciones HTTPS directas y encabezados de autenticación
La Skill independiente se comunica directamente con XMemo a través de HTTPS. Los endpoints REST públicos aceptan encabezados Authorization: Bearer <token> o X-API-Key: <key>, mientras que el runtime de la Skill independiente formatea automáticamente las solicitudes salientes utilizando Authorization: Bearer <token> a partir de la credencial resuelta.
- Transporte del runtime de la Skill: Inyecta automáticamente Authorization: Bearer <token> en todas las solicitudes a https://xmemo.dev/v1/skill/operations.
- Flexibilidad de la API REST: Los clientes HTTP independientes que llaman directamente a los endpoints REST pueden proporcionar Authorization: Bearer <token> o X-API-Key: <key>.
- Contrato de descubrimiento: El modelo de runtime y los endpoints de operaciones son descubribles en /.well-known/agent-discovery.json y /.well-known/memory-os.json.
# Skill runtime uses Bearer token authorization:
POST /v1/skill/operations
Authorization: Bearer <skill-token>
Content-Type: application/json
# Direct REST endpoints also accept X-API-Key:
GET /v1/memories/search?query=onboarding&limit=5
X-API-Key: <your-assigned-api-key>Inventario completo de comandos por tarea
El paquete de la Skill independiente (v1.1.35) proporciona 32 comandos. Cada comando se enumera a continuación con su cadena de uso textual de help.mjs y su scope de autorización requerido.
- Autenticación y configuración: login --allow-plaintext, register --reason <unattended|declined> --allow-plaintext, logout [--revoke-environment-token], auth status [--verify], auth add --from-stdin --allow-plaintext, auth claim-status [--allow-plaintext], auth claim-confirm [--allow-plaintext], auth claim-deny [--allow-plaintext].
- Memoria y búsqueda: read --id <id> [--offset <n>] [--limit <n>] [--bucket <bucket>] [--scope <scope>] (memory:read), update --id <id> [--content <text>] [--path <path>] [--metadata <json>] [--bucket <bucket>] [--scope <scope>] (memory:write), forget --id <id> [--reason <text>] --confirm (memory:delete o memory:write), remember (--content <text> | --content - | --file <path>) [--path <path>] [--metadata <json-object>] (memory:write), recall --query <text> [--limit <n>] [--explain <true|false>] [--prefer_working <true|false>] [--expand-documents] [--compact] (memory:read), search --query <text> [--limit <n>] [--explain <true|false>] [--prefer_working <true|false>] [--expand-documents] [--compact] (memory:read).
- Contexto de Knowledge: recall-context --query <text> [--max_items <n>] [--max_tokens <n>] [--prefer_working <true|false>] [--include_knowledge <true|false>] (memory:read; opting into Knowledge with --include_knowledge true requires knowledge:read).
- Continuidad de tareas e instantáneas: save-state --key <key> [--content <text>] [--ttl_seconds <0..604800>] (memory:write, alias: state-save), restore-state --key <key> (memory:read, alias: state-restore), state-save --key <key> [--content <text>] [--ttl_seconds <0..604800>] (alias heredado), state-restore --key <key> (alias heredado), restart-snapshot [--state_key <key>] [--session_id <id>] [--ttl_seconds <0..2592000>] (memory:write), restart-restore [--snapshot_id <id> | --source_session_id <id>] [--target_session_id <id>] (memory:read).
- Tareas pendientes (TODOs): todo-add --content <text> (memory:write), todo-list (memory:read), todo-done --id <todo_id> (memory:write).
- Libro financiero y análisis: expense-add --item <text> --amount <number> --currency <code> (ledger:write), ledger-list [--month <YYYY-MM>] [--from <date>] [--to <date>] [--currency <code>] [--category <name>] [--type <type>] [--min-amount <n>] [--max-amount <n>] [--limit <n>] [--offset <n>] (ledger:read), ledger-summary [--months <n>] [--currency <code>] [--type <type>] (ledger:read), overview (memory:read), activity [--limit <n>] (memory:read), stats [--scope <scope>] [--path <path>] [--bucket <bucket>] [--memory-type <type>] [--status <status>] [--source <src>] [--since <iso>] [--until <iso>] [--group-by <dims>] [--top-n <1..200>] [--team-id <id>] (memory:read).
- Diagnósticos y creación de perfiles: doctor [--anonymous] (no se requiere ningún scope), profile [--status <later|never>] (no se requiere ningún scope).
# Memory read and write operations:
node scripts/xmemo-skill.mjs remember --content "Production build uses node 22.22" --path "ops/build"
node scripts/xmemo-skill.mjs recall --query "build node version" --limit 3
node scripts/xmemo-skill.mjs read --id mem_01hxyz... --offset 0 --limit 1000
node scripts/xmemo-skill.mjs update --id mem_01hxyz... --content "Production build uses node 22.22.0 LTS"
node scripts/xmemo-skill.mjs forget --id mem_01hxyz... --confirm
# Context assembly with optional Knowledge inclusion:
node scripts/xmemo-skill.mjs recall-context --query "TLS root configuration" --include_knowledge true
# Task continuity and restart snapshots:
node scripts/xmemo-skill.mjs save-state --key active_task --content "Refactoring migration script"
node scripts/xmemo-skill.mjs restart-snapshot --state_key active_task --session_id sess_alpha_0928
# Ledger and analytics:
node scripts/xmemo-skill.mjs expense-add --item "Cloud hosting" --amount 120 --currency USD
node scripts/xmemo-skill.mjs overview
node scripts/xmemo-skill.mjs doctorCódigos de salida deterministas
Todos los comandos de la Skill independiente se adhieren a códigos de salida estrictos y deterministas en ejecuciones interactivas y programáticas.
- Código 0 (Éxito): Operación exitosa, conjuntos de resultados vacíos válidos devueltos, --help o --version.
- Código 1 (Error de usuario): Error de validación de parámetros, argumentos mutuamente excluyentes, contenido que excede 524,288 bytes, falta del --confirm obligatorio en forget, archivo de entrada faltante/ilegible o respuesta HTTP 4xx.
- Código 2 (Error de autenticación): Credenciales faltantes, token expirado o no válido, HTTP 401 Unauthorized, HTTP 403 Forbidden o fallo en la validación de autenticación de doctor.
- Código 3 (Error de servidor / red): Respuesta HTTP 5xx, fallo en la conexión de red (ECONNREFUSED, ENOTFOUND, ETIMEDOUT) o carga de respuesta que supera el límite de seguridad (> 8 MiB).
Seguridad del contenido, fragmentos de documentos y confirmación de eliminación
La Skill independiente aplica estrictas barreras de seguridad antes de emitir solicitudes de red para garantizar la seguridad de los datos y la estabilidad del cliente.
- Límite de escritura de 512 KiB: El contenido de la memoria está limitado a 524,288 bytes (MAX_MEMORY_CONTENT_BYTES). Las entradas que excedan este límite salen inmediatamente con el código 1 antes de que se envíe cualquier solicitud de red.
- Fuentes de entrada mutuamente excluyentes: remember acepta --content <text>, --content - (stdin canalizado) o --file <path>. Proporcionar más de una fuente se interrumpe localmente con el código de salida 1.
- Fragmentos de memoria respaldados por documentos: Cuando recall o search coincide con memorias respaldadas por documentos, devuelve un fragmento compacto de una sola línea (Document-backed memory: <title>). Pasa --expand-documents para expandir hasta 3 fragmentos y hasta 20,000 caracteres en total, o usa read --id <id> para una lectura paginada específica.
- Protección de confirmación obligatoria: forget --id <id> --confirm requiere estrictamente --confirm. Omitir este indicador se interrumpe localmente con el código de salida 1 y cero solicitudes de red.
- Opciones globales de ejecución: Todos los comandos aceptan --json (salida JSON sin procesar), --terminal (conservar formato legible por humanos al canalizar), --timeout-ms <ms>, --base-url <url> y --version.
Operaciones de la Skill
Las Skills son la vía de instrucciones y comandos para agentes que no montan directamente un servidor MCP alojado.
Fuente: XMemo Skills