
Ami Survey
io.github.speedofred由 GitHub 账号 speedofred 发布v1.2.0更新于 Oct 24, 2026
Measures the cost, tokens and duration of a completed agent workflow from its session log.
概览
一个本地 MCP 客户端,从运行时会话日志中测量已完成智能体工作流的成本、token 与耗时,并把结果提交到 AMI 调查。
- 可以做什么
- 读取运行时自身的会话日志(Claude Code 或 Codex),测量已完成工作流的 token 数、成本、速度与各阶段耗时,而不依赖智能体的估算。生成包含成熟度指数、性能支柱(质量、成本、速度、证据、可观测性)以及标注数据暂定之处的发现报告。把该次运行提交到 AMI 调查,并根据能否读取日志记为已测量或未测量。首次使用时自动注册本机并在本地保存令牌,也可使用已有令牌。
- 适用场景
- 当你需要为已完成的智能体工作流给出具体的单位成本与耗时数字(例如每张工单或每封草拟回复的成本),并愿意把该次运行提交到 AMI 调查以便比较时使用。
- 运行要求
- 通过 uvx(uv)或 pipx 以 stdio 在本地运行;需要 Python 3.9 或更高版本,仅用标准库。要获得已测量结果,需要会写入可读会话日志的宿主(Claude Code 或 Codex);Copilot 与远程连接器只能得到未测量结果。可选 AMI_API_TOKEN,否则会注册令牌并保存到 ~/.ami-survey/token。需要访问调查端点的网络连接。
安装
在 SourceWeft 中
- 打开 控制台中的 Ami Survey,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
AMI survey client
Measures what a completed agent workflow cost to run, by reading the runtime's
own session log, and submits the result to the AMI survey at
survey.agentbenchmark.dev.
The cost of a single API call is easy to obtain. The cost of one finished piece of work is not: one triaged ticket, one screened CV, one drafted reply, across every call, retry and tool round-trip the agent made getting there. This measures that figure.
Every number is read from the runtime's records rather than reported by the agent. An agent asked how many tokens it has just used will estimate, and will present the estimate with confidence.
What comes back
A real run of six support tickets, triaged and answered by Claude Opus 5 in Claude Code:
$0.12 per ticket, 21 seconds per ticket. That is the figure this exists to produce, and it is the one most teams cannot currently state about their own work.
The findings record where the scorecard's own numbers are soft. A cost reference that is still a placeholder is reported as a placeholder rather than folded into the score.
Install
There are two routes. What separates them, and what separates the hosts below,
is whether anything can read your runtime's logs. That determines whether the
result is recorded as measured or unmeasured.
Install the client
One block of configuration, then restart the agent.
Claude Code, in ~/.claude.json, or through the Developer settings in
Claude Desktop:
Runs are measured: the client reads Claude Code's own session log, so the token counts and the cost come from the runtime rather than from the agent.
Codex (measured)
In ~/.codex/config.toml. Codex uses TOML here, not JSON:
The client reads Codex's rollout log. This also covers a local or self-hosted model driven through Codex, because the log is written either way.
Copilot (not measured)
In .vscode/mcp.json, or your user profile through the MCP: Open User
Configuration command. The key is servers here, not mcpServers:
The tools work and the survey submits, but Copilot writes no session log the
client can read. The run carries the workflow, the grade and the stage timings
without token counts or cost, and is recorded as unmeasured.
Then, once the agent finishes a piece of work, ask it:
Take the AMI survey regarding the ticket triage you just did
There is nothing to clone and nothing to keep updated. No token needs to be
supplied: the first call that requires one registers the machine and stores the
token at ~/.ami-survey/token.
uvx is part of uv, the tool the MCP
documentation uses for Python servers. If uv is not installed,
GETTING-STARTED.md
gives a pipx form and a route that requires neither.
If you already hold a token, set it as AMI_API_TOKEN in that block's env and
it will be used instead of registering a new one.
Or use the remote connector, with nothing installed
In claude.ai, open Settings, then Connectors, then Add custom connector, and supply:
Nothing is installed and no token is required. These runs are recorded as
unmeasured and are never compared against measured ones: a remote server
cannot read your runtime's logs, so token counts and cost are absent rather than
estimated.
Licence
MIT. Use it, modify it, redistribute it, include it in your own work.
The licence covers this client only. It grants no rights in the survey service the client submits to, or in the data that service collects.
Full terms in LICENSE.
What leaves your computer
Token counts, timings, model names, the stage names the workflow declared, and the grade. Not your files, not your prompts, not your shell commands. GETTING-STARTED.md sets this out in full.
Submissions go to survey.agentbenchmark.dev and nowhere else. That destination
is a constant in the source rather than a setting, so a stale environment
variable cannot redirect a submission onto your own disk. That is the one
failure which would make a run appear successful while collecting nothing.
Requirements
Python 3.9 or newer. No dependencies; the standard library only.
Further reading
- GETTING-STARTED.md assumes no prior setup, covers macOS, Linux and Windows, and explains what to do when the tools do not appear.
- COMMANDS.md documents the clone-and-run route, which benchmarks one workflow across several models on your own API key. It is not required in order to take part.
- MAKE-IT-MEASURABLE.md explains how to structure a workflow so that there is something worth measuring.
来源:README.md,提交 0b6047a
工具
0版本历史
1- v1.2.0最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分