ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

treg 审计日志(CallRecord)深度指南:谁在什么时候调用了什么,一篇讲透

treg 审计日志(CallRecord)深度指南:谁在什么时候调用了什么,一篇讲透 treg 审计日志CallRecord深度指南谁在什么时候调用了什么一篇讲透【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/tregtreg 审计日志CallRecord是 tregagent 工具的 OpenRouter内置的调用审计系统每一次工具调用都会被记录成一行CallRecord回答三个核心问题——谁哪个成员、哪把 API Key、哪个运行时在什么时候调用了什么哪个工具/端点结果如何、花了多少钱。无论你是团队管理员、预算负责人还是被账单问号砸中的开发者这份指南都能帮你在 3 分钟内看懂审计日志的每个字段。审计日志是什么一行 CallRecord 的身份证在 treg 中每次经过代理的调用都会落一行审计记录表定义见 models.py。它的设计哲学写得很直白Audit: who called which tool, in which org, when, with what result. —— models.py关键点审计写入是发后即忘fire-and-forget的走独立队列永不增加代理调用的延迟同时它明确定位为分析数据而非账单依据——钱永远以 ledger账务本为准。一行记录到底写了什么核心字段速查表你想问的问题对应字段含义谁调的user_email/api_key_id/api_key_name成员邮箱 所用 Key 的快照即使 Key 后来被删也能追溯用的什么客户端client运行时自报身份如claude-code、codex仅归属不做鉴权调了什么tool_name/method/path/endpoint_id工具名、HTTP 方法与路径、目录端点结果如何status_code/refused_by上游状态码若非空说明是treg 在上游之前拒了花多少钱cost_estimated_micro/cost_observed_micro/cost_charged_micro预留估值 / 供应商实际报价 / 真正扣款显示优先用这个多快多大duration_ms/response_bytes耗时与响应体大小是不是缓存cached由 treg 归档archive直接应答未走供应商是我的标签吗tags/call_ref调用方通过X-Treg-Meta打的自定义标签可对账 金额单位是微单位_micro1/1000000避免浮点误差——这是金融级记账的常见做法。快速查看审计日志的 3 种方式方式一Dashboard「Activity」页面最简单登录后打开 Activity 页前端实现见 ActivityPage.vue即可看到按 API Key 筛选、只看成功调用的一键开关每行含人成员 代理归属、Key、工具、状态、花费命中归档的调用会标记Cached并可通过GET /calls/{id}/result回看当时的请求与响应方式二GET /callsAPI适合自动化对账端点定义见 api.py支持三个实用参数GET /calls?days30limit500before_id12345days时间窗1–365 天limit单次最多 500 行before_id游标式向后翻页——对账一整月的调用必须用它仅靠最新 N 条不够⚠️ 注意此接口返回的是分析数据。需要发票级金额时应读取 ledger 支撑的/orgs/{id}/usage/by-tag见 api.py 注释。方式三treg auditCLI一条命令看全CLI 子命令注册见 cli.pytreg audit # 代理调用 CLI 运行合并成一条日志 treg audit --calls # 只看代理调用 treg audit --runs # 只看 CLI 运行服务器端 本地 treg audit --limit 20 # 限制条数这里的合并日志很关键CallRecord记录 HTTP 代理调用而RunRecord定义见 models.py记录treg run的 CLI 执行两者在同一视图里对齐。成本视角谁花了团队的多少钱审计行里的金额三列有明确分工见 models.pycost_estimated_micro平台预留时扣下的估值——任务未完成前它看起来花了不少会高报cost_observed_micro供应商自己报告的实收如果它报告的话cost_charged_micro真正落到团队余额上的钱释放/402/429 时为 0另外credential_tier字段tool/credential/platform告诉你这单是谁买单只有platform层花的是 treg 自己的钱——做支出审计时按它分组即可。故障排查如何区分供应商挂了和平台拒了这是新手最常踩的坑。refused_by字段models.py专为此设计值含义auth令牌无效/过期policyACL、拒绝规则或账户被暂停balance402 预付费余额不足cap429 触发每日上限resolution工具或端点不存在request请求本身不合法方法错、缺参数、坏 body字段为NULL才说明请求真的到了上游、由供应商给了状态。没有它付费墙的 402 和供应商错误在统计里无法区分。此外失败调用的error_request/error_response会在捕获时先脱敏再截断注入的凭证全部精确剔除过期后覆写为expired——它只给人看不用于精确重放见 evidence_retention.py。为什么你的查询不会拖垮系统CallRecord是全库最大的表因此字段旁写满了生产环境的实测注释为最近 30 条调用、今日该成员调用数等高频问题分别建了组合索引如ix_callrecord_endpoint_id_created_at其中一条索引的引入是因为生产上某成员 28.7 万行导致单点查询耗时 2.6 秒models.py 索引注释。你只管查性能问题工程师已经替你踩过了。新手常见问题 FAQQ1审计日志会漏行吗会。它是 fire-and-forget 写入负载过高时队列会丢弃。所以金额类问题永远以 ledger 为准审计只用于看发生了什么。Q2client字段能当安全凭证吗不能。它是运行时自报X-Treg-Client任何持有令牌的一方都可以声称任意名字——定位是归属统计不是认证。Q3缓存命中的调用计费吗金额列与实时调用保持一致这是有意的设计决策见 archive.md但cached: true会明确标记方便你统计命中率。Q4CLI 运行treg run也在审计里吗在。它记录在独立的RunRecord表models.py并通过treg audit与调用日志合并展示argv中绝不含密钥密钥经环境变量注入。一句话总结CallRecord是 treg 的行车记录仪——它不替你算账那是 ledger 的活但它精确回答谁、何时、调了什么、结果与代价如何。配合 Dashboard、API、CLI 三种查看方式任何一次调用的来龙去脉都查得到。【免费下载链接】tregOpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn项目地址: https://gitcode.com/GitHub_Trending/treg/treg创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表