tma1-ai/

TMA1

Un monolito en el loop de tu agente.Silencioso, hasta que responde.

TMA1 graba cada llamada LLM localmente, después reinyecta lo que ve en el próximo turno del agente — hooks, MCP, detección de anomalías y un historial de sesiones que se puede buscar.

Mi agente seguía editando archivos que yo recién había modificado a mano. Quería que se diera cuenta._

claude code · auth.go
$# edit attempt #4
 
[tma1]Re-read auth.go before the next edit — your in-memory copy is older than what’s on disk.
 
$Reading auth.go
$# edit succeeded ✓

ONBOARDING DEL AGENTE

Read https://tma1.ai/SKILL.md and follow the instructions to install or upgrade TMA1 for your AI agent

Instalación manual
terminal
# macOS / Linux
$curl -fsSL https://tma1.ai/install.sh | bash
 
# Windows (PowerShell)
>irm https://tma1.ai/install.ps1 | iex

Tu agente aprende de sus propios fallos

Cuando el mismo Edit falla tres veces o un build sigue rompiéndose, TMA1 inyecta el camino concreto de solución en el siguiente prompt — no en un postmortem de la semana que viene.

Los agentes leen lo que otros agentes hicieron

Claude Code puede traer la review de Codex sobre el mismo archivo, palabra por palabra, vía /tma1-peer. Sin copiar y pegar entre pestañas.

Cada sesión pasada se puede buscar

/tma1-search retry backoff encuentra la sesión donde ya lo resolviste — tuya o de otro agente — y recupera la conversación.

Nada sale de tu máquina

Un solo binario de Go. Sin Docker, sin nube. Los datos se quedan en ~/.tma1/.

Funcionalidades

Observabilidad que hace algo con lo que ve

Percepción en loop cerrado y colaboración entre agentes primero. Los dashboards quedan como respaldo. Un binario Go, un store de series temporales local, sin Grafana, sin YAML.

01

Cierra el loop del agente

TMA1 vigila fallos repetidos, vistas obsoletas y builds rotos. Cuando una regla se dispara, escribe un camino concreto de solución en el siguiente prompt del agente — no en un dashboard para que alguien lo lea mañana. Cinco hooks lo entregan. Seis reglas, cada una con una sugerencia accionable. Severidad HIGH puede bloquear Stop para que un build roto no se publique en silencio.

localhost:14318
TMA1 dashboard — Performance tab preview

Cuando TMA1 ve algo sobre lo que el agente debería actuar, escribe una sugerencia concreta en el próximo prompt. Estos son strings reales del detector — lo que el agente literalmente lee:

repeated_failed_buildHIGH

Envuelto con `tma1 build -- npm test`. El agente lo corrió tres veces, el mismo error cada vez.

Stop retrying `npm test` and address this error first: TypeError: Cannot read prop ‘user’ of undefined
stale_file_viewHIGH

El archivo cambió fuera de las escrituras observadas del agente antes de que el agente lo editara.

Re-read auth.go before the next edit — your in-memory copy is older than what’s on disk.
02

Sesiones de agentes pares

Claude Code lee palabra por palabra lo que Codex dejó en el mismo archivo. Codex lee lo que Claude hizo. La skill /tma1-peer trae la última sesión del par en este proyecto: mensajes, herramientas usadas, archivos tocados. Por defecto un agente no ve sus propias sesiones en la lista de pares — sin cámaras de eco; pide self y recupera su propio historial.

Claude Code lee lo que Codex dejó, palabra por palabra, con la skill /tma1-peer. La skill del lado de Codex hace lo inverso.

claude code · in your project
$/tma1-peer codex
 
Codex reviewed auth.go 12 minutes ago and left
three concrete issues:
 
1. JWT expiration not validated on refresh
2. Session token logged to stderr on auth failure
3. Missing rate-limit on /login
 
Want me to address all three or pick one?
03

Detección de anomalías

Un agente en un loop de reintentos puede quemar cientos de dólares. Cada vista de agente tiene una pestaña Anomalies. Haz clic en cualquiera para saltar a esa sesión y ver qué salió mal.

localhost:14318
TMA1 Dashboard — Detección de anomalías
04

Sessions

Tu agente corrió 25 minutos. ¿Qué pasó? Abre el overlay de sesión: a la izquierda la actividad de archivos, contexto y API calls. A la derecha, el timeline completo. También puedes ver el canvas en vivo mientras tu agente trabaja.

localhost:14318
TMA1 Dashboard — Sessions
05

Análisis de herramientas

Cuando tu agente se siente lento, ¿es el modelo o las herramientas? p50 y p95 de latencia por herramienta, conteos de llamadas, tasas de éxito y líneas de tendencia.

localhost:14318
TMA1 Dashboard — Análisis de herramientas
06

Desglose de costos

