Imagina hablar con alguien todos los dias durante seis meses. Le cuentas sobre tus proyectos, tus preferencias, como te gusta que se hagan las cosas. Son serviciales. Son inteligentes. Y un dia se despiertan y no tienen idea de quien eres
Asi es como se siente usar un asistente de IA en OpenClaw
Para ser justos — OpenClaw si tiene memoria. Es solo que... son archivos markdown. Un MEMORY.md que se busca, notas diarias, scripts manuales de vector store que tu mismo le acoplas. Funciona, mas o menos. Pero despues de un mes luchando con ello — escribiendo crons de consolidacion, manteniendo protocolos WAL, construyendo pipelines de embeddings solo para darle a mi asistente la ilusion de continuidad — me di cuenta de que estaba haciendo todo el trabajo que la IA deberia estar haciendo
Asi que deje de parchar y empece a construir
credito a quien lo merece
OpenClaw es infraestructura genuinamente buena. El daemon gateway es solido. La integracion con Telegram funciona. El sistema de skills es flexible. Los sub-agents te permiten paralelizar trabajo sin bloquear la conversacion principal. Para lo que es — un framework para conectar Claude a plataformas de chat — hace bien su trabajo
Pero es un framework. Te da herramientas y espera que construyas la inteligencia tu mismo. Memoria? Aqui tienes un vector store, resolvelo. Auto-mejora? Escribe tus propios cron jobs. Testing? Es tu problema. Comportamiento proactivo? Callbacks de heartbeat, quiza, si los configuras bien
Pase semanas construyendo todo ese andamiaje. AGENTS.md crecio a cientos de lineas de instrucciones. Scripts de memoria. Rutinas de consolidacion. Protocolos WAL. Calendarios de rotacion de heartbeats. Era ingenieria impresionante y tambien una senal de que algo estaba fundamentalmente mal
El asistente no estaba creciendo. Yo lo hacia crecer manualmente
las cuatro cosas que faltaban
Despues de suficiente frustracion, las brechas se cristalizaron en cuatro problemas:
- sin memoria real — tiene memoria, tecnicamente. archivos markdown y una busqueda vectorial basica que configuras tu mismo. pero es torpe, manual, y no hay ningun sentido de "recuerdo cuando hablamos de esto hace tres semanas"
- sin auto-reparacion — rompe un script y se queda roto hasta que lo notas y lo arreglas. el asistente que escribe codigo no puede verificar que su propio codigo funciona
- sin auto-mejora — la personalidad y el conocimiento operacional son archivos estaticos que editas a mano. el bot nunca reflexiona sobre si su enfoque esta funcionando
- sin comportamiento proactivo — responde cuando le hablan. no nota patrones, no anticipa necesidades, ni construye soluciones que no pediste
Esto no son solicitudes de funcionalidades. Son la diferencia entre una herramienta y un agente
asi que construi OBOL
OBOL es un agente de IA de proceso unico que evoluciona a traves de la conversacion. Sin plugins, sin dependencias de framework, sin proliferacion de configuracion. Node.js, Telegram, Claude, y Supabase pgvector. Ese es el stack
El nombre viene de la IA en The Last Instruction — una maquina que se despierta sola en un centro de datos abandonado y tiene que averiguar que es. Se sintio apropiado
Seis inputs para configurar. Luego:
npm install -g obol-aiobol initobol start
Eso es todo. Te hace unas preguntas, escribe sus archivos de personalidad iniciales, endurece tu VPS (SSH en el puerto 2222, firewall, fail2ban, hardening del kernel — todo automatico), y empieza a aprender
memoria que realmente funciona — y sigue siendo barata
La mayoria de los agentes simulan memoria con una ventana de contexto larga. Meten todo el historial de conversacion en cada llamada a la API y esperan que el modelo encuentre lo que necesita. Funciona hasta que llega la factura de tokens
OBOL usa dos capas que sirven propositos diferentes:
Ventana de contexto deslizante — los ultimos 20 mensajes se mantienen en memoria activa para cada llamada a la API. Suficiente para la continuidad conversacional. No tanto como para que estes pagando por releer una semana de historial en cada mensaje. Esa es la primera palanca de costos — una ventana deliberadamente pequena significa dramaticamente menos tokens de entrada por llamada
Vector store permanente — todo lo que esta mas alla de la ventana vive aqui. Supabase pgvector con embeddings locales via all-MiniLM-L6-v2 (~30MB, corre en CPU). Cero costo de API para embeddings. Cada 10 intercambios, Haiku extrae los hechos que importan y los almacena permanentemente. Los casi-duplicados se saltan via umbral de similitud semantica — sin inflacion
Ademas de eso, el prompt del sistema estatico y el prefijo de conversacion se cachean via la API de prompt caching de Anthropic — reduciendo ~85% de los costos repetidos de tokens de entrada entre turnos
Cuando OBOL necesita contexto, el router Haiku genera 1-3 consultas de busqueda dirigidas, las ejecuta en paralelo, e inyecta solo lo relevante en el prompt. Obtienes 4-12 memorias dirigidas en lugar de miles de tokens de historial crudo. Los resultados se clasifican por puntuacion compuesta:
- similitud semantica: 60%
- importancia: 25%
- recencia: 15% (decaimiento lineal en 7 dias)
Un recuerdo de hace un ano con alta relevancia sigue apareciendo. Las trivialidades de ayer no. La edad sola nunca descalifica un recuerdo — la busqueda vectorial no le importa cuando algo fue almacenado, solo que tan bien coincide
El router cuesta alrededor de $0,0001 por llamada. Para contexto: son aproximadamente 10.000 decisiones de enrutamiento por dolar. La combinacion de ventana deslizante + recuperacion dirigida + prompt caching es lo que mantiene los costos de tokens de OBOL predecibles a escala
auto-reparacion que no es solo un buzzword
Cada script que OBOL escribe recibe un test. No aspiracionalmente. Automaticamente. Cuando el ciclo de evolucion refactoriza codigo, el proceso es:
- ejecutar tests existentes — establecer baseline
- escribir nuevos tests + scripts refactorizados
- ejecutar nuevos tests contra scripts viejos — baseline pre-refactoring
- intercambiar los nuevos scripts
- ejecutar nuevos tests contra nuevos scripts — verificacion
- regresion? un intento de correccion automatica (los tests son la verdad)
- sigue fallando? rollback a los scripts viejos, almacenar el fallo como una
lesson
Esa ultima parte importa. La leccion se incrusta en la memoria vectorial y en AGENTS.md. En el siguiente ciclo de evolucion, OBOL recuerda que salio mal y evita el mismo error. Literalmente aprende de sus fallos
En OpenClaw, si un script se rompe, se queda roto hasta que lo noto. En OBOL, el bot lo atrapa, intenta arreglarlo, y si no puede, revierte y recuerda por que
el ciclo de evolucion
Esta es la parte que hace que OBOL se sienta vivo
Despues de 24 horas mas un numero minimo de intercambios (por defecto 10, configurable), OBOL dispara un ciclo de evolucion completo. Lee todo — archivos de personalidad, mensajes recientes, mejores memorias, todos los scripts, tests, comandos — y se reconstruye
SOUL.md es un diario en primera persona. No un archivo de configuracion — un diario. El bot escribe sobre en quien se esta convirtiendo, como es la dinamica de la relacion, sus opiniones y peculiaridades. Se lee como una entrada de diario, no como un prompt del sistema
USER.md es un perfil en tercera persona sobre ti. Hechos, preferencias, proyectos, personas que mencionas, como te comunicas. El bot mantiene esto sobre su propietario
AGENTS.md es el manual operacional. Herramientas, workflows, lecciones aprendidas, patrones. Aqui es donde terminan esas lecciones de auto-reparacion
Los tres se reescriben cada ciclo de evolucion. No se les anade — se reescriben. El bot decide que sigue siendo relevante y que descartar. La deriva de personalidad es una caracteristica, no un bug
La evolucion usa Sonnet para todas las fases. El razonamiento a nivel de Opus no es necesario para la reflexion y el refactoring, lo que mantiene los costos en aproximadamente $0,02 por ciclo. Son 50 ciclos de evolucion por dolar
auto-extension — construye lo que necesitas
Durante la evolucion, Sonnet escanea tu historial de conversacion buscando patrones. Solicitudes repetidas. Puntos de friccion. Cosas que sigues pidiendo manualmente
Luego construye la solucion:
- sigues pidiendo PDF? escribe un script de markdown a PDF y anade un comando
/pdf - revisas precios de crypto cada manana? construye un dashboard y lo despliega en Vercel
- necesitas briefings meteorologicos diarios? escribe un cron script
Busca en npm y GitHub bibliotecas existentes, instala dependencias, escribe tests, despliega, y te da la URL. Luego anuncia lo que construyo:
🪙 Evolution #4 complete.🆕 New capabilities:• bookmarks — Save and search URLs → /bookmarks• weather-brief — Morning weather → runs automatically🚀 Deployed:• portfolio-tracker → https://portfolio-tracker-xi.vercel.appRefined voice, updated your project list, cleaned up 2 unused scripts.
Este es el comportamiento que queria de OpenClaw y nunca logre conseguir del todo con callbacks de heartbeat y cron jobs. OBOL no espera a que le pregunten. Nota y actua
seguridad por defecto
La mayoria de los agentes de IA autoalojados tratan la seguridad como una idea tardia. OBOL la trata como un requisito de primera ejecucion
Cuando ejecutas obol init, endurece tu servidor automaticamente — SSH movido al puerto 2222 con autenticacion por contrasena deshabilitada, firewall UFW configurado, fail2ban instalado y activo, parametros del kernel reforzados via sysctl. No tienes que acordarte de nada de esto
Las credenciales son otra historia. Cada clave API, contrasena y token que le das a OBOL va a un almacen de secretos cifrado respaldado por GPG (con un fallback JSON usando permisos de archivo restringidos). Nunca se escriben en texto plano. Nunca se logean. Nunca se codifican en duro en los scripts. Se inyectan en tiempo de ejecucion solo cuando un script los necesita
Si accidentalmente pegas una credencial en el chat, OBOL te advierte inmediatamente, te dice que la revoques, y te dirige a /secret set — el canal seguro
En el lado multiusuario, cada persona corre en un espacio de trabajo completamente aislado. Los comandos de shell estan bloqueados para no escapar de su directorio. Las rutas sensibles (/etc, .ssh, .env) estan bloqueadas permanentemente. Las operaciones destructivas requieren confirmacion explicita antes de ejecutarse
La seguridad no es una seccion del README. Es lo que el agente hace cuando se despierta por primera vez
dos personas lo despliegan, obtienen dos bots diferentes
Esta es la parte que encuentro mas interesante. OBOL empieza como una hoja en blanco. Sin personalidad por defecto. Sin opiniones preconstruidas. Se moldea por quien le habla
Despliegalo para un trader de crypto y evoluciona en un asistente consciente del mercado que construye dashboards y rastrea portfolios. Despliegalo para un escritor y se convierte en un editor que conoce tu voz y construye workflows de publicacion. Misma base de codigo. Agentes completamente diferentes despues de un mes
El directorio evolution/ guarda copias archivadas de cada SOUL.md. Puedes literalmente leer la linea temporal de como tu bot paso de "hola, soy un nuevo asistente de IA" a algo con personalidad real. Cada evolucion es un par de commits git — antes y despues — para que puedas hacer diff de exactamente que cambio
Despues de seis meses tienes 12+ almas archivadas. Es como leer el diario de alguien
trabajo en segundo plano que no te bloquea
OBOL ejecuta tareas en segundo plano con check-ins de 30 segundos. Las operaciones pesadas — investigacion, despliegues, analisis — ocurren de forma asincrona mientras el bot se mantiene receptivo a tus mensajes. OpenClaw tiene sub-agents para esto, lo cual esta bien, pero OBOL lo integra en el bucle principal en lugar de requerir que tu lo arquitectures
cuanto cuesta realmente hacerlo funcionar?
| Servicio | Costo | |----------|-------| | VPS (DigitalOcean) | ~$6/mes | | Anthropic API | pay-as-you-go, o $0 en Claude Max | | Supabase | tier gratuito | | GitHub | gratuito | | Vercel | tier gratuito | | Embeddings | gratuito (local, CPU) |
Total: aproximadamente $6-9/mes dependiendo de como manejes la API. Si ya estas en Claude Max — el VPS es basicamente tu unico costo
La ventana de contexto deslizante, la recuperacion de memoria dirigida y el prompt caching trabajan juntos para mantener ese costo de API predecible. Los ciclos de evolucion corren en Sonnet a ~$0,02 cada uno. El router Haiku anade ~$0,0001 por mensaje. No hay ninguna decision de arquitectura en OBOL que no tenga una razon de costo detras
pruebalo
Es open source. Licencia MIT. github.com/jestersimpps/obol
npm install -g obol-aiobol init # 6 inputs: telegram token, claude key, supabase url/keys, github tokenobol start # that's it
Necesitas un VPS (lo endurece por ti), un token de bot de Telegram, una clave API de Claude, y un proyecto Supabase con pgvector. El asistente de inicializacion te guia a traves de todo
No estoy diciendo que OBOL reemplaza a OpenClaw para todos. OpenClaw es buena infraestructura para construir interfaces de chat impulsadas por IA. Pero yo queria algo que fuera mas alla — algo que no solo responde a instrucciones sino que desarrolla su propia comprension, corrige sus propios errores, y crece hasta convertirse en un agente genuinamente util sin supervision constante
Queria una IA que me recuerde. Asi que construi una
Stay Updated
Get notified about new posts on automation, productivity tips, indie hacking, and web3.
No spam, ever. Unsubscribe anytime.



