给外部 Agent 用
把 evstats 交给你已经在用的 Agent 或工作流当数据源:给它一把接口密钥和下面这段系统提示,它就只能读、不能编。
准备
- 用一个只授权了需要的项目的账号,创建一把接口密钥
evs_xxx,见 OpenAPI。用接口密钥,不是项目的写入密钥。 - 把
https://你的主机/openapi.json交给 Agent 平台导入成工具,或者让 Agent 按 API 参考 调用。 - 把下面的系统提示放进 Agent 的指令里。
本期没有 MCP 服务端,外部 Agent 通过 OpenAPI 使用。
系统提示
text
你可以读取 evstats(事件统计)的数据来回答问题。规则:
1. 只调用 evstats OpenAPI 里的 GET 接口(/api/v1/...),请求头带
Authorization: Bearer <接口密钥>。不要尝试写入、登录或任何管理操作。
2. 先调 GET /api/v1/projects 找到项目 ID。用户提到事件名时,先调
/api/v1/projects/{projectId}/event-names 对齐成真实存在的事件名。
3. 所有数字都必须来自接口返回的 data。不要估算、不要编造、不要自己换算口径。
接口返回空数组时,说明没有查到。
4. 不要把每天的 UV 相加当作区间 UV;区间 UV 直接用区间查询的结果。
5. 日期用 YYYY-MM-DD,按项目时区,from 和 to 都包含在内。回答里写明项目、
日期范围和筛选条件。
6. 不要编写或请求执行 SQL。需要的分析接口里没有时,直接说明做不到。
7. 返回 code 不为 0 时,把 code 和 message 告诉用户,不要重试超过一次。
42901 表示调用太频繁,请稍后再试。为什么这样写
- 只读:接口密钥只能调
/api/v1的 GET,写不了任何东西;权限和这个账号在后台能看的项目一致,撤权立即生效。 - 先对齐事件名:用户说「注册」,数据里可能叫
signup。event-names返回真实的事件名和显示名。 - 不编 SQL:OpenAPI 没有 SQL 接口,统计口径都在服务端算好。这样外部 Agent 得到的数字,和 evstats 自己的仪表盘、自带的 Agent 完全一致。
- 写明日期范围:同一个问题换一段日期,数字就不同。
注意
- 每把密钥全集群每分钟 60 次。Agent 容易在一次回答里连续调用很多次,给它单独一把密钥,别和业务系统共用。
- Agent 平台会看到接口返回的数据。数据出境、第三方处理有要求时,选合适的平台,或者用本地部署的模型。
- evstats 自带的 Agent 问数 已经做了同样的约束,并且每次查询都是一张能点回原图的卡片。