File size: 6,290 Bytes
c83dcad
c1a43bf
 
 
c83dcad
 
 
c1a43bf
 
c83dcad
 
c1a43bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6cace42
 
 
 
 
 
 
 
 
c1a43bf
 
 
 
 
 
 
6cace42
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c1a43bf
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
---
title: CLI Proxy API Plus
emoji: ๐Ÿš€
colorFrom: blue
colorTo: purple
sdk: docker
pinned: false
license: mit
short_description: ็ตฑไธ€็š„ AI API ไปฃ็†ๆœๅ‹™
---

# ๐Ÿš€ CLI Proxy API Plus

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
[![Go](https://img.shields.io/badge/Go-1.26-00ADD8?logo=go)](https://golang.org/)
[![Streamlit](https://img.shields.io/badge/Streamlit-1.28+-FF4B4B?logo=streamlit)](https://streamlit.io/)

็ตฑไธ€็š„ AI API ไปฃ็†ๆœๅ‹™๏ผŒๆ”ฏๆดๅคš็จฎ AI ๆไพ›่€…๏ผŒๆไพ›ๆจ™ๆบ–ๅŒ–็š„ OpenAI ๅ…ผๅฎน API ๆŽฅๅฃใ€‚

## โœจ ๅŠŸ่ƒฝ็‰น้ปž

- ๐Ÿ”Œ **็ตฑไธ€ API ๆŽฅๅฃ** - OpenAI ๅ…ผๅฎนๆ ผๅผ๏ผŒ็„ก็ธซๆ•ดๅˆ็พๆœ‰ๅทฅๅ…ท
- ๐Ÿ” **OAuth ่ช่ญ‰็ฎก็†** - ๆ”ฏๆดๅคš็จฎ OAuth ่ช่ญ‰ๆต็จ‹
- ๐Ÿ“Š **ไฝฟ็”จ้‡็ตฑ่จˆ** - ๅฏฆๆ™‚็›ฃๆŽง API ไฝฟ็”จๆƒ…ๆณ
- ๐Ÿ”„ **่‡ชๅ‹• Token ๅˆทๆ–ฐ** - ๆ™บ่ƒฝ็ฎก็†่ช่ญ‰ๆ†‘่ญ‰
- ๐ŸŒ **ๅคšๆไพ›่€…ๆ”ฏๆด** - Claudeใ€OpenAIใ€Geminiใ€Copilotใ€Kiro ็ญ‰
- ๐ŸŽจ **Streamlit Web UI** - ๅ‹ๅฅฝ็š„ๅœ–ๅฝขๅŒ–็ฎก็†ไป‹้ข

## ๐Ÿค– ๆ”ฏๆด็š„ AI ๆไพ›่€…

| ๆไพ›่€… | ่ช่ญ‰ๆ–นๅผ | ๆจกๅž‹ |
|--------|----------|------|
| ๐ŸŸ  **Claude** | OAuth | claude-3-5-sonnet, claude-3-opus |
| ๐ŸŸข **OpenAI** | API Key / OAuth | gpt-4o, gpt-4-turbo |
| ๐Ÿ”ต **Gemini** | API Key | gemini-1.5-pro, gemini-1.5-flash |
| โšซ **GitHub Copilot** | OAuth | gpt-4, gpt-3.5-turbo |
| ๐ŸŸก **Kiro** | OAuth / AWS | claude-3-5-sonnet (via AWS) |
| ๐ŸŸฃ **Codex** | OAuth | gpt-4, gpt-3.5-turbo |

## ๐Ÿš€ ๅฟซ้€Ÿ้–‹ๅง‹

### ไฝฟ็”จ Web UI

1. ่จชๅ•ๆญค Space ็š„ URL
2. ๅœจๅด้‚Šๆฌ„ๆŸฅ็œ‹ API ็‹€ๆ…‹
3. ไฝฟ็”จไปฅไธ‹ๅŠŸ่ƒฝ๏ผš
   - **๐Ÿ’ฌ Chat** - ๆธฌ่ฉฆ API ่ซ‹ๆฑ‚
   - **๐Ÿ”‘ Auth** - ็ฎก็†่ช่ญ‰ๆ†‘่ญ‰
   - **๐Ÿ“Š Stats** - ๆŸฅ็œ‹ไฝฟ็”จ็ตฑ่จˆ
   - **โš™๏ธ Settings** - ้…็ฝฎ็ณป็ตฑ

### API ็ซฏ้ปž

```bash
# Chat Completions (OpenAI ๅ…ผๅฎน)
curl -X POST https://{your-space}.hf.space/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "claude-3-5-sonnet-20241022",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'

# ๅˆ—ๅ‡บๆจกๅž‹
curl https://{your-space}.hf.space/v1/models
```

## ๐Ÿ” ้…็ฝฎ Secrets

ๅœจ Hugging Face Spaces ็š„ **Settings > Secrets** ไธญๆทปๅŠ ไปฅไธ‹้…็ฝฎ๏ผš

| Secret ๅ็จฑ | ่ชชๆ˜Ž | ็ฏ„ไพ‹ |
|-------------|------|------|
| `API_KEYS` | API ่จชๅ•ๅฏ†้‘ฐ | `["sk-xxx", "sk-yyy"]` |
| `MANAGEMENT_KEY` | ็ฎก็†ไป‹้ขๅฏ†้‘ฐ | `your-admin-key` |
| `CLAUDE_TOKEN` | Claude OAuth Token | (JSON ๆ ผๅผ) |
| `OPENAI_API_KEY` | OpenAI API Key | `sk-...` |
| `GEMINI_API_KEY` | Gemini API Key | `AIza...` |

## ๐Ÿ“ ๅฐˆๆกˆ็ตๆง‹

```
hf-spaces/
โ”œโ”€โ”€ Dockerfile           # Docker ๆง‹ๅปบๆ–‡ไปถ
โ”œโ”€โ”€ supervisord.conf     # ้€ฒ็จ‹็ฎก็†้…็ฝฎ
โ”œโ”€โ”€ entrypoint.sh        # ๅฎนๅ™จๅ…ฅๅฃ่…ณๆœฌ
โ”œโ”€โ”€ requirements.txt     # Python ไพ่ณด
โ”œโ”€โ”€ README.md            # ๆœฌๆ–‡ไปถ
โ”œโ”€โ”€ DEPLOYMENT.md        # ่ฉณ็ดฐ้ƒจ็ฝฒๆŒ‡ๅ—
โ”œโ”€โ”€ CLIProxyAPIPlus      # Go ไบŒ้€ฒๅˆถ๏ผˆ้œ€้ ๅ…ˆๆง‹ๅปบ๏ผ‰
โ””โ”€โ”€ streamlit_app/       # Streamlit ๆ‡‰็”จ
    โ”œโ”€โ”€ app.py           # ไธป็จ‹ๅบ
    โ””โ”€โ”€ pages/
        โ”œโ”€โ”€ 1_๐Ÿ’ฌ_Chat.py    # API ๆธฌ่ฉฆ้ ้ข
        โ”œโ”€โ”€ 2_๐Ÿ”‘_Auth.py    # ่ช่ญ‰็ฎก็†้ ้ข
        โ”œโ”€โ”€ 3_๐Ÿ“Š_Stats.py   # ไฝฟ็”จ็ตฑ่จˆ้ ้ข
        โ””โ”€โ”€ 4_โš™๏ธ_Settings.py # ็ณป็ตฑ่จญๅฎš้ ้ข
```

## ๐Ÿ”ง ๆง‹ๅปบ Go ไบŒ้€ฒๅˆถ

**้‡่ฆ**๏ผš้ƒจ็ฝฒๅ‰้œ€่ฆๅ…ˆๆง‹ๅปบ Go ไบŒ้€ฒๅˆถๆ–‡ไปถใ€‚

### Linux/macOS
```bash
cd /path/to/CLIProxyAPIPlus
GOOS=linux GOARCH=amd64 go build -o hf-spaces/CLIProxyAPIPlus ./cmd/server/
```

### Windows (PowerShell)
```powershell
cd C:\path\to\CLIProxyAPIPlus
$env:GOOS="linux"; $env:GOARCH="amd64"; go build -o hf-spaces/CLIProxyAPIPlus ./cmd/server/
```

### ้ฉ—่ญ‰ๆง‹ๅปบ
```bash
ls -la hf-spaces/CLIProxyAPIPlus
# ๆ‡‰่ฉฒ้กฏ็คบไธ€ๅ€‹็ด„ 20-30MB ็š„ๅฏๅŸท่กŒๆ–‡ไปถ
```

## ๐Ÿ—๏ธ ๆžถๆง‹

```
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           Hugging Face Spaces            โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚          Docker Container           โ”‚ โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚  Streamlit  โ”‚  โ”‚  Go API      โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚  :7860      โ”‚  โ”‚  :8317       โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ”‚  (ๅ‰็ซฏUI)    โ”‚โ”€โ”€โ”‚  (ๅพŒ็ซฏๆœๅ‹™)   โ”‚  โ”‚ โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚ โ”‚
โ”‚  โ”‚         Supervisord ้€ฒ็จ‹็ฎก็†         โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                    โ”‚
                    โ–ผ
        โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
        โ”‚    AI Provider APIs    โ”‚
        โ”‚  Claude/OpenAI/Gemini  โ”‚
        โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
```

## ๐Ÿ“– ไฝฟ็”จ่ชชๆ˜Ž

### 1. API ๆธฌ่ฉฆ

1. ้ปžๆ“Šๅทฆๅด **๐Ÿ’ฌ Chat** ้ ้ข
2. ้ธๆ“‡ AI ๆไพ›่€…ๅ’Œๆจกๅž‹
3. ่ผธๅ…ฅๅ•้กŒไธฆ็™ผ้€่ซ‹ๆฑ‚
4. ๆŸฅ็œ‹้Ÿฟๆ‡‰็ตๆžœ

### 2. ่ช่ญ‰็ฎก็†

1. ้ปžๆ“Šๅทฆๅด **๐Ÿ”‘ Auth** ้ ้ข
2. ๆŸฅ็œ‹ๅ„ๆไพ›่€…็š„่ช่ญ‰็‹€ๆ…‹
3. ้…็ฝฎ OAuth ๆˆ– API Key

### 3. ๆŸฅ็œ‹็ตฑ่จˆ

1. ้ปžๆ“Šๅทฆๅด **๐Ÿ“Š Stats** ้ ้ข
2. ๆŸฅ็œ‹่ซ‹ๆฑ‚้‡ใ€Token ๆถˆ่€—็ญ‰็ตฑ่จˆ
3. ็›ฃๆŽงๅ„ๆไพ›่€…็‹€ๆ…‹

## โš ๏ธ ๆณจๆ„ไบ‹้ …

1. **่ณ‡ๆบ้™ๅˆถ** - HF Spaces ๅ…่ฒป็‰ˆๆœ‰ CPU ๅ’Œๅ…งๅญ˜้™ๅˆถ
2. **ๅญ˜ๅ„ฒ้™ๅˆถ** - ๅฎนๅ™จ้‡ๅ•ŸๅพŒๆ•ธๆ“šๆœƒไธŸๅคฑ
3. **HTTPS** - HF Spaces ๅผทๅˆถไฝฟ็”จ HTTPS
4. **ไธฆ็™ผ้™ๅˆถ** - ๅ…่ฒป็‰ˆไธฆ็™ผ่ซ‹ๆฑ‚ๆœ‰้™ๅˆถ

## ๐Ÿ”— ็›ธ้—œ้€ฃ็ต

- [GitHub ๅ€‰ๅบซ](https://github.com/router-for-me/CLIProxyAPIPlus)
- [ๅŽŸ็‰ˆๆ–‡ๆช”](https://github.com/router-for-me/CLIProxyAPI)
- [Hugging Face Spaces](https://huggingface.co/spaces)

## ๐Ÿ“ ๆŽˆๆฌŠ

ๆœฌๅฐˆๆกˆๆŽก็”จ MIT ๆŽˆๆฌŠๆขๆฌพใ€‚่ฉณ่ฆ‹ [LICENSE](LICENSE) ๆ–‡ไปถใ€‚

---

<p align="center">
  Made with โค๏ธ by CLIProxyAPI Plus Team
</p>