Harness MaxxingDocumentación
📚 Todas las páginas

📚 Referencia · 13 min de lectura

⌨️Referencia de la línea de comandos

maxxing está instalado en /usr/local/bin. Ejecuta maxxing <command> --help para ver todas las opciones.

Servidor e instalación inicial

Comando Para qué sirve
maxxing serve [--host IP] [--port N] ejecuta el servidor web (lo usa el servicio claude-maxxing)
maxxing setup-link [--reset] muestra el enlace de configuración de un solo uso; --reset olvida la contraseña y vuelve a empezar la configuración
maxxing password define una nueva contraseña para la interfaz (interactivo)
maxxing 2fa status\|off\|forget-browsers inicio de sesión en dos pasos con Telegram: estado, desactivarlo (la forma de volver a entrar cuando Telegram no responde), hacer que todos los navegadores vuelvan a pedir la verificación
maxxing status [--json] versión, URL, servicio, autenticación de Claude, Telegram, copia de seguridad, rutas
maxxing doctor [--json] [--live] [--offline] [--deps] comprueba la instalación; --live hace una llamada real a Claude, --offline omite las comprobaciones de actualización (GitHub, versión de Claude Code), --deps también busca vulnerabilidades conocidas en los paquetes instalados (osv.dev)
maxxing harden [--undo] [--no-restart] aplica (o quita) el aislamiento systemd del servicio y luego lo reinicia; restaura los ajustes anteriores si el servicio no vuelve a arrancar (consulta Seguridad)

maxxing init

Crea o actualiza la configuración, el espacio de trabajo, las skills y las tareas programadas por defecto. Se puede volver a ejecutar sin riesgo: los valores y archivos existentes se conservan, salvo que indiques una opción. Las plantillas del espacio de trabajo (proyectos por defecto general, system, tutorial) se copian solo cuando faltan, y un proyecto o tema por defecto que hayas borrado nunca se vuelve a crear. Las tareas programadas por defecto se crean una sola vez cada una (Compactación de memoria, Buscar actualizaciones, Tareas de la mañana y Recordatorio de renovación desactivadas).

Opción Efecto
--workspace PATH carpeta del espacio de trabajo (por defecto /root/maxxing)
--files-root PATH raíz de la página Archivos (por defecto: la carpeta personal)
--port N puerto HTTP (por defecto 8787)
--bind IP 127.0.0.1 o la IP de Tailscale; las direcciones públicas se rechazan
--public-url URL p. ej. https://ui.example.com; "" la borra
--timezone TZ nombre IANA (por defecto: la zona del sistema). Mantenla igual que la zona del sistema (timedatectl), que es la que usa cron, salvo que se conserve el reloj del servidor
--system-clock follow\|keep follow: cambiar la zona horaria en la interfaz también cambia la zona del sistema; keep: no tocarla nunca (servidor compartido), las tareas comprueban su horario en tu zona
--claude-dir PATH carpeta de Claude Code para Harness Maxxing (por defecto ~/.claude; "" = volver a ella). Otra carpeta lo mantiene separado de un Claude Code que ya se use en el servidor (se pasa a las sesiones como CLAUDE_CONFIG_DIR)
--language en\|fr idioma de la interfaz
--secret-from-stdin NAME guarda un secreto leído desde stdin: claude_oauth_token, anthropic_api_key, github_update_token
--no-crons no crea las tareas programadas por defecto
--quiet, --json control de la salida

Ejemplo: printf %s "$TOKEN" | maxxing init --quiet --secret-from-stdin claude_oauth_token.

Reinicia el servicio después de cambiar el puerto, la dirección de enlace o la URL pública: systemctl restart claude-maxxing.

maxxing update

