-
Notifications
You must be signed in to change notification settings - Fork 125
99 lines (93 loc) · 3.35 KB
/
ai-dev.yaml
File metadata and controls
99 lines (93 loc) · 3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
issues:
types: [opened, assigned]
pull_request_review:
types: [submitted]
jobs:
claude:
if: |
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: read
issues: read
id-token: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Prepare Environment
run: |
curl -fsSL https://bun.sh/install | bash
mkdir -p $HOME/.claude-code-router
cat << 'EOF' > $HOME/.claude-code-router/config.json
{
"Providers": [
{
"name": "deepseek",
"api_base_url": "${{ secrets.DEEPSEEK_BASE_URL }}/chat/completions",
"api_key": "${{ secrets.DEEPSEEK_API_KEY }}",
"models": ["deepseek-r1-0528", "deepseek-v3-0324"],
"transformer": {
"use": ["deepseek"],
"deepseek-v3-0324": {
"use": ["tooluse"]
}
}
},
{
"name": "deepseek-api",
"api_base_url": "${{ secrets.OPENAI_BASE_URL }}/chat/completions",
"api_key": "${{ secrets.OPENAI_API_KEY }}",
"models": ["deepseek-chat", "deepseek-reasoner"],
"transformer": {
"use": ["deepseek"],
"deepseek-chat": {
"use": ["tooluse"]
}
}
},
{
"name": "hunyuan",
"api_base_url": "${{ secrets.HUNYUAN_BASE_URL }}/chat/completions",
"api_key": "${{ secrets.HUNYUAN_API_KEY }}",
"models": ["hunyuan-standard-256K", "hunyuan-turbos-longtext-128k-20250325"]
}
],
"Router": {
"default": "deepseek-api,deepseek-reasoner",
"background": "deepseek-api,deepseek-chat",
"think": "deepseek-api,deepseek-reasoner",
"longContext": "hunyuan,hunyuan-turbos-longtext-128k-20250325",
}
}
EOF
shell: bash
- name: Verify Configuration
run: |
echo "Config file created at: $HOME/.claude-code-router/config.json"
echo "--- Configuration Content ---"
cat $HOME/.claude-code-router/config.json
echo "--- End Configuration ---"
shell: bash
- name: Start Claude Code Router
run: |
nohup ~/.bun/bin/bunx @musistudio/claude-code-router@1.0.8 start &
shell: bash
- name: Run Claude Code
id: claude
uses: anthropics/claude-code-action@beta
env:
ANTHROPIC_BASE_URL: http://localhost:3456
with:
anthropic_api_key: "test"