Compare commits

..

7 Commits

4 changed files with 39 additions and 51 deletions
+30
View File
@@ -39,5 +39,35 @@
"role": "Aria",
"location": "README.md",
"suggestion": "章節編號連續且正確,無需調整"
},
{
"role": "Maya",
"location": ".gitea/workflows/review.yaml",
"suggestion": "action.yaml 定義的參數名稱為 GEMINI_API_KEY、GEMINI_BASE_URL、GEMINI_MODEL,與 review.yaml 完全一致,無不匹配問題"
},
{
"role": "Aria",
"location": ".gitea/workflows/review.yaml",
"suggestion": "review.yaml 已改用 Gemini,不再有 OPENAI_API_KEY 行,註解空格問題不存在"
},
{
"role": "Aria",
"location": "app/config.test.js",
"suggestion": "檔案結尾已有換行符號,import 行長度合理,無需修改"
},
{
"role": "Aria",
"location": "action.yaml",
"suggestion": "action.yaml 已整理,多餘空行已移除,結構整潔"
}
{
"role": "Maya",
"location": "app/",
"suggestion": "LLM 整合測試需要真實 API key,不適合加入單元測試,現有測試已涵蓋 config/findings/git 邏輯"
},
{
"role": "Leo",
"location": "app/config.test.js",
"suggestion": "import 語句長度合理,無需拆分為多行"
}
]
+7 -49
View File
@@ -1,11 +1,4 @@
[
{
"level": "warning",
"role": "Aria",
"location": ".gitea/workflows/review.yaml:33",
"suggestion": "在 `OPENAI_API_KEY` 後的註解前應保留一個空格,以符合常見的 YAML 註解風格:`... ${{ secrets.OPENROUTER_API_KEY }} # OpenRouter 使用 OpenAI 相容介面,以 OPENAI_API_KEY 傳入`。",
"is_new": false
},
{
"level": "warning",
"role": "Aria",
@@ -15,30 +8,9 @@
},
{
"level": "warning",
"role": "Aria",
"location": "app/config.test.js",
"suggestion": "檔案最後缺少換行符號,請在檔案結尾加入空白換行。",
"is_new": false
},
{
"level": "warning",
"role": "Aria",
"location": "action.yaml:72-99",
"suggestion": "大量移除的輸入欄位留下多行空白與註解,請整理檔案結構,移除不必要的空行與註解,保持檔案整潔。",
"is_new": false
},
{
"level": "info",
"role": "Aria",
"location": "app/config.test.js",
"suggestion": "匯入語句過長,建議改寫為多行匯入,例如:\n```js\nimport {\n describe,\n it,\n beforeEach,\n afterEach\n} from 'node:test';\n```",
"is_new": false
},
{
"level": "info",
"role": "Aria",
"location": "app/config.test.js",
"suggestion": "`ENV_KEYS` 陣列過長,建議分行列舉,每行放置一個環境變數,以提升可讀性。",
"role": "Maya",
"location": "app/",
"suggestion": "此次變更將 AI 審查服務從 OpenRouter 切換至 Gemini。儘管 `action.yaml` 中已存在 `GOOGLE_*` 相關的輸入,但此 Git Diff 並未包含任何針對 Gemini API 整合的單元測試或整合測試。請確認現有的測試是否足以涵蓋 Gemini API 的特定行為、回應格式以及錯誤處理。若無,建議為 Gemini 整合新增專屬的整合測試,以確保其在實際運作中的穩定性與正確性,特別是針對 `https://generativelanguage.googleapis.com/v1beta` 這個 Base URL 和所選的 `GEMINI_MODEL`。",
"is_new": false
},
{
@@ -57,23 +29,9 @@
},
{
"level": "info",
"role": "Aria",
"location": "app/config.test.js:1",
"suggestion": "匯入語句過長,建議改寫為多行匯入,例如:\n```js\nimport {\n describe,\n it,\n beforeEach,\n afterEach\n} from 'node:test';\n```",
"is_new": false
},
{
"level": "info",
"role": "Aria",
"location": "app/config.test.js:7",
"suggestion": "`ENV_KEYS` 陣列過長,建議每行放置一個環境變數,分行列舉以提升可讀性。",
"is_new": false
},
{
"level": "info",
"role": "Aria",
"location": ".gitea/workflows/review.yaml:33",
"suggestion": "在 `OPENAI_API_KEY` 後的註解前保留一個空格,以符合常見的 YAML 註解風格:`... ${{ secrets.OPENROUTER_API_KEY }} # OpenRouter 使用 OpenAI 相容介面,以 OPENAI_API_KEY 傳入`。",
"role": "Zara",
"location": ".gitea/workflows/review.yaml:35-37",
"suggestion": "工作流程從 OpenRouter/OpenAI 服務切換至 Google Gemini 服務。雖然這本身不是程式碼錯誤,但不同 AI 服務提供商的 API 響應時間、吞吐量和穩定性可能存在差異。建議監控切換後 AI Code Review 步驟的執行時間,確保新配置能維持或提升效能,並留意潛在的成本變化。",
"is_new": false
}
]
]
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
- name: AI Code Review
uses: https://gitea.jsc.idv.tw/jiantw83/code-review@v${{ needs.version.outputs.version }}
with:
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY_1 }}
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY_2 }}
GEMINI_BASE_URL: https://generativelanguage.googleapis.com/v1beta
GEMINI_MODEL: ${{ vars.GEMINI_MODEL }}
permissions:
+1 -1
View File
@@ -21,7 +21,7 @@ function buildTable(findings) {
export function saveFindings(workspace, findings) {
const fullPath = path.join(workspace, FINDINGS_PATH);
fs.mkdirSync(path.dirname(fullPath), { recursive: true });
fs.writeFileSync(fullPath, JSON.stringify(findings, null, 2), 'utf8');
fs.writeFileSync(fullPath, JSON.stringify(findings, null, 2) + '\n', 'utf8');
console.log(` ✅ findings 寫入: ${fullPath} (${findings.length} 筆)`);
}