Opción Efecto
(ninguna) descarga la nueva versión, vuelve a aplicar tus personalizaciones encima, sincroniza las dependencias, actualiza skills y plantillas, reinicia, comprueba que el servicio responde (si no, revierte) e imprime el registro de cambios. Códigos de salida: 0 hecho, 3 las personalizaciones entran en conflicto (no se cambió nada: adáptalas y luego usa --resume), 4 revertido, 1 otro error
--resume termina una actualización después de adaptar las personalizaciones a mano (rebase completado)
--rollback vuelve al código que se ejecutaba antes de la última actualización (se niega, sin cambiar nada, mientras el directorio del código tenga cambios sin guardar)
--branch B cambia a la rama B y la sigue
--check solo comprueba: versión instalada frente a la última y las líneas del registro de cambios intermedias. No cambia nada; código de salida 0 haya o no actualización, 1 solo cuando falla la comprobación
--check --notify además envía un mensaje de Telegram (hilo Crons) cuando hay una actualización disponible; no ocurre nada si Telegram no está configurado. Lo usa la tarea semanal "Buscar actualizaciones"
--check --json resultado legible por máquinas {ok, current, latest, behind, available, changelog, ...}
--no-restart no reinicia el servicio
--preflight simula la actualización en una copia desechable: por cada personalización se mantiene / sobre código que cambió / ya incluida / conflictos, además de los cambios sin guardar, las ediciones hechas en la interfaz web, las extensiones que la nueva versión no admite, las notas de actualización por aplicar y un veredicto (simple o adapt). No cambia nada; --json para obtenerlo en formato legible por máquinas
--verify comprueba que cada extensión se carga y cada widget responde, y ejecuta la comprobación de cada personalización. Salida 0 todo funciona, 1 hay algo que arreglar
--smart lo usa el botón Actualizar: tras el reinicio, el servidor abre una sesión system/harness que aplica las notas de actualización

Cada instalación descarga la nueva versión desde su remoto git (un fork privado o un espejo: con el token de lectura guardado como github_update_token). Un servidor instalado con una clave antes de la 2.0.0a87 pasa primero por sí solo al repositorio git público (consulta Licencia). Después de una actualización, el comando muestra las notas de actualización del espacio de trabajo de las versiones instaladas (<code>/docs/upgrade/<version>.md): instrucciones para que Claude adapte tu espacio de trabajo. El camino más fácil es el tema system/harness (system/update en servidores antiguos): di "actualiza" y Claude comprueba, te lo explica, actualiza cuando le digas que sí y después aplica estas notas.

Solo actualizaciones firmadas (opcional). Pon "update_verify_signature": true en /var/lib/claude-maxxing/config.json y maxxing update instalará una nueva versión solo si su commit, o una etiqueta que apunte a él, lleva una firma válida de una clave en la que git confíe en este servidor (git verify-commit / git verify-tag: importa la clave GPG del mantenedor con gpg --import, o apunta gpg.ssh.allowedSignersFile a su clave SSH). Si no, la actualización se detiene antes de cambiar nada (código de salida 1, un aviso en el feed de notificaciones y en Telegram) y la versión actual sigue funcionando. maxxing doctor indica si la última versión descargada supera la comprobación. Desactivado por defecto.

maxxing license

Comando Efecto
maxxing license status [--json] la clave Enterprise opcional de este servidor (tipo, correo, fecha de fin) y de dónde vienen las actualizaciones
maxxing license activate [HM-…] registra una clave Enterprise, comprobada por el servidor de licencias (se pide oculta; --key-from-stdin la lee desde stdin)
maxxing license remove olvida la clave y libera su plaza en la licencia
maxxing license release libera la plaza de la clave sin olvidarla

Consulta Licencia.

maxxing video, maxxing pdf

Comando Efecto
maxxing video new DIR crea un proyecto Remotion en DIR (node_modules enlazado a la instalación compartida)
maxxing video status Node.js, Remotion y el navegador headless en este servidor (salida 1 si no está listo)
maxxing pdf IN.html OUT.pdf imprime un archivo HTML o una URL https:// a PDF (A4, con fondos)
scrapling extract get\|fetch\|stealthy-fetch URL OUT.md descarga una página (HTTP / navegador / navegador sigiloso) a Markdown, texto o HTML
scrapling-python SCRIPT.py ejecuta un script de scraping con Scrapling y su navegador
bash /opt/claude-maxxing/install.sh --tools (re)instala Node.js, Chromium, Remotion y Scrapling (= maxxing deps update)

maxxing import

Comando Efecto
maxxing import --prompt [hermes\|claude-code\|openclaw\|other] muestra el prompt que debes dar a tu antiguo agente
maxxing import ZIP --dry-run [--json] muestra lo que se importaría
maxxing import ZIP [--json] lo importa (no se sobrescribe nada; consulta Importar)

maxxing custom

Cambios hechos en el código del producto, registrados para que las actualizaciones los conserven (consulta Personalización).

