API 正處於首發版本。我們會根據回饋持續擴充功能——告訴我們你需要哪些 endpoints!
- 可用性:僅供企業團隊使用
- 狀態: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 | 否 | 以單一使用者進行篩選(可選)。接受 email(例如:developer@company.com)、編碼 ID(例如:user_abc123…),或數字 ID(例如:42) |
回應中的 userId 會以帶有前綴 user_ 的編碼外部 ID 回傳;此值在 API 使用情境中是穩定的。
語意與度量如何計算
- 來源:「TAB」代表接受的行內完成;「COMPOSER」代表從 Composer 接受的差異(diff)
- 行數度量:tabLinesAdded/Deleted 與 composerLinesAdded/Deleted 分別計算;nonAiLinesAdded/Deleted 以 max(0, totalLines - AI lines) 推導
- 隱私模式:若在用戶端啟用,部分中繼資料(如 fileName)可能會被省略
- 分支資訊:當前分支等於 repo 的預設分支時,isPrimaryBranch 為 true;若無法取得 repo 資訊,可能為 undefined
端點
取得 AI Commit 指標(JSON,分頁)
回應
AiCommitMetric 欄位
欄位 | 型別 | 說明 | |
---|---|---|---|
commitHash | string | Git commit 雜湊值 | |
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 的初始端點。回應格式可能會根據回饋逐步調整