TMA1

你的 agent loop 里埋着一块 monolith。 安静——直到它开口。

TMA1 在本地记下 agent 每一次 LLM 调用,再通过 hooks、MCP、anomaly 检测把看到的东西送回 agent 的下一轮 reasoning。

agent 一直在改我刚手动动过的文件。我希望它能注意到。_

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 ✓

AGENT 接入

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

手动安装
terminal
# macOS / Linux
$ curl -fsSL https://tma1.ai/install.sh | bash
 
# Windows (PowerShell)
> irm https://tma1.ai/install.ps1 | iex

你的 agent 会从自己的失败里学

Edit 连着失败 3 次、build 一直炸的时候,TMA1 会把具体修复路径塞进 agent 的下一个 prompt——不是下周的 postmortem。

agent 能读到别的 agent 留下的东西

Claude Code 可以通过 /tma1-peer 把 Codex 在同一个文件上留下的 review 原样拿过来。不用在两个 terminal 之间拷来拷去。

数据不出本机

一个 Go 二进制。不要 Docker,不要云。数据只在 ~/.tma1/

功能

看到东西后能做点什么的可观测

闭环感知和跨 agent 协作是主轴,dashboard 是补充证据。一个 Go 二进制,本地时序库,不需要 Grafana,不需要 YAML。

01

让 agent 形成闭环

TMA1 盯着重复失败、过期视图、坏 build。规则命中的时候,它会把一条具体的修复路径写进 agent 的下一个 prompt——不是塞进 dashboard 让人明天再去看。五个 hook 负责送达。六条规则,每条都有可执行的建议。HIGH 优先级会 block Stop,以免坏的 build 静默上线。

localhost:14318
TMA1 dashboard — Performance tab preview

TMA1 判断 agent 应该采取行动的时候,会把一条具体建议写进下一个 prompt。下面这些是检测器里的真实字符串——agent 实际读到的内容:

repeated_failed_build HIGH

用 `tma1 build -- npm test` 包装。Agent 跑了三次,每次都是同一个错误。

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

人刚手动改了一个文件,agent 准备覆盖这个文件。

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

跨 agent 的 peer session

Claude Code 原样读到 Codex 在同一个文件上留下的内容,反过来也一样。/tma1-peer skill 可以拉到 peer 上次 session 里最多 30 条消息 + 工具足迹。调用方自己的 session 会被过滤掉——避免 echo chamber。

Claude Code 通过 /tma1-peer skill 原样读到 Codex 留下的东西。反过来也一样。

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

异常检测

Agent 卡在重试循环里可以烧掉几百美元。每个 agent 视图有 Anomalies 标签页,点击任何一条异常直接跳到那个 session,看看到底哪儿出了问题。

localhost:14318
TMA1 Dashboard — 异常检测
04

Sessions

你的 agent 跑了 25 分钟。发生了什么?打开 session overlay:左边是文件活动、上下文分布、API 调用明细,右边是完整时间线。或者打开 live canvas,实时看 agent 工作。

localhost:14318
TMA1 Dashboard — Sessions
05

工具分析

Agent 变慢了,是模型的问题还是工具调用的问题?每个工具的 p50、p95 延迟,调用次数、成功率、趋势线。

localhost:14318
TMA1 Dashboard — 工具分析
06

费用明细

哪个模型最贵?哪个对话把预算烧光了?按模型追踪 token 和费用,能看 burn rate 趋势和缓存命中率。

localhost:14318
TMA1 Dashboard — 费用明细
07

安全监控

你的 agent 能跑 shell 命令、请求外部 URL、被注入 prompt。TMA1 全部标记。OpenClaw 的 webhook 错误和卡死的 session 也会追踪。

localhost:14318
TMA1 Dashboard — 安全监控
08

全文搜索

在 Sessions 搜索框输入关键词,所有 session 的对话和工具调用都能搜到。点击结果直接跳到那个事件。

工作原理

安装配置

把接入指令粘贴给你的 agent,它会自动搞定。或者手动来:

[1]

安装

一条命令,所有文件装进 ~/.tma1/。不需要 Docker,不需要装别的。

[2]

配置你的 agent

将 OTel endpoint 指向 http://localhost:14318/v1/otlp。支持 Claude Code、Codex、OpenClaw 或任何 OTel SDK。GitHub Copilot CLI 零配置——TMA1 会自动发现它的 session 日志。

[3]

看到闭环发生

浏览器打开 localhost:14318 看 dashboard。有趣的部分发生在 agent 里:它开始看到 <tma1-context> 块并针对性地行动。可选:用 tma1 build -- <command> 包装 dev / test 命令,让 build 失败也进入闭环(支持 --watch / --tag / --filter-regex)。Dashboard 是人事后复盘用的,闭环是给 agent 的。

安全

安全与隐私

你的 agent 能读代码库、API 密钥、基础设施配置。把这些发到云端可观测服务?那还谈什么安全。一切留在本地。

数据怎么存的

TMA1 会把 trace 和对话日志保存在本地 ~/.tma1/data/。数据不会上传到任何远程服务,你可以随时查看或删除。

零网络请求

首次启动会自动下载内置数据库引擎,之后 TMA1 不再联系任何外部服务。没有数据上报,没有崩溃报告,没有更新检查。

完全开源

TMA1 采用 Apache-2.0。代码可审计,构建可检查,支持离线运行。

单一二进制

tma1-server 以单进程本地运行,并管理内置存储引擎。不要 Docker,不要系统包,没有运行时依赖。

你的数据,你的磁盘

删掉 ~/.tma1/ 就全没了。没有残留的云端状态,没有要注销的远程账号。

FAQ

常见问题

支持哪些 agent?

任何发送 OpenTelemetry 数据的 agent,以及通过 JSONL 自动发现的几个 agent。Claude Code 发送 metrics 和 logs;Codex 发送 logs 和 metrics,会话 JSONL 自动解析用于对话回放。GitHub Copilot CLI 零配置:TMA1 自动发现并解析 ~/.copilot/session-state/ 下的 session JSONL。OpenClaw 发送 traces 和 metrics,会话 JSONL 也会自动解析。任何遵循 GenAI 语义规范的 OTel SDK 应用开箱即用。Dashboard 根据数据自动切换到对应视图。

能直接用 SQL 查吗?

能。运行 mysql -h 127.0.0.1 -P 14002 连接本地 SQL 端口,或打开 localhost:14000/dashboard/ 使用内置查询界面。Traces 在 opentelemetry_traces,logs 在 opentelemetry_logs,session 数据在 tma1_hook_eventstma1_messages,OTel metrics 自动建表。

大概占多少磁盘?

取决于 agent 流量和对话长度。常见场景下,每月大约几百 MB。