TMA1

本地优先的 Agent 可观测层:记录每一次 LLM 调用,再把看到的情况通过 hooks 和 MCP 送回 Agent 的下一轮。

源仓库
tma1-ai/tma1
Star 数
★ 124
最近更新
6 天前
License
Apache-2.0
主语言
Go

30 秒速览

运行形态
自托管服务MCP 服务器Agent 插件 / 技能
可在哪里用
兼容但需适配Codex · Claude CodeOpenAI API · Claude API(部分支持)
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
GreptimeDB v1.3.0(自动下载)macOS、Linux 或 Windows支持 OTLP 的 agent 或 GenAI 应用(可选)Shell / 命令行网络访问本地文件系统MCP Server
典型场景
长时间用 Claude Code 或 Codex 写代码的开发者,希望下一轮对话自动带上“本次会话改过哪些文件、构建是否挂了”的上下文。
不适合
  • 需要多租户或带身份认证的团队——本工具明确不含认证与多租户模式
  • 要接入托管云可观测平台的团队——数据只落在本机 ~/.tma1/
  • 不愿接受预发布版本的生产环境——目前所有 release 均为 pre-release

这个 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 自带的面板。

  1. 长时间用 Claude Code 或 Codex 写代码的开发者,希望下一轮对话自动带上“本次会话改过哪些文件、构建是否挂了”的上下文。
  2. 用 npm run dev 之类常驻进程开发的人,用 tma1 build --watch 捕获失败输出,让 Agent 直接看到报错而不是靠人贴日志。
  3. 在同一项目里混用 Claude Code 和 Codex 的团队,用 /tma1-peer codex 让一个 Agent 读到另一个在相同项目上的工作记录。
  4. 需要回溯“上周哪次会话讨论过重试退避”的工程师,用 /tma1-search retry backoff 在本机历史中做全文检索并读取会话原文。
  5. 想量化 token 花费、缓存命中与工具失败的负责人,用面板的会话对比和成本估算做评估。
  6. 想用 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 | bash

Windows 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/,且提供四种查询入口(面板、MCP exec_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?

FollowAgents 源码审查 · FARS-2.1
缺口较多
51/ 100 五分制 2.6 / 5
信任安全 12/29
可靠稳定 6/14
适用触发 12/18
规范维护 10/18
有效结果 7/13
证据核验 4/8
查看各维度的扣分理由
信任安全12 / 29 · 2.1/5

README 明确说明无认证、仅本地绑定 127.0.0.1、数据存于 ~/.tma1,最小权限与数据流透明度有据可依(2)。但安装方式为 curl|bash 并注册后台服务、下载 GreptimeDB 二进制,缺少安装前确认与校验说明,用户确认仅得 1;会话转录、提示词与可选 LLM 评估会把对话片段发送到外部 provider,敏感数据处理仅以一句说明带过,得 1;依赖安全仅见 GreptimeDB 版本固定,无校验和/签名说明,得 1;外部效应(写全局 hook、MCP 配置、后台服务)有 uninstall 但无回滚数据/恢复说明,得 1;来源归属仅 LICENSE 版权行,发布者身份未验证,得 1。

可靠稳定6 / 14 · 2.1/5

README 对端口、表、hook 注入数量、成本口径描述前后一致(2);但 GreptimeDB 二进制运行时下载、依赖外部站点 install.sh,可用性依赖网络与第三方,得 1;失败信息仅提到 hook 不可达时返回空 stdout,缺少错误码/诊断说明,得 1。

适用触发12 / 18 · 3.3/5

面向 Claude Code、Codex、Copilot CLI、OpenCode 及通用 GenAI OTel,场景清晰(2);明确列出“显式不存在”的能力边界(2);hook 注入事件与 MCP 工具触发条件描述精确(2);跨 macOS/Linux/Windows 与多 agent 适配良好(2)。

规范维护10 / 18 · 2.8/5

文档结构清晰、有 docs 索引与安装说明(2/2);但版本均为 pre-release,命名与版本稳定性证据不足(1);示例丰富(2);已知限制有专门章节(2);LICENSE 为完整 Apache-2.0(3);无 CHANGELOG,版本仅靠 badge(1);维护责任方未验证、无治理说明(1)。

有效结果7 / 13 · 2.7/5

输出(dashboard、MCP 工具、上下文块)可用性描述具体(2);对 agent 闭环的边际价值有明确论证(2);但成本估算依赖外部价格、可选 LLM 评估产生额外费用,成本收益证据有限(1)。

证据核验4 / 8 · 2.5/5

多数主张可在 README 内追溯,但价格日期、hook 数量等缺少外部佐证(1);仅有 README 与 CI 两个来源,交叉印证有限(1);对“估算/推断”与事实有较好区分(如成本口径、AI Insights 说明)(2)。

风险与缓解建议
  • 安装脚本通过 curl|bash 执行并注册后台服务、下载 GreptimeDB 二进制,建议先审阅脚本并校验下载物。
  • 会话转录与提示词可能被发送到外部 LLM provider 做评估,需确认数据出境与密钥管理策略。
  • 无认证且仅本地绑定,若误改 TMA1_HOST 暴露端口将带来风险。
  • 发布者身份未经验证,版本均为 pre-release,生产使用前应评估稳定性与维护承诺。
证据充分度:低 评估于 2026年10月30日 审查版本 e95aef8da17c
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. 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 的适配器能用吗?
可以。只要向 14318 端口发送 OTLP 流量就会被记录,Copilot CLI 的会话也会从磁盘自动发现;但上下文注入和 /tma1-* 命令需要安装 claude-code 或 codex 适配器。
数据会被发到外部吗?
默认全部写入本机 ~/.tma1/。唯一的外发路径是你启用可选的 prompt 评估(配置 TMA1_LLM_API_KEY 与 TMA1_LLM_PROVIDER),那时选定的请求和有限的会话片段会发给所配置的模型厂商。
TMA1 挂掉会不会卡住 Agent?
不会。hook 在 TMA1 不可达或响应慢时返回空 stdout,Agent 继续正常工作,只是失去这段上下文。
需要自己装 GreptimeDB 或 MySQL 吗?
不需要。首次启动时 TMA1 会把 GreptimeDB 配置写入 ~/.tma1/config/,必要时下载二进制(默认 v1.3.0)并作为子进程启动;14002 端口只是可选的查询入口。
上下文注入能关掉吗?
能。设置 TMA1_DISABLE_INJECTION=1 后 hook 仍会被记录,但不再返回注入内容;对不走 MCP 的 Agent 还可以用 TMA1_ENABLE_FILE_CALLBACK=1 写出 .tma1-context.md。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents