该 API 为首个发布版本。我们会根据反馈持续扩展能力——告诉我们你需要哪些接口!
- Availability: 仅限企业团队
- Status: Alpha(响应结构和字段可能变动)
身份验证
基础 URL
速率限制
- 每个团队在每个端点上每分钟最多 5 次请求
查询参数
参数 | 类型 | 是否必填 | 描述 | |
---|---|---|---|---|
startDate | string | date | 否 | ISO 日期字符串、字面量 “now”,或相对天数(例如 “7d”,表示 now - 7 天)。默认:now - 7 天 |
endDate | string | date | 否 | ISO 日期字符串、字面量 “now”,或相对天数(例如 “0d”)。默认:now |
page | number | 否 | 页码(从 1 开始)。默认:1 | |
pageSize | number | 否 | 每页结果数。默认:100,最大:1000 | |
user | string | 否 | 可选的单用户过滤。可填写邮箱(例如 developer@company.com)、编码 ID(例如 user_abc123…),或数值 ID(例如 42) |
响应中的 userId 会以带有前缀 user_ 的外部编码 ID 返回,供 API 稳定使用。
语义与指标的计算方式
- Sources:“TAB” 表示接受的内联补全;“COMPOSER” 表示来自 Composer 的已接受差异(diff)
- Lines metrics:tabLinesAdded/Deleted 和 composerLinesAdded/Deleted 分别统计;nonAiLinesAdded/Deleted 计算为 max(0, totalLines - AI lines)
- Privacy mode:如果在客户端启用,某些元数据(例如 fileName)可能会被省略
- Branch info:当当前分支等于仓库的默认分支时,isPrimaryBranch 为 true;如果仓库信息不可用,可能为 undefined
端点
获取 AI 提交指标(JSON,分页)
返回
AiCommitMetric 字段
字段 | 类型 | 描述 | |
---|---|---|---|
commitHash | string | Git 提交哈希 | |
userId | string | 编码后的用户 ID(例如:user_abc123) | |
userEmail | string | 用户邮箱地址 | |
repoName | string | null | 仓库名称 |
branchName | string | null | 分支名称 |
isPrimaryBranch | boolean | null | 是否为主分支 |
totalLinesAdded | number | 提交中新增加的总行数 | |
totalLinesDeleted | number | 提交中删除的总行数 | |
tabLinesAdded | number | 通过 Tab 补全新增的行数 | |
tabLinesDeleted | number | 通过 Tab 补全删除的行数 | |
composerLinesAdded | number | 通过 Composer 新增的行数 | |
composerLinesDeleted | number | 通过 Composer 删除的行数 | |
nonAiLinesAdded | number | null | 非 AI 新增的行数 |
nonAiLinesDeleted | number | null | 非 AI 删除的行数 |
message | string | null | 提交说明 |
commitTs | string | null | 提交时间戳(ISO 格式) |
createdAt | string | 写入时间戳(ISO 格式) |
示例响应
示例请求
下载 AI Commit 指标(CSV,流式)
响应
- Content-Type: text/csv; charset=utf-8
CSV 列
列 | 类型 | 描述 |
---|---|---|
commit_hash | string | Git 提交哈希值 |
user_id | string | 编码后的用户 ID |
user_email | string | 用户邮箱地址 |
repo_name | string | 仓库名称 |
branch_name | string | 分支名称 |
is_primary_branch | boolean | 是否为主分支 |
total_lines_added | number | 此次提交新增的总行数 |
total_lines_deleted | number | 此次提交删除的总行数 |
tab_lines_added | number | 通过 Tab 补全新增的行数 |
tab_lines_deleted | number | 通过 Tab 补全删除的行数 |
composer_lines_added | number | 通过 Composer 新增的行数 |
composer_lines_deleted | number | 通过 Composer 删除的行数 |
non_ai_lines_added | number | 非 AI 新增的行数 |
non_ai_lines_deleted | number | 非 AI 删除的行数 |
message | string | 提交消息 |
commit_ts | string | 提交时间戳(ISO 格式) |
created_at | string | 导入时间戳(ISO 格式) |
示例 CSV 输出
示例请求
获取 AI 代码变更指标(JSON,分页)
返回
AiCodeChangeMetric 字段
字段 | 类型 | 描述 | |
---|---|---|---|
changeId | string | 更改的确定性 ID | |
userId | string | 编码后的用户 ID(例如:user_abc123) | |
userEmail | string | 用户邮箱地址 | |
source | ”TAB" | "COMPOSER” | AI 更改来源 |
model | string | null | 所用 AI 模型 |
totalLinesAdded | number | 新增总行数 | |
totalLinesDeleted | number | 删除总行数 | |
createdAt | string | 写入时间戳(ISO 格式) | |
metadata | Array | 文件元数据(隐私模式下 fileName 可能省略) |
示例响应
示例请求
下载 AI 代码变更指标(CSV,流式)
响应
- Content-Type: text/csv; charset=utf-8
CSV 列
列 | 类型 | 描述 |
---|---|---|
change_id | string | 该变更的确定性 ID |
user_id | string | 编码后的用户 ID |
user_email | string | 用户的电子邮箱地址 |
source | string | AI 变更来源(TAB 或 COMPOSER) |
model | string | 使用的 AI 模型 |
total_lines_added | number | 新增行总数 |
total_lines_deleted | number | 删除行总数 |
created_at | string | 摄取时间戳(ISO 格式) |
metadata_json | string | JSON 字符串化的元数据条目数组 |
备注
- metadata_json 是 JSON 字符串化的元数据条目数组(隐私模式下可能省略 fileName)
- 处理 CSV 时,务必解析带引号的字段
示例 CSV 输出
示例请求
提示
- 使用
user
参数可在所有端点中快速筛选单个用户 - 对于大规模数据抽取,优先使用 CSV 端点——它们会在服务器端以每页 10,000 条记录的方式进行流式传输
- 如果客户端无法解析默认分支,
isPrimaryBranch
可能为 undefined commitTs
是提交时间戳;createdAt
是我们服务器上的摄取时间- 当客户端启用隐私模式时,某些字段可能不会返回
更新日志
- Alpha 版本发布:提供用于提交(commits)和变更(changes)的初始端点(endpoints)。响应结构可能会根据反馈而调整