¿Qué modelo cuesta más? ¿Qué conversación quemó tu presupuesto? Tokens y costo estimado por modelo, más burn rate y ratios de cache hit.

localhost:14318
TMA1 Dashboard — Desglose de costos
07

Monitoreo de seguridad

Tu agente puede ejecutar comandos shell, hacer fetches a URLs externas y recibir prompts inyectados. TMA1 marca todo. Para OpenClaw también rastrea errores de webhook y sesiones atascadas.

localhost:14318
TMA1 Dashboard — Monitoreo de seguridad
08

Búsqueda de sesiones — para ti y para el agente

Escribe una palabra clave en la pestaña Sessions para encontrar conversaciones, llamadas a herramientas y resultados en todas las sesiones, y haz clic para abrir la sesión en ese evento exacto. El agente consulta los mismos datos con search_sessions y recupera cualquier sesión con get_session_transcript.

Seis semanas de sesiones en disco. El agente las busca por sí mismo y luego lee la que importa, con la skill /tma1-search.

claude code · in your project
$/tma1-search retry backoff
 
Coinciden tres sesiones. La más reciente es Codex,
hace dos días:
 
"limité el retry a 30s y agregué full jitter,
internal/retry/backoff.go:42"
 
¿Abro esa sesión para ver la conversación completa?

Cómo funciona

Configuración

Pega la instrucción de onboarding en tu agente y se encarga del resto, o instálalo manualmente:

[1]

Instalar

Un comando. Todo se descarga en ~/.tma1/. Sin Docker, sin paquetes del sistema.

[2]

Configurar tu agente

Apunta el endpoint OTel a http://localhost:14318/v1/otlp. Funciona con Claude Code, Codex, OpenClaw o cualquier SDK OTel. GitHub Copilot CLI no necesita configuración — TMA1 detecta sus logs de sesión automáticamente.

[3]

Observa el loop cerrarse

Abre localhost:14318 para el dashboard. El agente empieza a recibir bloques <tma1-context> y a actuar sobre ellos. Opcional: envuelve tus comandos dev / test con tma1 build -- <command> para que los fallos de build también entren al loop (flags: --watch, --tag, --filter-regex). El dashboard es para el postmortem humano; el loop es para el agente. Para SQL directo, el dashboard propio de GreptimeDB está en localhost:14000/dashboard.

Seguridad

Seguridad y privacidad

Tu agente lee tu código, tus API keys, tu infraestructura. Mandar eso a un servicio de observabilidad en la nube anula el propósito. Todo se queda local.

Cómo se almacenan los datos

TMA1 guarda traces y logs de conversación en tu disco local, en ~/.tma1/data/. No se sube nada a servicios remotos y puedes inspeccionar o borrar los datos cuando quieras.

Sin llamadas de red

Tras el primer inicio (que descarga el motor de base de datos integrado una sola vez), TMA1 no hace más llamadas de red. Sin analíticas, sin reportes de error, sin chequeos de actualización.

Completamente open source

TMA1 usa licencia Apache-2.0. Puedes leer el código, auditar el build y ejecutarlo sin conexión.

Un solo binario

tma1-server corre como un único proceso local y administra su motor de almacenamiento integrado. Sin Docker, sin paquetes del sistema, sin dependencias runtime.

Tus datos, tu disco

Borra ~/.tma1/ y todo desaparece. Sin estado huérfano en la nube, sin cuentas remotas que cerrar.

FAQ

Preguntas frecuentes

¿Qué agentes son compatibles?

Cualquier agente que emita datos OpenTelemetry, más algunos vía auto-descubrimiento de JSONL. Claude Code envía métricas y logs. Codex envía logs y métricas, y los archivos JSONL de sesión se analizan automáticamente para la reproducción de conversaciones. GitHub Copilot CLI no requiere configuración: sus logs de sesión en ~/.copilot/session-state/ se detectan automáticamente. OpenClaw envía traces y métricas, y los archivos JSONL de sesión se analizan automáticamente. Cualquier SDK OTel con convenciones semánticas GenAI funciona sin configuración adicional. El dashboard detecta automáticamente la fuente de datos y muestra la vista correspondiente.

¿Se pueden consultar los datos con SQL?

Sí. Ejecuta mysql -h 127.0.0.1 -P 14002 para conectarte al endpoint SQL local, o abre localhost:14000/dashboard/ para la interfaz de consultas. Tu agente también puede consultarlos con la herramienta MCP exec_query: un SELECT de solo lectura por llamada. Traces en opentelemetry_traces, logs en opentelemetry_logs, datos de sesión en tma1_hook_events y tma1_messages, y las métricas OTel crean tablas automáticamente.

¿Cuánto disco ocupa?

Depende de la actividad del agente y del largo de las conversaciones. En un uso típico, unos cientos de MB por mes.