Skip to main content
GET
获取 Agent 输出分析(代码行数)
这是一个 v2 端点,使用 Bearer token 身份验证和 query 参数,而 v1 分析 API 则是在请求体中传入服务密钥。详见下方的身份验证。
此端点不适用于实时用量监控。数据按小时聚合,且速率限制较低 (每个团队每小时 10 次请求) 。请将其用于定期报告和批量导出。

身份验证

此端点采用 Bearer token 身份验证。请在 Authorization 标头中附上你的令牌:
请使用具有 Use Local Analytics API 权限的 Devin 服务用户 API 密钥,或具有 Analytics Read 权限的 Windsurf 服务密钥。有关这两种密钥的 创建方法,请参阅身份验证。

指标

metric query 参数为必填项,取值为以逗号分隔的指标列表,用于指定要返回的指标。 每个请求的指标都会作为整数字段出现在每一行中: 例如,?metric=loc_inserted,loc_deleted 会同时返回这两项指标;?metric=loc_inserted 则仅返回 loc_inserted。如果请求未提供 metric,或指定了未知指标,将返回 400 错误。 无论使用哪个模型,只要用户在 Devin Desktop 或 Devin CLI 中接受了 Agent 的编辑,相应的行数就会被计入。product 参数同样为必填项,目前仅支持 agent。

分组与粒度

使用 granularity 和 group_by 控制返回数据的结构:
  • 不指定粒度或分组 — 返回整个日期范围的单条聚合行
  • granularity=daily — 每行包含一个 YYYY-MM-DD 格式的 timestamp
  • granularity=monthly — 每行包含一个 YYYY-MM 格式的 timestamp
  • group_by=user — 每行包含 user_id 和 user_email
  • group_by=session — 每行包含一个 session_id (即接受这些代码行时所在的 Devin Desktop 对话或 CLI 会话)
  • group_by=model_uid — 每行包含一个 model_uid
  • group_by=ide — 每行包含一个 ide
  • group_by=ide,ide_version — 每行包含 ide 和 ide_version (按 ide_version 分组时必须同时包含 ide)
  • group_by=os — 每行包含一个 os,例如 darwin (macOS) 、windows 或 linux
  • group_by=source — 每行包含一个 source:CASCADE_CLIENT 表示在 Devin Desktop 中接受的代码行,CHISEL 表示在 Devin CLI 中接受的代码行 (包括在其他编辑器中作为 Agent 运行的 CLI)
各维度可组合使用,例如 group_by=user,source,model_uid。Get Consumption 中的 models、 group_id 和 user_id 过滤器 在此同样适用。

分页

结果以分页形式返回,默认每页 1,000 行 (最多 10,000 行) 。如果还有更多结果, 响应的 pagination 对象中会包含 next_page_cursor。将其作为 page_cursor query 参数传入即可获取下一页,同时须使用与原始请求相同的 metric 列表。游标与签发它的 端点及指标绑定;来自 /consumption 的游标,或针对不同 metric 列表签发的游标, 都会被拒绝并返回 400。 页面游标的有效期为 24 小时。获取后续分页的请求不会作为新的 query 计入你的速率限制。

速率限制

此端点的速率限制为每个团队每小时 10 次请求。超出此限制时, 服务器将返回 429 Too Many Requests,并附带 Retry-After 标头。 对先前的 query 进行分页 (即沿 next_page_cursor 继续获取) 不计入此限制—— 只有每份报告的首次 query 才会计入。限制之所以较低,是因为此端点用于 定期报告,而非实时用量监控。

授权

Authorization
string
header
必填

需要一个具有 Analytics Read 权限的服务密钥,并通过 Authorization 标头以 Bearer 令牌的形式传递。

你可以在团队设置中的“Service Keys”部分创建服务密钥。

查询参数

metric
string
必填

要返回的输出指标列表,以逗号分隔;每个指标都会以字段的形式出现在每一行中。支持的指标:

  • loc_inserted — Agent 插入且被用户接受的代码行数
  • loc_deleted — Agent 删除且被用户接受的代码行数
start_date
string<date>
必填

日期范围的起始日期(含当日),格式为 YYYY-MM-DD。

end_date
string<date>
必填

日期范围的结束日期(含当日),格式为 YYYY-MM-DD。日期范围不得超过 90 天。

product
enum<string>
必填

要查询其输出数据的产品。

可用选项:
agent
granularity
enum<string>

用于对结果分组的时间粒度。指定后,每行都包含一个 timestamp 字段。 如果省略,则汇总整个日期范围内的结果。

可用选项:
daily,
monthly
group_by
string

用于对结果分组的维度列表,以逗号分隔。支持的维度:

  • user — 每行包含 user_id 和 user_email
  • session — 每行包含 session_id
  • model_uid — 每行包含 model_uid
  • ide — 每行包含 ide
  • ide_version — 每行包含 ide_version;必须同时包含 ide
  • os — 每行包含 os
  • source — 每行包含 source(Devin Desktop 对应 CASCADE_CLIENT,Devin CLI 对应 CHISEL)
models
string

用于筛选结果的模型 UID 列表,以逗号分隔。

group_id
string

仅返回特定组中用户的结果。服务密钥必须具有该组的访问权限。不支持使用 Devin 服务用户 API 密钥。

user_id
string

仅返回特定用户(身份验证 UID)的结果。

page_size
integer
默认值:1000

每页返回的最大行数。

必填范围: 1 <= x <= 10000
page_cursor
string

用于获取下一页的不透明游标,取自上一个响应的 pagination.next_page_cursor。请传入与生成该游标的请求相同的 metric 列表;由其他端点生成或针对不同 metric 列表生成的游标将被拒绝。

响应

已成功返回输出数据。

data
object[]
必填

由输出数据行组成的数组。

pagination
object
必填
metadata
object
必填