51 KiB
AI Code Review
更新時間:2026/07/11 19:18:23
專案列表
| 專案名稱 | 專案描述 |
|---|---|
| AI Code Review | 此專案提供 Gitea 工作流程中的 AI 程式碼審查、findings / exclusions 管理、LLM CLI 橋接與 git / Gitea 前置驗證工具。 |
| 專案名稱 | 參考專案列表 |
|---|---|
| AI Code Review | 無 |
| 專案名稱 | NuGet 套件列表 |
|---|---|
| AI Code Review | 無 |
功能列表
AI Code Review
使用範例
parseLocation
解析 finding location 為檔案與行號。
檔案位置:src/comments.js 第 66 行。
const result = parseLocation(location);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
formatFindingsStats
產生 findings 統計表格。
檔案位置:src/comments.js 第 150 行。
const result = formatFindingsStats(findings);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
formatFindingsStatsLine
產生 findings 單行統計摘要。
檔案位置:src/comments.js 第 171 行。
const result = formatFindingsStatsLine(findings);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
postFindingsReview
發布 findings 的 Gitea review。
檔案位置:src/comments.js 第 220 行。
const result = await postFindingsReview(findings, deps);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
saveFindings
將 findings 寫入工作區與鏡像目錄。
檔案位置:src/comments.js 第 259 行。
const result = saveFindings(workspace, findings, mirrorDir);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
postOldFindingsComment
發布舊問題的 comment。
檔案位置:src/comments.js 第 274 行。
const result = await postOldFindingsComment(findings);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
postNewNonCriticalComment
發布新問題中的非嚴重 comment。
檔案位置:src/comments.js 第 288 行。
const result = await postNewNonCriticalComment(findings);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
postNewCriticalComments
發布新嚴重問題的 comment。
檔案位置:src/comments.js 第 304 行。
const result = await postNewCriticalComments(findings, deps);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
getInsecureHttpsAgent
取得一個關閉 TLS 憑證驗證的 HTTPS Agent 單例,供內部服務連線使用。
檔案位置:src/config.js 第 60 行。
const result = getInsecureHttpsAgent();
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getLLMCLICommands
取得目前支援的 LLM CLI 指令名稱清單。
檔案位置:src/config.js 第 100 行。
const result = getLLMCLICommands();
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getLLMConfig
依環境變數與 CLI 可用性解析目前可用的 LLM 提供者設定。
檔案位置:src/config.js 第 130 行。
const result = getLLMConfig(commandExistsFn);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
analyzeWithRole
用指定角色分析 diff 並產生 findings。
檔案位置:src/findings.js 第 14 行。
const result = await analyzeWithRole(role, diff);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
normalizeText
將文字正規化成比對用形式。
檔案位置:src/findings.js 第 120 行。
const result = normalizeText(value);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
loadOldFindings
讀取舊 findings 並標記為舊問題。
檔案位置:src/findings.js 第 302 行。
const result = loadOldFindings(workspace);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
mergeFindings
合併新舊 findings 並去重。
檔案位置:src/findings.js 第 319 行。
const result = mergeFindings(oldFindings, newFindings);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
sortByLevel
依嚴重度排序 findings。
檔案位置:src/findings.js 第 335 行。
const result = sortByLevel(findings);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
resolveMissingLineNumbers
為缺少行號的 findings 補上行號。
檔案位置:src/findings.js 第 376 行。
const result = await resolveMissingLineNumbers(findings, diff, deps);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
deduplicateWithAI
用 AI 進行 findings 語意去重。
檔案位置:src/findings.js 第 423 行。
const result = await deduplicateWithAI(findings);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
loadExclusions
讀取並正規化 exclusions。
檔案位置:src/findings.js 第 450 行。
const result = loadExclusions(workspace, repoState, mirrorWorkspace);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
appendExclusions
將新的排除條目追加到 exclusions 檔。
檔案位置:src/findings.js 第 500 行。
const result = appendExclusions(workspace, newEntries, mirrorWorkspace);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
applyExclusions
依 exclusions 過濾 findings。
檔案位置:src/findings.js 第 544 行。
const result = applyExclusions(findings, exclusions);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
filterFalsePositivesWithAI
用 AI 過濾誤報 findings。
檔案位置:src/findings.js 第 577 行。
const result = await filterFalsePositivesWithAI(findings, exclusions, chatFn);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
getRepoState
讀取指定 git repo 的基本狀態快照,包含 HEAD、分支與 commit 時間。
檔案位置:src/git.js 第 120 行。
const result = getRepoState(repoDir, _spawnSync);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getHeadCommitMessage
讀取指定 repo 的 HEAD commit 完整 commit message,失敗時保守回傳空字串。
檔案位置:src/git.js 第 138 行。
const result = getHeadCommitMessage(repoDir, _spawnSync);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
isBotAutoCommit
判斷 HEAD commit 是否由 AI Review bot 自動產生,避免重複觸發後續流程。
檔案位置:src/git.js 第 153 行。
const result = isBotAutoCommit(repoDir, _spawnSync);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
verifyRemoteAccess
先用 git ls-remote 驗證 remote 認證與連線是否可用,失敗時回傳結構化錯誤。
檔案位置:src/git.js 第 163 行。
const result = verifyRemoteAccess(workspace, _spawnSync);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳驗證成功/失敗的結構化結果。
cloneRepo
以可重入方式抓取 PR head branch 到工作目錄內的 repo 資料夾。
檔案位置:src/git.js 第 178 行。
const result = cloneRepo(workspace, _spawnSync);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
commitAndPush
將 AI 審查產出的檔案結轉、提交並推回 PR head branch,失敗時保守記錄 log 而不中斷流程。
檔案位置:src/git.js 第 220 行。
const result = await commitAndPush(workspace, repoDir, _spawnSync, _sourceRoot, reviewOutcome);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
getBotReviewOutcome
解析 AI Review bot 的結果標記,回傳 success、failure 或 unknown。
檔案位置:src/gitea.js 第 39 行。
const result = getBotReviewOutcome(message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
parseReviewIgnore
把 .reviewignore 文字解析成可用的排除前綴陣列。
檔案位置:src/gitea.js 第 62 行。
const result = parseReviewIgnore(text);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getReviewIgnore
讀取並解析 PR 的 .reviewignore,沒有自訂規則時回退預設排除清單。
檔案位置:src/gitea.js 第 74 行。
const result = await getReviewIgnore();
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getPRDiff
取得目前 PR 的 unified diff,並套用 .reviewignore 與內建過濾規則。
檔案位置:src/gitea.js 第 89 行。
const result = await getPRDiff();
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getCommitMessageBySha
依 commit SHA 讀取 Gitea 上的 commit message,失敗時保守回空字串。
檔案位置:src/gitea.js 第 101 行。
const result = await getCommitMessageBySha(sha);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getBranchHeadCommitMessage
讀取指定分支 head commit 的訊息,失敗時保守回空字串。
檔案位置:src/gitea.js 第 122 行。
const result = await getBranchHeadCommitMessage(branch);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
shouldSkipBotCommit
判斷目前 PR head 是否為 bot 自動提交,若是就跳過後續審查流程。
檔案位置:src/gitea.js 第 147 行。
const result = await shouldSkipBotCommit(sha, branch);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
filterDiff
過濾 unified diff 中不需要審查的路徑區塊,保留其餘內容。
檔案位置:src/gitea.js 第 164 行。
const result = filterDiff(diff, excludePrefixes);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
postComment
在 PR 底下發布一則 Markdown 留言,適合非行內評論用途。
檔案位置:src/gitea.js 第 184 行。
const result = await postComment(body);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
postPullReviewComment
對 PR 指定檔案與行號發送單筆行內 review comment。
檔案位置:src/gitea.js 第 203 行。
const result = await postPullReviewComment(pathfilePath, line, body);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
postPullReview
建立一則包含摘要與多筆行內 comment 的 PR review。
檔案位置:src/gitea.js 第 226 行。
const result = await postPullReview(body, comments);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
listPullReviews
列出目前 PR 的所有 review,回應格式不正確時保守回空陣列。
檔案位置:src/gitea.js 第 246 行。
const result = await listPullReviews();
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
getPullReviewComments
依 review ID 取得該 review 底下的所有行內 comment。
檔案位置:src/gitea.js 第 260 行。
const result = await getPullReviewComments(reviewId);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
listAllReviewComments
彙整目前 PR 的所有 review comments,單筆失敗時略過並持續處理。
檔案位置:src/gitea.js 第 274 行。
const result = await listAllReviewComments();
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
resolvePullReviewComment
解決指定 review comment 對話,對應 Gitea 的 resolve API。
檔案位置:src/gitea.js 第 296 行。
const result = await resolvePullReviewComment(commentId);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getFileContentAtRef
讀取指定 ref 下的檔案文字內容,支援 base64 解碼並在失敗時保守回空字串。
檔案位置:src/gitea.js 第 313 行。
const result = await getFileContentAtRef(filePath, ref);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
stripCodeFence
移除文字外層的 markdown code fence,並清理前後空白。
檔案位置:src/json.js 第 17 行。
const result = stripCodeFence(text);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
repairJSONArrayWithAI
透過 LLM 將原始內容修復成可直接 JSON.parse 的 JSON 陣列字串。
檔案位置:src/json.js 第 43 行。
const result = await repairJSONArrayWithAI(fullPath, label, rawText, chatFn);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
validateJSONArrayFile
驗證 JSON 檔案是否合法,必要時嘗試透過 AI 修復一次。
檔案位置:src/json.js 第 93 行。
const result = await validateJSONArrayFile(fullPath, label, repairer);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳驗證成功/失敗的結構化結果。
ensureJSONArrayFileExists
確保指定路徑存在一個 JSON 檔案,不存在時建立空陣列檔。
檔案位置:src/json.js 第 134 行。
const result = ensureJSONArrayFileExists(fullPath, label);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
mapWithConcurrency
以可控制併發數的方式並行處理陣列項目。
檔案位置:src/llm.js 第 25 行。
const result = await mapWithConcurrency(items, limit, fn);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
extractMeaningfulError
從 CLI 原始輸出中擷取最有用的錯誤訊息。
檔案位置:src/llm.js 第 96 行。
const result = extractMeaningfulError(raw, limit);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
chat
呼叫可用的 AI 助理 CLI,並回傳文字回應。
檔案位置:src/llm.js 第 190 行。
const result = await chat(systemPrompt, userContent);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
chatJSON
呼叫 AI 助理並把回應解析成 JSON。
檔案位置:src/llm.js 第 218 行。
const result = await chatJSON(systemPrompt, userContent);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
extractBalancedJSON
從指定索引開始擷取完整平衡的 JSON 片段。
檔案位置:src/llm.js 第 255 行。
const result = extractBalancedJSON(text, startIndex);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
extractJSONText
從雜訊文字中抽出最可能的 JSON 內容。
檔案位置:src/llm.js 第 298 行。
const result = extractJSONText(text);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
section
輸出最上層區塊標題,用來切分整體執行流程。
檔案位置:src/log.js 第 9 行。
const result = section(title);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
step
輸出流程中的步驟標題,標示某一小段工作內容。
檔案位置:src/log.js 第 22 行。
const result = step(stepName, title);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
line
輸出一行中性的明細資訊。
檔案位置:src/log.js 第 34 行。
const result = line(message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
input
輸出某一步驟的輸入描述,方便追蹤資料來源。
檔案位置:src/log.js 第 45 行。
const result = input(message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
output
輸出某一步驟的產出描述,方便追蹤結果。
檔案位置:src/log.js 第 56 行。
const result = output(message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
result
依布林值輸出成功或失敗的檢查結果。
檔案位置:src/log.js 第 69 行。
const result = result(passed, message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
ok
輸出一筆成功或完成訊息。
檔案位置:src/log.js 第 81 行。
const result = ok(message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
warn
輸出一筆警告訊息到 stderr。
檔案位置:src/log.js 第 93 行。
const result = warn(message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
error
輸出一筆錯誤訊息到 stderr。
檔案位置:src/log.js 第 105 行。
const result = error(message);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
main
執行 AI Code Review Pipeline 的完整流程。
檔案位置:src/main.js 第 55 行。
const result = await main();
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
checkRequiredEnv
檢查前置驗證所需的必要環境值是否齊全。
檔案位置:src/preflight.js 第 60 行。
const result = checkRequiredEnv(token, repo, pr);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
verifyGiteaToken
驗證 Gitea token 是否可讀取指定 repository。
檔案位置:src/preflight.js 第 77 行。
const result = await verifyGiteaToken(token, repo);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳驗證成功/失敗的結構化結果。
verifyCommentToken
驗證 comment token 是否可用;未提供時回傳 skipped。
檔案位置:src/preflight.js 第 94 行。
const result = await verifyCommentToken(token);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳驗證成功/失敗的結構化結果。
fetchCodexModels
讀取本機 codex 認證檔並取得目前可用的模型 slug 清單。
檔案位置:src/preflight.js 第 118 行。
const result = await fetchCodexModels();
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
verifyLLM
驗證目前環境是否有可用的 LLM CLI 與對應模型設定。
檔案位置:src/preflight.js 第 171 行。
const result = await verifyLLM(fetchCodexModelsFn);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:回傳驗證成功/失敗的結構化結果。
runPreflight
執行所有前置驗證流程,任一失敗即回傳 false。
檔案位置:src/preflight.js 第 203 行。
const result = await runPreflight(workspace, deps);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
parseBotReviewComment
解析 bot 產生的 review comment,還原成 finding 欄位物件。
檔案位置:src/resolve.js 第 51 行。
const result = parseBotReviewComment(body);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
groupConversations
依檔案路徑與行號把 review comments 收斂成對話群組。
檔案位置:src/resolve.js 第 73 行。
const result = groupConversations(comments);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
codeWindow
擷取目標行附近的程式碼片段,供 AI 判讀。
檔案位置:src/resolve.js 第 100 行。
const result = codeWindow(content, lineNum, radius);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
judgeConversations
處理 judgeConversations 相關邏輯。
檔案位置:src/resolve.js 第 126 行。
const result = await judgeConversations(items, chatFn);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
isSafeRepoPath
檢查路徑是否安全,避免讀取 repo 外檔案。
檔案位置:src/resolve.js 第 174 行。
const result = isSafeRepoPath(p);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
reconcileConversations
收斂 PR review 對話,並依 AI 裁定回填 findings 的去向。
檔案位置:src/resolve.js 第 190 行。
const result = await reconcileConversations(deps);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
dropResolvedFindings
移除已解決對話對應的 findings。
檔案位置:src/resolve.js 第 329 行。
const result = dropResolvedFindings(findings, resolvedFindings);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
addCarriedFindings
將仍成立但缺漏的 findings 補回清單。
檔案位置:src/resolve.js 第 338 行。
const result = addCarriedFindings(findings, carriedFindings);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
parseRoleFile
解析角色 Markdown 檔,取出 frontmatter 與本文。
檔案位置:src/roles.js 第 25 行。
const result = parseRoleFile(content);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
loadRoles
只載入攻擊方角色。
檔案位置:src/roles.js 第 71 行。
const result = loadRoles();
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
loadRole
依名稱查找單一角色。
檔案位置:src/roles.js 第 85 行。
const result = loadRole(name);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
buildAnalysisPrompt
產生攻擊方角色的程式碼審查 system prompt。
檔案位置:src/roles.js 第 104 行。
const result = buildAnalysisPrompt(role);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
buildLocateLinePrompt
產生用來補 finding 行號的 prompt。
檔案位置:src/roles.js 第 149 行。
const result = buildLocateLinePrompt(role);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
buildVerdictPrompt
產生單條 finding 的誤報裁決 prompt。
檔案位置:src/roles.js 第 173 行。
const result = buildVerdictPrompt(role, exclusionHint);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
getRoleIntro
產生 AI Code Review 團隊的 Markdown 介紹表。
檔案位置:src/roles.js 第 206 行。
const result = getRoleIntro(roles);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
extractUsage
從 LLM 回應抽出 token usage。
檔案位置:src/usage.js 第 24 行。
const result = extractUsage(data);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
recordUsage
記錄一次 LLM 呼叫使用量。
檔案位置:src/usage.js 第 65 行。
const result = recordUsage(data);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
getRunUsage
取得目前累積的使用量。
檔案位置:src/usage.js 第 77 行。
const result = getRunUsage();
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
resetRunUsage
重置執行中的 usage 累計。
檔案位置:src/usage.js 第 82 行。
const result = resetRunUsage();
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
recordRateLimit
記錄最近一次速率配額資訊。
檔案位置:src/usage.js 第 109 行。
const result = recordRateLimit(headers);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:完成對外部系統的寫入、發佈或執行動作。
getRateLimit
取得最近一次 rate limit 快照。
檔案位置:src/usage.js 第 130 行。
const result = getRateLimit();
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
resetRateLimit
重置 rate limit 快照。
檔案位置:src/usage.js 第 135 行。
const result = resetRateLimit();
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:依函式用途回傳對應結果。
fetchAccountQuota
查詢指定平台的帳號額度。
檔案位置:src/usage.js 第 209 行。
const result = await fetchAccountQuota(provider, config, deps);
使用情境:通常在需要等待外部 I/O 或其他非同步回應時呼叫。
預期結果:依函式用途回傳對應結果。
resolveRemainingPercent
計算可用額度剩餘百分比。
檔案位置:src/usage.js 第 278 行。
const result = resolveRemainingPercent(quota, rate);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
formatUsageStats
產生 AI 助理使用量 Markdown 區塊。
檔案位置:src/usage.js 第 315 行。
const result = formatUsageStats(provider, model, usage, quota, rate);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。
formatUsageStatsLine
產生使用量單行摘要。
檔案位置:src/usage.js 第 334 行。
const result = formatUsageStatsLine(provider, model, usage, quota, rate);
使用情境:通常在本地資料處理或同步查詢時呼叫。
預期結果:回傳對應資料、設定、字串或布林值。