Hermes + Claude Code: Mi VPS build system impulsado por Discord
Eran las 11:51 p.m. de un martes cuando escribí /build a Next.js task tracker with SQLite, deploy it to Vercel en un canal Discord y me alejé para preparar un café. Para cuando se apagó la tetera, mi agente Hermes había activado Claude Code como sub-agent en mi Hostinger VPS, había estructurado el proyecto, había enviado una confirmación inicial a un repositorio GitHub nuevo y activó una implementación de Vercel.
Luego falló.
No catastróficamente. Simplemente la forma específica y predecible en la que fallan las aplicaciones Next.js cuando las envía a un tiempo de ejecución serverless que lleva suposiciones SQLite del desarrollo local. La construcción se volvió ecológica. El despliegue se completó en 31 segundos. La primera solicitud a /api/tasks arrojó un 500 con un error de permiso de escritura del sistema de archivos de solo lectura Vercel entrega cada Lambda. No le había dicho a Claude Code nada sobre las restricciones de tiempo de ejecución; solo dije "implementarlo". El agente hizo exactamente lo que le pedí. La plataforma de implementación tenía otras ideas.
Lo que pasó después es la parte de la que quiero hablarles. Hermes recibió el registro de fallas a través del webhook Discord, lo devolvió a Claude Code como una tarea de seguimiento y Claude Code pasó los siguientes cuatro minutos refactorizando la capa de datos para usar Vercel KV en lugar de SQLite. Nuevo compromiso. Nuevo despliegue. Verde. Punto final de trabajo. Regresé de la cocina y encontré un mensaje Discord que decía, en esencia, "me encontré con un problema con el sistema de archivos serverless, se cambió a KV y se volvió a implementar. Demostración aquí". Todo el ciclo (el aviso original para la implementación de la producción en funcionamiento) tomó ocho minutos y cuarenta y tres segundos. Escribí cero líneas de código.
Ese es el sistema que quiero derribar. No la versión de marketing. La implementación real, los comandos reales y las partes que me molestaron, incluida la compensación de seguridad que la mayoría de los tutoriales omiten y la pregunta que me he estado haciendo todas las semanas: ¿cuándo realmente vale la pena esta capa de orquestación y cuándo simplemente estoy agregando partes móviles?
Por qué Hermes se sitúa entre Claude Code y yo
Permítanme abordar primero la pregunta escéptica obvia, porque me la hice durante unas tres semanas antes de cambiar: si Claude Code ya puede planificar, escribir, ejecutar e implementar código, ¿por qué estoy poniendo otro agente encima?
La respuesta corta es que Claude Code es una sesión de terminal brillante y Hermes es una capa de operaciones brillante. Resuelven diferentes problemas.
El punto fuerte de Claude Code es la profundidad dentro de una sola tarea. Entréguele una base de código, un objetivo y una terminal, y planificará, escribirá, probará e iterará con una calidad de razonamiento que es realmente difícil de superar en este momento. Pero Claude Code, por sí solo, no hace de forma natural el complicado pegamento operativo. No vigila sus propios despliegues ni reacciona ante fallos. No acepta comandos de Discord. No se ejecuta en un VPS mientras estás dormido, no hace malabarismos con tres proyectos en paralelo ni almacena tokens API cifrados en el disco para que dejes de pegarlos en cuadros de chat. Puede crear todo eso en torno a Claude Code con scripts de shell y trabajos cron. Lo he intentado. El resultado es una frágil pila de pegamento que debes mantener tú mismo.
Hermes Agent es el pegamento, pero una versión de mejora personal. Construido por Nous Research y lanzado el 25 de febrero de 2026, cruzó 95.600 estrellas GitHub en siete semanas y está al norte de 103.000 al momento de escribir este artículo: el tipo de trayectoria que solo se ve cuando algo resuelve un problema que la gente realmente tiene. Hermes viene con integraciones nativas para WhatsApp, Telegram, Discord, Slack y ahora QQBot, almacenamiento de tokens cifrados a través de hermes config set, un sistema de complementos, un modo orquestador que supervisa sub-agents y un circuito de aprendizaje que convierte tareas únicas en habilidades reutilizables. Tiene licencia del MIT y funciona con un VPS de $5.
Cuando Hermes trata a Claude Code como sub-agent, obtienes lo mejor de ambos. Claude Code hace la ingeniería real. Hermes maneja la orquestación: dónde se ejecuta el trabajo, quién tiene permiso para activarlo, cómo se reintentan los fallos, dónde residen los secretos y en qué plataforma de mensajería se encuentra cuando desea comprobar el estado. Ejecuto mi orquestador con el mismo patrón VPS que describí en [mi sistema de dos agentes OpenClaw y Hermes] (/openclaw-hermes-multi-agent-workflow), y la arquitectura se mantuvo bajo una carga real.
Hay una razón más profunda por la que esta combinación funciona: la disciplina de costos. Claude Code en una tarea autónoma larga quema tokens. Hermes se complace en ejecutar modelos más baratos para la capa de orquestación: la mayor parte de mi tráfico Hermes fluye a través de OpenRouter en modelos más livianos, mientras que Claude Sonnet 4.6 (actualmente $3 por millón de tokens de entrada, $15 por millón de tokens de salida en OpenRouter) maneja solo el trabajo de codificación real. La división me ahorra dinero real en cada proyecto, y los ahorros se acumulan a medida que ejecuto más tareas paralelas.
Pero nada de eso importa si no puedes hacer que funcione en primer lugar. Así que vamos a conectarlo.
La Fundación VPS: Por qué dejé de ejecutar agentes localmente
Ejecuté Claude Code localmente en mi Mac durante los primeros seis meses de uso. El patrón estaba bien para trabajar en solitario, pero se rompió en el momento en que quería tres cosas: tareas de larga duración que sobrevivieran a que cerrara la computadora portátil, una dirección estable para los webhooks Discord y un lugar donde pudieran ejecutarse múltiples sesiones de agentes paralelos sin competir por mi CPU durante las videollamadas. Un VPS resuelve los tres a la vez.
Yo uso Hostinger. Su plan KVM 2 actualmente cuesta $ 6,99 por mes de lanzamiento (se renueva alrededor de $ 11,99 /month, que es la parte sobre la que las páginas de marketing no hablan) y le ofrece 2 vCPU, 8 GB de RAM, almacenamiento SSD NVMe y una IP dedicada. Eso es suficiente para orquestar algunas sesiones de Claude Code en paralelo. Su KVM 1 a $4.99/month con 4GB de RAM también funciona si solo está ejecutando un único agente a la vez: Hermes en sí es sorprendentemente liviano en recursos porque la mayor parte del trabajo pesado ocurre dentro de los proveedores de modelos, no en la caja.
Si eres una persona de Hetzner o DigitalOcean, esos también funcionan bien. Los únicos requisitos que importan son el acceso SSH, Ubuntu 22.04 o posterior, Node.js 18+ y acceso a la red saliente a su proveedor modelo. Estoy especificando Hostinger porque la consola SSH a través del navegador que viene con ella significa que puedes instalar Hermes desde cualquier máquina, incluido el iPad en el que estoy escribiendo este párrafo.
Una vez que tenga VPS, el comando de instalación es realmente una línea. SSH, luego ejecute:
curl -fsSL https://hermes-agent.dev/install.sh | bash
Eso inicia Node, instala Hermes globalmente, crea un directorio de configuración ~/.hermes y lo lleva a un asistente de primera ejecución que le solicita las claves de su proveedor de modelo. Siempre elijo OpenRouter en esta etapa en lugar de ir directamente a Anthropic. La razón es simple: OpenRouter me permite intercambiar modelos por tarea sin cambiar la configuración, lo cual es importante cuando enruta el trabajo de planificación a un modelo económico y lo ejecuto a Claude Sonnet 4.6 o Opus 4.7.
Configure la clave OpenRouter con:
hermes config set OPENROUTER_API_KEY <your-key-here>
Ese comando almacena la clave cifrada en ~/.hermes/secrets.enc, no en texto plano, lo que importa más de lo que la gente cree. He auditado demasiados tutoriales en los que alguien te dice que export ANTHROPIC_API_KEY=sk-... en tu .bashrc y lo considera bueno. Esa clave ahora reside en su historial de shell, su desplazamiento hacia atrás de tmux y cualquier copia de seguridad de su directorio de inicio. El almacén cifrado de Hermes lo mantiene fuera de los tres lugares.
Ahora la parte que me llevó más tiempo hacer bien: instalar Claude Code como sub-agent en el mismo VPS.
Claude Code como subagente Hermes
Claude Code es una aplicación Node.js, distribuida a través de npm en @anthropic-ai/claude-code. La instalación estándar en VPS es sencilla:
sudo apt update && sudo apt install -y nodejs npm
npm install -g @anthropic-ai/claude-code
claude-code --version
La verificación de versión es importante. Si ve algo por debajo de 1.4.x a partir de mayo de 2026, se está perdiendo las mejoras de sub-agent que se implementaron a principios de este año y el resto de este flujo de trabajo no se comportará de la manera que lo describo.
La parte interesante es autenticar Claude Code sin un escritorio interactivo. La primera vez que ejecute claude-code en un VPS nuevo, imprimirá una URL de OAuth y esperará a que complete el flujo en un navegador. En un VPS sin cabeza, eso es un poco molesto pero no bloquea: la URL funciona desde cualquier dispositivo. Ábralo en su computadora portátil, complete el protocolo de enlace OAuth y Claude Code almacenará el token en ~/.config/claude-code/credentials.json en VPS. A partir de ese momento, su VPS tiene un Claude Code conectado que sobrevive a los reinicios.
Ahora conecta Claude Code a Hermes como sub-agent registrado. La configuración Hermes para esto se encuentra en ~/.hermes/agents.toml:
[agents.claude_code]
type = "subagent"
command = "claude-code"
args = ["--print", "--no-interactive"]
working_dir = "/home/mejba/projects"
allowed_tools = ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebSearch"]
max_concurrent = 3
timeout_seconds = 1800
La max_concurrent = 3 es la línea sobre la que quiero llamar su atención. Controla cuántas sesiones Claude Code paralelas se permite generar a Hermes. Empecé en 1 y fui subiendo. A las 3, mi caja KVM 2 se calienta pero es estable. A las 5, vi el Nodo OOM bajo carga cuando las tres sesiones llegaron a npm install al mismo momento. Sintonice esto con su VPS, no con lo que muestra el ejemplo de documentos.
El valor timeout_seconds = 1800 significa que Hermes finalizará cualquier tarea Claude Code que se ejecute durante más de treinta minutos. Eso suena agresivo hasta que hayas visto a Claude Code meterse en un bucle infinito de plan-ejecución-replanificación ante un mensaje vago. Es mejor fallar rápido y sacar a la luz el problema que dejar que un agente atascado queme tokens durante la noche.
Integración GitHub sin pegar tokens en el chat
Esta es la sección donde la mayoría de los tutoriales me pierden. Le dicen que pegue su token de acceso personal GitHub directamente en la ventana de chat del agente para que pueda clonar repositorios y enviar confirmaciones. Esa es una receta para la fuga accidental de tokens: en los registros de chat, en el historial del proveedor de modelos, en las capturas de pantalla que toma durante la depuración.
Hermes maneja esto de manera diferente. Usted genera un token de acceso personal detallado desde la configuración de desarrollador de GitHub; limítelo a los repositorios específicos que desea que el agente toque y otorgue solo Contents: read/write, Pull requests: write y Metadata: read. Luego guárdelo mediante el mismo comando de configuración cifrado:
hermes config set GITHUB_TOKEN <your-fine-grained-token>
Dentro de su directorio de trabajo Claude Code, le dice a git que use el token a través de la inyección de entorno de Hermes en lugar de incrustarlo en una URL remota. Mi configuración de git en VPS se ve así:
git config --global credential.helper '!f() { echo "username=mejba"; echo "password=$GITHUB_TOKEN"; }; f'
Esa pequeña función de shell extrae el token del entorno que Hermes inyecta en tiempo de ejecución, por lo que sus URL remotas permanecen limpias (https://github.com/user/repo.git, sin credenciales integradas), su token nunca aparece en la salida git config --list y rotar el token está a una línea de distancia hermes config set.
La pieza simbólica detallada importa. He visto a desarrolladores otorgar a su automatización un token de acceso personal clásico con alcance repo completo, que le brinda al agente acceso de escritura a cada repositorio privado de su cuenta, incluido el trabajo del cliente y los proyectos paralelos. No hagas eso. Genere un token detallado separado por proyecto, con alcance únicamente en el repositorio de ese proyecto. Si el agente se vuelve rebelde o el VPS se ve comprometido, su radio de explosión es un repositorio, no toda su presencia en GitHub.
El bot Discord que lo impulsa todo
La capa Discord es lo que hace que este flujo de trabajo parezca ciencia ficción en lugar de trabajos cron. Puedo estar en una reunión, en el tren, en mi sofá (en cualquier lugar donde tenga Discord abierto) y enviar código escribiendo lenguaje natural a un bot.
Configurarlo lleva unos diez minutos la primera vez. Repasa esto exactamente:
- Abra el Portal de desarrollador Discord, haga clic en "Nueva aplicación", asígnele el nombre que desee. 2. En el navegador izquierdo, haga clic en "Bot". En esa página, desplácese hacia abajo hasta Intenciones de puerta de enlace privilegiada y active Intención de contenido del mensaje. Este es el que la mayoría de los tutoriales olvidan. Sin él, su bot puede leer que existe un mensaje pero no puede leer su contenido. Pasarás una hora depurando "¿por qué mi bot me ignora?" antes de encontrar esta casilla de verificación. 3. Mientras esté en la página del Bot, haga clic en "Restablecer token" y copie el token inmediatamente; Discord solo lo muestra una vez. 4. Vaya a "OAuth2" → "Generador de URL". En Ámbitos, marque
botyapplications.commands. En Permisos de bot, marqueSend Messages,Read Message History,Use Slash CommandsyAttach Files. Discord genera una URL de invitación en la parte inferior de la página. 5.
Abra esa URL, elija el servidor en el que desea el bot y autorícelo. Aparecerá sin conexión porque aún no hemos iniciado el proceso.
De vuelta en VPS, almacene el token del bot en Hermes:
hermes config set DISCORD_BOT_TOKEN <token-you-just-copied>
Luego habilite el transporte Discord en ~/.hermes/transports.toml:
[transports.discord]
enabled = true
allowed_channel_ids = ["1198347...your-channel-id"]
allowed_user_ids = ["29384...your-discord-user-id"]
command_prefix = "/"
allowed_channel_ids y allowed_user_ids son la capa de seguridad que ninguna publicación de blog parece resaltar. Sin esas listas permitidas, cualquiera que pueda enviar un mensaje de texto a su bot puede manejar Claude Code en su VPS. Con ellos, el bot sólo te obedece en los canales que hayas autorizado explícitamente. Obtenga su ID de usuario Discord habilitando el Modo de desarrollador en la configuración de Discord, luego haga clic derecho en su nombre de usuario → Copiar ID de usuario.
Reinicie Hermes (hermes restart) y el bot se conectará. Escriba /status en su canal autorizado. Si ve una respuesta, el ciclo se cierra. A partir de este momento, cada comando que escriba en Discord va a Discord → Hermes → Claude Code → de nuevo a Discord. Estás impulsando compilaciones de producción desde una aplicación de chat.
Vercel Implementación automática: la última milla
Vercel es el objetivo de implementación predeterminado para cualquier cosa Next.js o interfaz estática, y la integración es tremendamente aburrida una vez configurada. Conecte su cuenta GitHub a Vercel, déle acceso al repositorio al que Claude Code enviará y configure Vercel para que se implemente automáticamente al enviar a main. Hecho.
El plan Hobby es en el que realizo la mayoría de los experimentos, y vale la pena conocer los límites porque te afectan de maneras específicas. A partir de mayo de 2026, Hobby le ofrece 100 GB de ancho de banda por mes, 1 millón de solicitudes perimetrales y 100 000 invocaciones de funciones serverless. El tiempo de espera de la función tiene un límite estricto de 60 segundos y el ancho de banda no tiene opción de excedente: alcance los 100 GB y sus implementaciones se detendrán hasta el siguiente ciclo de facturación. Para experimentación y demostraciones, todo eso está bien. Para cualquier cosa en la que el tiempo de actividad realmente importe, actualice a Pro antes de chocar contra la pared, no después.
La pieza Vercel agrega una vuelta más al bucle: escribo /build en Discord → Hermes enruta a Claude Code → Claude Code confirma y empuja a GitHub → GitHub activa el webhook Vercel → Vercel compila e implementa → Hermes sondea la URL de implementación de Vercel e informa a Discord con el estado. De un extremo a otro, un despliegue limpio se realiza en unos treinta segundos. La primera vez que ves cómo se cierra el ciclo en un proyecto que desarrollaste a partir de un solo mensaje de chat, es difícil no reírte.
El error SQLite: un tutorial sobre por qué la arquitectura sin servidor muerde
Pasemos ahora al fracaso que describí al principio, porque son los cinco minutos más útiles de toda esta publicación.
Cuando Claude Code implementó mi rastreador de tareas Next.js, hizo algo perfectamente razonable: eligió SQLite para almacenamiento. SQLite es la respuesta correcta para casi todos los proyectos pequeños de Node.js. No tiene configuración, se envía como un solo archivo y elimina todo el paso de "activar una base de datos". Si hubiera estado implementando esa aplicación en un Hostinger VPS o en un contenedor de larga duración, habría funcionado maravillosamente.
Vercel no es un contenedor de larga duración. Vercel es serverless. Cada ruta API se ejecuta dentro de una función AWS Lambda y Lambda tiene reglas: el sistema de archivos es de solo lectura excepto /tmp, que es efímero y no se comparte entre invocaciones. SQLite necesita escribir en su archivo de base de datos. El archivo de base de datos de mi proyecto vivía en ./data/tasks.db. Cuando Lambda intentó abrir ese archivo para escribir, el tiempo de ejecución devolvió EROFS: read-only file system, mi ruta API devolvió 500 y la implementación "tuvo éxito" aunque no fue funcional en absoluto.
Este es el modo de falla específico que debe internalizar antes de permitir que un agente autónomo envíe código a las plataformas serverless: el agente no conoce la topología de tiempo de ejecución de su objetivo a menos que usted se lo indique. Claude Code conocía Next.js. Conocía SQLite. De forma predeterminada, no sabía que esta implementación particular de Vercel prohíbe las escrituras en el sistema de archivos fuera de /tmp.
La solución que produjo el bucle de reintento de Hermes fue correcta: intercambie SQLite por un almacén de clave-valor administrado que sea compatible con los arranques en frío de serverless. Vercel KV (o Upstash Redis, que es lo que lo respalda bajo el capó) le brinda almacenamiento persistente que funciona en todas las invocaciones de funciones, con un nivel gratuito que maneja cómodamente el tráfico de demostración. Claude Code refactorizó la capa de datos en aproximadamente cuatro minutos, la nueva implementación se volvió verde y la aplicación funcionó.
Pero aquí está la lección más profunda, y es la que ahora incluyo en cada mensaje Hermes que escribo para implementaciones de producción: dígale al agente las restricciones de tiempo de ejecución desde el principio. Mi plantilla de mensaje predeterminada actual incluye un párrafo específico de destino para proyectos Vercel:
Implementación de destino: Vercel serverless. Restricciones: ningún sistema de archivos escribe fuera de /tmp, tiempo de espera de función de 60 segundos, no hay trabajadores en segundo plano de ejecución prolongada, prefiera Vercel KV o servicios administrados externos para el estado. Utilice el tiempo de ejecución perimetral cuando sea sensible a la latencia.
Ese único bloque de contexto, antepuesto a cualquier tarea dirigida a Vercel, ha eliminado por completo la categoría de falla SQLite-on-serverless. El agente no es psíquico. Dígale qué requiere el entorno de producción.
La conversación sobre seguridad que la mayoría de los tutoriales omiten
Voy a ser directo aquí porque la versión alegre de este artículo "mira qué fácil es" sería irresponsable. Cuando le otorga a Hermes acceso completo a la terminal en un VPS, y eso es exactamente lo que está haciendo cuando le permite generar Claude Code con Bash en su lista de herramientas permitidas, está creando un agente automatizado que puede ejecutar comandos de shell arbitrarios en una máquina que contiene su token GitHub, sus claves de proveedor de modelo y acceso de escritura. a sus implementaciones de producción.
Hay tres cosas que deberían hacerte detenerte y pensar antes de accionar este interruptor.
En primer lugar, la inyección inmediata es real y no teórica. Si su bot Discord está configurado para leer mensajes y su agente tiene acceso a terminal, cualquiera que pueda convencer a su agente de ejecutar un comando malicioso a través de una entrada diseñada tendrá acceso equivalente a root a su VPS. La lista de permitidos allowed_user_ids en su configuración Hermes Discord es su defensa más importante aquí. Si un extraño puede enviarle un mensaje de texto a tu bot, ya estás perdido. Bloquee con fuerza las listas de permitidos de canales y usuarios.
En segundo lugar, un VPS comprometido es un todo comprometido. Trate el VPS de la misma manera que trataría a cualquier servidor de producción. Deshabilite la contraseña SSH (solo clave). Habilite un firewall: ufw enable && ufw allow 22 && ufw default deny incoming es el mínimo absoluto. Ejecute actualizaciones desatendidas para parches de seguridad. Mantenga una copia de seguridad cifrada de su ~/.hermes/secrets.enc y rote las claves trimestralmente. Nada de eso es paranoico. Es el costo básico de ejecutar un agente automatizado lo que puede afectar las cosas.
En tercer lugar, analice deliberadamente las herramientas del agente. La matriz allowed_tools en mi configuración Hermes es ["Read", "Write", "Edit", "Bash", "Glob", "Grep", "WebSearch"]. Observe lo que no está ahí: cualquier cosa que pueda filtrar datos fuera de los canales aprobados. No le doy a sub-agent acceso a capacidades HTTP POST arbitrarias, clientes de correo o CLI de proveedores de nube que no sean relevantes para el proyecto. Cuanto más estrecha sea la superficie de la herramienta, menor será el radio de explosión si algo sale mal.
Específicamente para el trabajo del cliente, ejecuto un VPS separado por proyecto de alta confianza. El costo es de doce dólares al mes por dos cajas en lugar de una, y el aislamiento significa que un solo proyecto comprometido no puede contaminar a los demás. Esa es una póliza de seguro barata.
El resumen honesto es este: este flujo de trabajo le da al agente AI un poder operativo significativo. Las ganancias de productividad son reales, pero van acompañadas de riesgos que deben gestionarse activamente. Si no está dispuesto a realizar el trabajo de seguridad, ejecute Claude Code localmente y acepte las limitaciones.
¿Cuándo vale realmente la pena la orquestación Hermes?
Quiero responder esto directamente porque es la pregunta que recibo con más frecuencia y la respuesta no es "siempre".
La orquestación Hermes vale la pena cuando tienes dos de los siguientes:
- Quieres realizar el trabajo de codificación desde tu teléfono o desde aplicaciones de mensajería mientras estás lejos de tu máquina de desarrollo.
- Está ejecutando varias sesiones de agentes en paralelo (tres proyectos, cuatro proyectos) y necesita un supervisor que distribuya el trabajo y detecte las fallas en un solo lugar.
- Está realizando tareas de agente programadas o recurrentes (generación de contenido nocturno, extracción de mercado cada hora, monitoreo de implementación) donde una ejecución de Hermes administrada por cron es más confiable que reabrir Claude Code localmente.
- Necesita administración de secretos cifrados porque está rotando tokens de clientes, trabajando en múltiples organizaciones GitHub o está paranoico con respecto a la higiene de credenciales.
- Estás creando una automatización que necesita reaccionar a eventos externos (webhooks, fallas de implementación, activadores de programación) sin que tengas que sentarte frente al teclado.
La orquestación Hermes es excesiva cuando:
- Estás trabajando en un solo proyecto, en tu escritorio, con un horario de trabajo razonable. Simplemente abra Claude Code en una terminal. La capa de orquestación añade una complejidad operativa de la que no se beneficiará.
- No tienes ninguna de las necesidades de tareas paralelas o control remoto mencionadas anteriormente. El costo de la infraestructura (VPS, tiempo dedicado a aprender la configuración de Hermes, mantenimiento de la seguridad) supera las ganancias en conveniencia.
- Estás en las primeras etapas de tu viaje Claude Code. Primero, aprenda bien Claude Code, luego coloque Hermes encima una vez que haya identificado los puntos de fricción específicos que resolvería. No empieces con la capa de orquestación: no sabrás qué pedirle.
Para mí, personalmente, el momento en que Hermes ganó su lugar fue cuando comencé a ejecutar Claude Code en tres proyectos de clientes en paralelo y necesitaba algo para recordar qué sesión era cuál, enrutar los mensajes Discord correctos al canal de proyecto correcto y mantener separados los registros de implementación. Antes de eso, solo estaba agregando partes móviles.
Los números de velocidad, honestamente
El tutorial de David Andre en el que aprendí este flujo de trabajo afirma ganancias de velocidad de desarrollo de 4 a 8 veces. Quiero tener cuidado con ese número porque la forma en que lo mides es importante.
Para proyectos totalmente nuevos donde el trabajo es "desarrollar una aplicación CRUD y enviarla a un nivel gratuito", sí, la aceleración es real. Lo que antes me llevaba una tarde de configuración, andamiaje e implementación de depuración, ahora me lleva menos de quince minutos desde el mensaje hasta la URL de trabajo. Eso es algo así como una compresión 10x en esa categoría específica de trabajo.
Para el trabajo de proyectos donde el cuello de botella son las decisiones de diseño, el juicio del producto o la comprensión del dominio, la aceleración es mucho menor, tal vez de 1,5 a 2 veces. El agente no es más rápido que yo a la hora de decidir qué construir. Es más rápido en las partes de escribir y pegar. Cuando la restricción pasa al pensamiento, la capa de orquestación no ayuda mucho.
Para el mantenimiento y la refactorización de bases de código existentes, las ganancias se encuentran en algún punto intermedio. Quizás 3x. Más rápido que el manual, más lento que el nuevo porque el agente tiene que cargar y razonar sobre más contexto existente, y porque reviso más cuidadosamente el código de producción.
El compuesto, en toda la combinación de trabajos que realmente hago, ha tenido un aumento de rendimiento de aproximadamente 2,5 veces desde que me mudé a esta pila. Real, pero no el titular 8x.
Adónde voy a llevar esto a continuación
El patrón con el que estoy experimentando ahora es impulsado por voz en lugar de texto. Hermes admite el transporte de notas de voz de Telegram y comencé a grabar notas de voz rápidas que describen lo que quiero crear mientras camino o conduzco. Whisper transcribe, Hermes dirige la tarea transcrita a Claude Code en VPS, y cuando me siento frente a un teclado real, el trabajo de andamiaje está terminado. Se siente menos como controlar una herramienta y más como hablar con un ingeniero joven que nunca duerme.
Lo escribiré una vez que haya eliminado las asperezas. Por ahora, este es el sistema. Hermes en un VPS de $7. Claude Code como sub-agent realizando la codificación real. Discord como cabina. GitHub y Vercel como rieles. Tokens cifrados, usuarios incluidos en la lista permitida, acceso a herramientas con alcance. Un ciclo de reintento que aprende de sus errores.
Si vas a probar esto, empieza poco a poco. No conecte toda la pila el primer día. Gire VPS, instale Hermes, haga funcionar un único comando Discord /status. Luego agregue Claude Code como sub-agent y ejecute una tarea trivial: "crear una aplicación Hello-World Express y confirmarla". Luego agregue la implementación automática Vercel. Cada capa tiene sus propios modos de falla y conviene aprenderlos de forma aislada antes de que se agraven.
Hay una pregunta que vale la pena plantearse al decidir si construir esto: en doce meses, ¿cuánto del trabajo de ingeniería que actualmente se encuentra en su editor estará en una ventana de chat? Mi apuesta honesta es: más de lo que piensas. Adquiera fluidez en este patrón ahora, mientras que el costo de equivocarse es sólo una noche de experimentación. Si lo dominas con fluidez más adelante, pagarás la matrícula según los plazos del cliente.
Preguntas frecuentes
¿Qué hace Hermes Agent que Claude Code no pueda hacer solo?
Hermes maneja la capa de orquestación alrededor de Claude Code: integraciones de plataforma de mensajería (Discord, Telegram, WhatsApp, Slack), almacenamiento de tokens cifrados, supervisión paralela de sub-agent, ejecución de tareas programadas y notificaciones multiplataforma. Claude Code sigue siendo el cerebro de la ingeniería; Hermes es la capa de operaciones. Para obtener un desglose completo de la arquitectura, consulte la sección anterior sobre por qué Hermes se encuentra entre usted y Claude Code.
¿Cuánto cuesta ejecutar Hermes más Claude Code en un VPS?
Una configuración viable cuesta entre $ 7 y $ 12 por mes para VPS (precio de lanzamiento de Hostinger KVM 2), más el uso de su modelo en OpenRouter o facturación directa de Anthropic. Claude Sonnet 4.6 actualmente cuesta $3 por millón de tokens de entrada y $15 por millón de tokens de salida a través de OpenRouter, por lo que los costos por tarea varían según la complejidad. La mayoría de los días gasto entre $2 y $5 en tarifas de modelo en toda la pila Hermes.
¿Es seguro otorgar acceso a la terminal de un agente AI en mi VPS?
Es manejable, no está libre de riesgos. Bloquee el canal Discord y las listas permitidas de usuarios, use tokens GitHub específicos por repositorio, ejecute un firewall, deshabilite la contraseña SSH y rote las claves trimestralmente. La sección anterior de compensaciones de seguridad cubre los controles específicos que ejecuto. Trate el VPS como una infraestructura de producción, no como un entorno aislado.
¿Por qué falló la implementación de SQLite en Vercel?
Vercel ejecuta todas las rutas API en AWS Lambda, donde el sistema de archivos es de solo lectura fuera de /tmp. SQLite necesita escribir en un archivo de base de datos, por lo que el tiempo de ejecución devuelve EROFS: read-only file system en cada escritura. La solución es utilizar una tienda administrada como Vercel KV o Upstash Redis. Pase siempre las restricciones de tiempo de ejecución al agente en el mensaje inicial; consulte la sección SQLite para conocer la plantilla de mensaje exacta que uso ahora.
¿Cuándo debo omitir Hermes y simplemente usar Claude Code directamente?
Si está trabajando en un solo proyecto en su escritorio durante el horario laboral, omita Hermes; simplemente abra Claude Code en una terminal. La capa de orquestación vale la pena cuando necesita agentes paralelos, control remoto basado en chat, tareas programadas o administración cifrada de múltiples tokens. Para la mayoría de los desarrolladores independientes en su primer mes con Claude Code, la terminal local es la respuesta correcta.
Trabajemos juntos
¿Quiere crear sistemas AI, automatizar flujos de trabajo o ampliar su infraestructura tecnológica? Me encantaría ayudar.
- Fiverr (compilaciones e integraciones personalizadas): fiverr.com/s/EgxYmWD
- Cartera: mejba.me
- Ramlit Limited (soluciones empresariales): ramlit.com
- ColorPark (diseño y marca): colorpark.io
- xCyberSecurity (servicios de seguridad): xcybersecurity.io