TMA1
本地优先的 Agent 可观测层:记录每一次 LLM 调用,再把看到的情况通过 hooks 和 MCP 送回 Agent 的下一轮。
- 源仓库
- tma1-ai/tma1
- Star 数
- ★ 124
- 最近更新
- 6 天前
- License
- Apache-2.0
- 主语言
- Go
- FA 评分
- 51/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配Codex · Claude CodeOpenAI API · Claude API(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 长时间用 Claude Code 或 Codex 写代码的开发者,希望下一轮对话自动带上“本次会话改过哪些文件、构建是否挂了”的上下文。
- 不适合
- 需要多租户或带身份认证的团队——本工具明确不含认证与多租户模式
- 要接入托管云可观测平台的团队——数据只落在本机 ~/.tma1/
- 不愿接受预发布版本的生产环境——目前所有 release 均为 pre-release
- 源码审查
- 51/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
TMA1 是一套本地优先的 LLM Agent 可观测工具,由 GreptimeDB 驱动,以单个二进制形式运行在你自己的机器上,不需要 Docker、Grafana 或云账号。它通过 OTLP/HTTP 接收 Claude Code、Codex 等 Agent 的 traces、metrics 与 logs,同时采集 hook 事件和 JSONL 会话记录,全部写入本机的 GreptimeDB(默认 HTTP 端口 14000)。随后它把观测结果反向注入 Agent:hook 返回的内容会变成下一轮的 <tma1-context> 上下文块,另有十个 MCP 工具支持按需查询会话状态、异常、构建结果和历史会话全文检索。面板端提供 token 用量、成本估算、延迟、工具活动、会话回放和 SQL 查询。部署形态是一台机器上的后台服务(launchd、systemd 用户单元或 Windows 计划任务),数据目录固定为 ~/.tma1/,而项目本身不含认证,属于纯本地工具。
TMA1 的 tma1-server 监听 14318 端口,同时承担 OTLP 反向代理、hook 接口 /api/hooks、面板托管和 MCP stdio 服务四项职责。OTLP 数据(/v1/otlp 或 /v1/traces、/v1/metrics、/v1/logs)被转发给首次启动时自动下载并以子进程拉起的 GreptimeDB;hook 脚本 POST 到 /api/hooks,响应体会成为 Agent 下一轮的上下文。Claude Code 会注册全部 27 个 hook 事件,但只有 SessionStart、UserPromptSubmit、PostToolUse、Stop、PreCompact 五个会注入内容;Codex 注册五个、注入四个。tma1 build -- <cmd>(可加 --watch、--tag、--filter-regex)包裹构建或测试命令,把输出写入 tma1_build_events,用于构建状态与重复失败检测。MCP 侧(tma1-server mcp-serve)暴露 get_context_bundle、get_session_state、get_anomalies、get_build_status、get_external_changes、get_project_state、get_peer_sessions、search_sessions、get_session_transcript、exec_query 十个工具,exec_query 只允许单条只读 SELECT。查询还有另外三个入口:TMA1 面板、MySQL 协议端口 14002、以及 GreptimeDB 自带的面板。
- 长时间用 Claude Code 或 Codex 写代码的开发者,希望下一轮对话自动带上“本次会话改过哪些文件、构建是否挂了”的上下文。
- 用
npm run dev之类常驻进程开发的人,用tma1 build --watch捕获失败输出,让 Agent 直接看到报错而不是靠人贴日志。 - 在同一项目里混用 Claude Code 和 Codex 的团队,用
/tma1-peer codex让一个 Agent 读到另一个在相同项目上的工作记录。 - 需要回溯“上周哪次会话讨论过重试退避”的工程师,用
/tma1-search retry backoff在本机历史中做全文检索并读取会话原文。 - 想量化 token 花费、缓存命中与工具失败的负责人,用面板的会话对比和成本估算做评估。
- 想用 SQL 自己分析原始 traces、metrics、logs 的数据工程人员,通过 MySQL 协议或 GreptimeDB 面板直接查询。
如何安装或部署这个 Agent?
macOS 或 Linux 用一键脚本,并通过 TMA1_ADAPTER 指定要接入的 Agent:
curl -fsSL https://tma1.ai/install.sh | TMA1_ADAPTER=claude-code bash
curl -fsSL https://tma1.ai/install.sh | TMA1_ADAPTER=codex bash
curl -fsSL https://tma1.ai/install.sh | TMA1_ADAPTER=all bash不接任何 Agent、只装服务端:
curl -fsSL https://tma1.ai/install.sh | bashWindows PowerShell:
$env:TMA1_ADAPTER = 'claude-code'; irm https://tma1.ai/install.ps1 | iex脚本会注册后台服务并启动,完成后面板在 <http://localhost:14318>。首次启动会下载 GreptimeDB(默认 v1.3.0),无需 Docker 或云账号。从源码构建:
git clone https://github.com/tma1-ai/tma1.git
cd tma1
make build
./server/bin/tma1-server如何使用这个 Agent?
接入后,Agent 每轮会自动拿到 <tma1-context> 上下文块。手动管理适配器:
tma1-server install --adapter claude-code --project .
tma1-server uninstall --adapter claude-code --project .捕获构建或测试输出:
tma1 build --tag test -- make test
tma1 build --watch --tag dev -- npm run dev启动 MCP 服务(通常由 Agent 自行拉起,也可手动验证):
tma1-server mcp-serve在 Agent 里使用内置命令与工具:
/tma1-search retry backoff
/tma1-search --session 3d8f1d0a
/tma1-peer self --limit 3常用环境变量:
TMA1_PORT=14318
export TMA1_DATA_DIR=~/.tma1
export TMA1_DATA_TTL=60d
export TMA1_LLM_API_KEY=... # 仅按需的 prompt 评估功能需要
export TMA1_LLM_PROVIDER=anthropic
export TMA1_DISABLE_INJECTION=1 # 只记录 hook,不注入上下文原生 SQL 可在 MySQL 协议端口 14002 或 GreptimeDB 面板查询。
这个 Agent 有哪些优点和局限?
- 真正闭环:hook 把观测结果写回 Agent 下一轮上下文,十个 MCP 工具支持按需拉取,而不是只做被动的仪表盘。
- 部署极轻:单个二进制 + 自动下载的 GreptimeDB,不需要 Docker、Grafana、OTel Collector 或云账号。
- 数据全部留在本机
~/.tma1/,且提供四种查询入口(面板、MCPexec_query、MySQL 端口 14002、GreptimeDB 自带面板),便于自行用 SQL 分析。 - 覆盖 Claude Code、Codex、Copilot CLI、OpenCode 和遵循 GenAI 语义约定的通用应用,跨 Agent 的
/tma1-peer会话互读是较独特的能力。 - 对失败场景有明确设计:TMA1 不可达或过慢时 hook 返回空 stdout,Agent 照常运行。
- 所有 release 目前均为 pre-release,稳定性和接口仍可能变化。
- 不含认证与多租户,只能作为本机工具运行,不适合团队共享或暴露到网络。
- 成本估算基于 2026-10-30 核对的标准短上下文 API 标价,未知模型不显示估算,订阅套餐、区域溢价等均不覆盖。
- 安装器只写全局文件;升级后需重新执行
install --adapter,否则启动时会告警安装文件与二进制不一致。 - 可选的 prompt 评估需要配置
TMA1_LLM_API_KEY并调用 Anthropic 或 OpenAI,涉及把会话片段发出本机。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| TMA1 当前 | 51 · 缺口较多 | 自托管服务免费 + 模型费 | ★ 124 | 6 天前 | Go | Codex · Claude Code |
| Langtrace | 42 · 缺口较多 | 代码库 / SDK免费版 + 付费版 | ★ 1.2k | 11 个月前 | TypeScript | OpenAI API · Claude API |
| Laminar | 41 · 缺口较多 | 自托管服务免费版 + 付费版 | ★ 3.5k | 今天 | TypeScript | OpenAI API · Claude API |
| MUXI AI 应用服务器 | 59 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 187 | 1 个月前 | — | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 明确说明无认证、仅本地绑定 127.0.0.1、数据存于 ~/.tma1,最小权限与数据流透明度有据可依(2)。但安装方式为 curl|bash 并注册后台服务、下载 GreptimeDB 二进制,缺少安装前确认与校验说明,用户确认仅得 1;会话转录、提示词与可选 LLM 评估会把对话片段发送到外部 provider,敏感数据处理仅以一句说明带过,得 1;依赖安全仅见 GreptimeDB 版本固定,无校验和/签名说明,得 1;外部效应(写全局 hook、MCP 配置、后台服务)有 uninstall 但无回滚数据/恢复说明,得 1;来源归属仅 LICENSE 版权行,发布者身份未验证,得 1。
README 对端口、表、hook 注入数量、成本口径描述前后一致(2);但 GreptimeDB 二进制运行时下载、依赖外部站点 install.sh,可用性依赖网络与第三方,得 1;失败信息仅提到 hook 不可达时返回空 stdout,缺少错误码/诊断说明,得 1。
面向 Claude Code、Codex、Copilot CLI、OpenCode 及通用 GenAI OTel,场景清晰(2);明确列出“显式不存在”的能力边界(2);hook 注入事件与 MCP 工具触发条件描述精确(2);跨 macOS/Linux/Windows 与多 agent 适配良好(2)。
文档结构清晰、有 docs 索引与安装说明(2/2);但版本均为 pre-release,命名与版本稳定性证据不足(1);示例丰富(2);已知限制有专门章节(2);LICENSE 为完整 Apache-2.0(3);无 CHANGELOG,版本仅靠 badge(1);维护责任方未验证、无治理说明(1)。
输出(dashboard、MCP 工具、上下文块)可用性描述具体(2);对 agent 闭环的边际价值有明确论证(2);但成本估算依赖外部价格、可选 LLM 评估产生额外费用,成本收益证据有限(1)。
多数主张可在 README 内追溯,但价格日期、hook 数量等缺少外部佐证(1);仅有 README 与 CI 两个来源,交叉印证有限(1);对“估算/推断”与事实有较好区分(如成本口径、AI Insights 说明)(2)。
- 安装脚本通过 curl|bash 执行并注册后台服务、下载 GreptimeDB 二进制,建议先审阅脚本并校验下载物。
- 会话转录与提示词可能被发送到外部 LLM provider 做评估,需确认数据出境与密钥管理策略。
- 无认证且仅本地绑定,若误改 TMA1_HOST 暴露端口将带来风险。
- 发布者身份未经验证,版本均为 pre-release,生产使用前应评估稳定性与维护承诺。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.3.0-beta4 预发布
发布说明摘录
What's Changed * feat(pricing): price cache reads, cache writes and OpenAI Fast mode by @killme2008 in https://github.com/tma1-ai/tma1/pull/113 Full Changelog: https://github.com/tma1-ai/tma1/compare/v0.3.0-beta3...v0.3.0-beta4在 GitHub 查看 ↗
常见问题
不开 TMA1 的适配器能用吗?
/tma1-* 命令需要安装 claude-code 或 codex 适配器。数据会被发到外部吗?
~/.tma1/。唯一的外发路径是你启用可选的 prompt 评估(配置 TMA1_LLM_API_KEY 与 TMA1_LLM_PROVIDER),那时选定的请求和有限的会话片段会发给所配置的模型厂商。TMA1 挂掉会不会卡住 Agent?
需要自己装 GreptimeDB 或 MySQL 吗?
~/.tma1/config/,必要时下载二进制(默认 v1.3.0)并作为子进程启动;14002 端口只是可选的查询入口。上下文注入能关掉吗?
TMA1_DISABLE_INJECTION=1 后 hook 仍会被记录,但不再返回注入内容;对不走 MCP 的 Agent 还可以用 TMA1_ENABLE_FILE_CALLBACK=1 写出 .tma1-context.md。