Comando Efecto
maxxing custom / status [--json] personalizaciones, cambios sin guardar en el directorio del código, actualización pendiente
maxxing custom save "TITLE" --why "REASON" [--files F…] [--check "CMD"] guarda como una personalización los cambios sin confirmar (rechazado dentro de web/); --check = un comando que tiene éxito mientras todo funciona, y se ejecuta después de cada actualización
maxxing custom check ID "CMD" define (o borra con "") la comprobación de una personalización
maxxing custom drop ID elimina una personalización
maxxing custom export reescribe <workspace>/CUSTOMIZATIONS.md y customizations/*.patch
maxxing custom restore [--from DIR] vuelve a aplicar los parches guardados (servidor nuevo)

maxxing deps

Los componentes externos (server/maxxing/deps.toml: uv, Python, Node.js, Claude Code, Caddy, Scrapling, Chromium, Remotion, los modelos Whisper, Garage). Como root.

Comando Efecto
maxxing deps list [--json] versión instalada y esperada de cada uno (salida 1 si falta alguno o está desactualizado)
maxxing deps verify [NAME...] sumas de verificación de los binarios instalados, archivos que no pertenecen a root o en los que otros pueden escribir
maxxing deps update [NAME...] [--notify] instala las versiones fijadas junto a las antiguas y cambia a ellas cuando funcionan (cada maxxing update lo hace)
maxxing deps remove NAME [--force] borra lo que el manifiesto indica para ese componente (--force para uv, Python, Claude Code)
maxxing deps clean [--dry-run] [--caches] versiones antiguas, navegadores sin usar, restos, registros demasiado grandes (tarea semanal); --caches también vacía las cachés de uv / npm / pip / npx de root, compartidas con las demás herramientas del servidor
maxxing deps check [--notify] vulnerabilidades conocidas (osv.dev) en los lockfiles y componentes (tarea semanal, notificación)

maxxing uninstall

Opción Efecto
(ninguna) elimina el servicio, el sitio de Caddy, el bloque gestionado del crontab, las skills del producto y /usr/local/bin/maxxing; conserva el código, el estado y el espacio de trabajo
--purge también borra el código (/opt/claude-maxxing), el estado (/var/lib/claude-maxxing) y los componentes externos de deps.toml (uv, Node.js, las herramientas; Claude Code y Caddy cuando los instaló el instalador; su archivo de swap)
--purge-workspace también borra el espacio de trabajo (irreversible)
--yes no pide confirmación

Tareas programadas

Comando Para qué sirve
maxxing cron list tareas, horarios, últimos resultados
maxxing cron run <id> ejecuta una tarea ahora en tu terminal y espera a que termine; --detach la inicia en su propia unidad systemd con los límites de memoria y vuelve (lo que llama el crontab); --if-due la ejecuta solo si su horario coincide con el momento actual en tu zona (reloj del servidor conservado)
maxxing cron sync reescribe el bloque gestionado del crontab a partir de la lista de tareas

Feed de notificaciones

Comando Para qué sirve
maxxing feed post "Title" [--body] [--level info\|success\|warning\|error] [--source NAME] [--url] [--dedupe KEY] [--group KEY] [--quiet] [--json] añade un evento (panel, y Telegram según la regla de la fuente); --dedupe ignora una repetición, --group agrupa las repeticiones
maxxing feed list [--unread] [--source] [--limit] [--json] últimos eventos
maxxing feed read-all marca todo como leído
maxxing packs list [--json] proyectos iniciales y si están instalados
maxxing packs add ID [ID...] [--json] añade proyectos iniciales (nunca sobrescribe: solo se añaden los archivos que faltan; las tareas se crean desactivadas)

Claves

Comando Para qué sirve
maxxing keys list [--json] nombres, notas y si cada clave está expuesta (nunca los valores)
maxxing keys get NAME muestra un valor (código de salida 1 si falta)
printf %s "$VALUE" \| maxxing keys set NAME [--note TEXT] [--no-expose] crea o actualiza una clave; el valor llega por stdin, nunca por la línea de comandos. Una clave nueva se expone (variable de entorno de todas las sesiones y tareas de shell) salvo que uses --no-expose; una actualización conserva su nota y su exposición
maxxing keys delete NAME elimina una clave
maxxing infra status / infra list [--kind K] [--json] el inventario de Infra: fuentes, problemas, cada sitio / base de datos / bucket / dominio / servidor (última instantánea)
maxxing infra refresh lee todo ahora (este servidor, otros servidores por SSH, Cloudflare, Hostinger, comprobaciones de URL)
maxxing infra site add NAME (--dir D \| --port N) [--host H] [--dns] [--project P] publica un sitio: https://<Harness address>/<NAME>/ (aislado) o en su propio host; site remove, site list, reserved
maxxing infra db install / db create NAME / db sqlite PATH / db backup PostgreSQL en localhost, una base de datos + usuario por aplicación (URL en la caja fuerte como DB_<NAME>_URL), copias de seguridad nocturnas
maxxing infra bucket install / bucket create NAME [--public] buckets S3 en este servidor (Garage), claves en la caja fuerte como S3_<NAME>_*
maxxing infra server add NAME HOST [--user U] [--key K] lee otro servidor por SSH (server remove, server list)
maxxing infra annotate ID [--project P] [--note T] [--hide\|--show] asocia un recurso a un proyecto, le añade una nota, lo oculta

Los scripts leen las claves del entorno (os.environ["NAME"], $NAME); un script que renueva un token (un token de tienda de 24 horas, un secreto de webhook que acaba de crear) lo vuelve a guardar con maxxing keys set.

Servidores MCP

Comando Para qué sirve
maxxing mcp list [--json] [--no-check] todos los servidores MCP de Claude Code, dónde se aplican y su estado (primero consulta a Claude Code, unos segundos)
maxxing mcp add NAME URL [--where projects/P/topics/T] [--header 'Name: value'] [--sse] añade un servidor por dirección, para todas las sesiones o para un solo tema; secretos como ${KEY} desde la caja fuerte
maxxing mcp add NAME --command 'npx -y pkg' [--env KEY=VALUE] [--where …] añade un programa local
maxxing mcp remove NAME [--where …] lo elimina

Los inicios de sesión OAuth (estado "Por conectar") se hacen en Ajustes -> MCP -> Conectar. Consulta Servidores MCP.

Memoria y sesiones

Comando Para qué sirve
maxxing memory [--json] cada memory.md con su número de líneas y el límite de líneas (Ajustes -> Memoria)
maxxing sessions compact-logs [--dry-run] recorta las salidas de herramientas de los registros de sesión existentes y elimina las voluminosas listas de arranque de Claude y las líneas de progreso (libera espacio en disco; --dry-run solo informa de lo que se ahorraría)
maxxing sessions token-report [--days N] [--json] adónde van los tokens de tus sesiones, leído de las transcripciones de Claude Code: tamaño del contexto por llamada, caché reescrita tras una hora de inactividad o un cambio de modelo, las herramientas cuyas salidas llenan el contexto, y lo que habría ahorrado la compactación automática a 400k / 300k / 250k / 200k en esas mismas llamadas

Copia de seguridad

Comando Para qué sirve
maxxing backup status [--json] configuración y última ejecución
maxxing backup run hace la copia de seguridad ahora (código de salida 2 si se encontró un secreto)
maxxing backup restore [--ref COMMIT] restaura los archivos de la lista permitida
maxxing backup restore --from OWNER/NAME [--token T] servidor nuevo: configura un repositorio de copia de seguridad existente y luego restaura (el token también puede venir de $MAXXING_GITHUB_TOKEN)

Telegram

Comando Para qué sirve
maxxing telegram status [--json] bot, chat, hilos, ajustes, último error
maxxing telegram test envía un mensaje de prueba
maxxing voice status [--json] mensajes de voz: motor, modelo, disponibilidad
maxxing voice set [--engine] [--model] [--language] cambia los ajustes de voz
maxxing voice download [model] descarga un modelo de voz local
maxxing voice transcribe <file> transcribe un archivo de audio con el motor configurado

Instalador

curl -fsSL https://get.harness-maxxing.com | bash          # install / repair (from the public git repository, no key)
bash /opt/claude-maxxing/install.sh --update                # = maxxing update
bash /opt/claude-maxxing/install.sh --uninstall [--purge] [--purge-workspace]
bash /opt/claude-maxxing/install.sh --tools                 # (re)install Node.js, Chromium, Remotion, Scrapling (= maxxing deps update)
SOURCE_DIR=/path/to/copy bash /path/to/copy/install.sh      # install a local copy of the code (no download)
bash /opt/claude-maxxing/install.sh --secure                # security updates, fail2ban, firewall (FIREWALL=0: no firewall)
curl -fsSL https://get.harness-maxxing.com | bash -s -- --check   # look at the server first, change nothing

Variables: consulta Instalación.

Variables de entorno

Variable Uso
MAXXING_STATE directorio de estado (por defecto /var/lib/claude-maxxing); lo definen el servicio y el wrapper de la CLI
MAXXING_GITHUB_TOKEN token para maxxing backup restore --from
NO_COLOR salida sin colores
💡 ¿Atascado? Abre una sesión en el topic system › help y pregunta con tus palabras: Claude lee esta documentación en tu servidor y te responde.✏️ Mejorar esta página