Skip to content

Commit 2a815ec

Browse files
authored
ci(pr-review): 👷 migrate to generic LLM provider configuration (#68)
Replace OpenAI-specific configuration with a generic LLM provider setup, enabling support for multiple AI backends (e.g., OpenAI, OpenRouter, Tencent Cloud). Environment variables and inputs are now provider-agnostic, with new fields for API base URL, model names, and expanded allowlist hosts. Configuration defaults and exclusions are updated for broader compatibility.
1 parent c3ce5d4 commit 2a815ec

1 file changed

Lines changed: 29 additions & 26 deletions

File tree

.github/workflows/pr-review.yml

Lines changed: 29 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -13,39 +13,48 @@ jobs:
1313
review:
1414
runs-on: ubuntu-latest
1515
env:
16-
OPENAI_API_KEY: ${{ secrets.ZENMUX_API_KEY }}
16+
LLM_API_KEY: ${{ secrets.LLM_API_KEY }}
1717
steps:
18-
- name: Check OPENAI_API_KEY
19-
if: ${{ env.OPENAI_API_KEY == '' }}
20-
run: echo "OPENAI_API_KEY is not set. Skip review run."
18+
- name: Checkout Current Branch
19+
uses: actions/checkout@v4
2120

22-
- name: Run AI Code Review Action
23-
if: ${{ env.OPENAI_API_KEY != '' }}
24-
uses: TiyAgents/code-review-agent-action@v1
21+
- name: Check LLM_API_KEY
22+
if: ${{ env.LLM_API_KEY == '' }}
23+
run: echo "LLM_API_KEY is not set. Skip self-test run."
24+
25+
- name: Run Action From Current Branch
26+
if: ${{ env.LLM_API_KEY != '' }}
27+
uses: TiyAgents/code-review-agent-action@v3
2528
with:
26-
# [Required] GitHub token with pull-requests:write and issues:write permissions
2729
github_token: ${{ secrets.GITHUB_TOKEN }}
30+
# Provider 配置(新字段)
31+
ai_provider: ${{ vars.LLM_PROVIDER_PROTOCOL }}
32+
api_key: ${{ env.LLM_API_KEY }}
33+
api_base: ${{ vars.LLM_API_BASE }}
2834

29-
# [Conditionally required] OpenAI key. If not provided here,
30-
# it must be available via OPENAI_API_KEY environment variable
31-
openai_api_key: ${{ env.OPENAI_API_KEY }}
35+
# [可选] Planner 使用模型;默认 gpt-5.3-codex
36+
# 可选值:任意可用模型名(字符串)
37+
planner_model: ${{ vars.PLANNER_MODEL }}
3238

33-
# [Optional] OpenAI base URL; any OpenAI-compatible API base URL
34-
# If omitted, default official base is used; can also come from OPENAI_API_BASE
35-
openai_api_base: ${{ vars.OPENAI_API_BASE }}
39+
# [可选] SubAgent 使用模型;默认 gpt-5.3-codex
40+
# 可选值:任意可用模型名(字符串)
41+
reviewer_model: ${{ vars.DEFAULT_MODEL }}
3642

37-
# [Optional] Allowed hosts for openai_api_base (comma/newline separated); default api.openai.com
38-
# Required when using a custom OpenAI-compatible gateway host
39-
openai_api_base_allowlist: |
43+
api_base_allowlist: |
4044
api.openai.com
4145
zenmux.ai
46+
opencode.ai
47+
openrouter.ai
48+
tokenhub.tencentmaas.com
49+
api.lkeap.cloud.tencent.com
4250
4351
# [Optional] Include globs (comma or newline separated); default is ** (all files)
4452
# Allowed values: any valid glob patterns
4553
include: |
4654
**/*.js
4755
**/*.ts
4856
**/*.tsx
57+
**/*.json
4958
5059
# [Optional] Exclude globs (comma or newline separated); default is empty
5160
# Allowed values: any valid glob patterns
@@ -54,14 +63,8 @@ jobs:
5463
**/dist/**
5564
**/*.min.js
5665
**/release/**
57-
58-
# [Optional] Planner model; default is gpt-5.3-codex
59-
# Allowed values: any available model name (string)
60-
planner_model: ${{ vars.PLANNER_OPENAI_MODEL }}
61-
62-
# [Optional] Sub-agent model; default is gpt-5.3-codex
63-
# Allowed values: any available model name (string)
64-
reviewer_model: ${{ vars.DEFAULT_OPENAI_MODEL }}
66+
**/node_modules/**
67+
**/*.log
6568
6669
# [Optional] Review dimensions (comma or newline separated);
6770
# default is general,security,performance,testing
@@ -74,7 +77,7 @@ jobs:
7477

7578
# [Optional] Minimum confidence to keep a finding; default is 0.72
7679
# Allowed range: 0.0 - 1.0 (float)
77-
min_finding_confidence: 0.72
80+
min_finding_confidence: 0.85
7881

7982
# [Optional] Round-1 coverage-first mode; default is true
8083
# Allowed values: true, false

0 commit comments

Comments
 (0)