1041006580 commited on
Commit ·
9843e1b
1
Parent(s): 351a21e
feat(docker): 支持通过CREDENTIALS_JSON环境变量配置多凭据
Browse files- README.md +49 -2
- entrypoint.sh +20 -10
README.md
CHANGED
|
@@ -345,14 +345,20 @@ kiro-rs/
|
|
| 345 |
|
| 346 |
本项目支持部署到 HuggingFace Spaces。通过环境变量配置:
|
| 347 |
|
| 348 |
-
###
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 349 |
|
| 350 |
| 变量名 | 说明 | 示例 |
|
| 351 |
|--------|------|------|
|
| 352 |
| `REFRESH_TOKEN` | Kiro 刷新令牌 | `your-refresh-token` |
|
| 353 |
| `API_KEY` | API 访问密钥 | `sk-kiro-rs-your-key` |
|
| 354 |
|
| 355 |
-
|
| 356 |
|
| 357 |
| 变量名 | 说明 | 默认值 |
|
| 358 |
|--------|------|--------|
|
|
@@ -363,6 +369,47 @@ kiro-rs/
|
|
| 363 |
| `CLIENT_SECRET` | IdC 客户端密钥(仅 idc 模式) | - |
|
| 364 |
| `ADMIN_API_KEY` | Admin API 密钥(启用管理界面) | - |
|
| 365 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 366 |
### 启用 Admin 管理界面
|
| 367 |
|
| 368 |
在 HuggingFace Space 的 Settings → Variables 中添加:
|
|
|
|
| 345 |
|
| 346 |
本项目支持部署到 HuggingFace Spaces。通过环境变量配置:
|
| 347 |
|
| 348 |
+
### 凭据配置模式
|
| 349 |
+
|
| 350 |
+
支持两种凭据配置模式:
|
| 351 |
+
|
| 352 |
+
#### 模式1:单凭据模式(简单)
|
| 353 |
+
|
| 354 |
+
**必需的环境变量**:
|
| 355 |
|
| 356 |
| 变量名 | 说明 | 示例 |
|
| 357 |
|--------|------|------|
|
| 358 |
| `REFRESH_TOKEN` | Kiro 刷新令牌 | `your-refresh-token` |
|
| 359 |
| `API_KEY` | API 访问密钥 | `sk-kiro-rs-your-key` |
|
| 360 |
|
| 361 |
+
**可选的环境变量**:
|
| 362 |
|
| 363 |
| 变量名 | 说明 | 默认值 |
|
| 364 |
|--------|------|--------|
|
|
|
|
| 369 |
| `CLIENT_SECRET` | IdC 客户端密钥(仅 idc 模式) | - |
|
| 370 |
| `ADMIN_API_KEY` | Admin API 密钥(启用管理界面) | - |
|
| 371 |
|
| 372 |
+
#### 模式2:多凭据模式(高级)
|
| 373 |
+
|
| 374 |
+
使用 `CREDENTIALS_JSON` 环境变量传入完整的凭据数组(JSON格式):
|
| 375 |
+
|
| 376 |
+
**必需的环境变量**:
|
| 377 |
+
|
| 378 |
+
| 变量名 | 说明 | 示例 |
|
| 379 |
+
|--------|------|------|
|
| 380 |
+
| `CREDENTIALS_JSON` | 凭据JSON数组 | 见下方示例 |
|
| 381 |
+
| `API_KEY` | API 访问密钥 | `sk-kiro-rs-your-key` |
|
| 382 |
+
|
| 383 |
+
**CREDENTIALS_JSON 示例**:
|
| 384 |
+
|
| 385 |
+
```json
|
| 386 |
+
[
|
| 387 |
+
{
|
| 388 |
+
"refreshToken": "第一个凭据的刷新token",
|
| 389 |
+
"expiresAt": "2025-12-31T02:32:45.144Z",
|
| 390 |
+
"authMethod": "social",
|
| 391 |
+
"priority": 0
|
| 392 |
+
},
|
| 393 |
+
{
|
| 394 |
+
"refreshToken": "第二个凭据的刷新token",
|
| 395 |
+
"expiresAt": "2025-12-31T02:32:45.144Z",
|
| 396 |
+
"authMethod": "idc",
|
| 397 |
+
"clientId": "xxxxxxxxx",
|
| 398 |
+
"clientSecret": "xxxxxxxxx",
|
| 399 |
+
"priority": 1
|
| 400 |
+
}
|
| 401 |
+
]
|
| 402 |
+
```
|
| 403 |
+
|
| 404 |
+
**注意**:在HuggingFace Space设置环境变量时,需要将JSON压缩成一行,去掉换行符。
|
| 405 |
+
|
| 406 |
+
**其他可选环境变量**:
|
| 407 |
+
|
| 408 |
+
| 变量名 | 说明 | 默认值 |
|
| 409 |
+
|--------|------|--------|
|
| 410 |
+
| `REGION` | AWS 区域 | `us-east-1` |
|
| 411 |
+
| `ADMIN_API_KEY` | Admin API 密钥(启用管理界面) | - |
|
| 412 |
+
|
| 413 |
### 启用 Admin 管理界面
|
| 414 |
|
| 415 |
在 HuggingFace Space 的 Settings → Variables 中添加:
|
entrypoint.sh
CHANGED
|
@@ -25,26 +25,36 @@ EOF
|
|
| 25 |
fi
|
| 26 |
|
| 27 |
# 从环境变量生成 credentials.json
|
| 28 |
-
# 支持
|
| 29 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 30 |
{
|
| 31 |
"refreshToken": "${REFRESH_TOKEN}",
|
| 32 |
"expiresAt": "${EXPIRES_AT:-2020-01-01T00:00:00.000Z}",
|
| 33 |
-
"authMethod": "
|
|
|
|
|
|
|
| 34 |
}
|
| 35 |
EOF
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
if [ "${AUTH_METHOD}" = "idc" ]; then
|
| 39 |
-
cat > /app/config/credentials.json << EOF
|
| 40 |
{
|
| 41 |
"refreshToken": "${REFRESH_TOKEN}",
|
| 42 |
"expiresAt": "${EXPIRES_AT:-2020-01-01T00:00:00.000Z}",
|
| 43 |
-
"authMethod": "
|
| 44 |
-
"clientId": "${CLIENT_ID}",
|
| 45 |
-
"clientSecret": "${CLIENT_SECRET}"
|
| 46 |
}
|
| 47 |
EOF
|
|
|
|
|
|
|
| 48 |
fi
|
| 49 |
|
| 50 |
echo "Starting kiro-rs..."
|
|
|
|
| 25 |
fi
|
| 26 |
|
| 27 |
# 从环境变量生成 credentials.json
|
| 28 |
+
# 支持两种模式:
|
| 29 |
+
# 1. 多凭据模式:通过 CREDENTIALS_JSON 环境变量传入完整的 JSON 数组
|
| 30 |
+
# 2. 单凭据模式:通过单独的环境变量(向后兼容)
|
| 31 |
+
|
| 32 |
+
if [ -n "${CREDENTIALS_JSON}" ]; then
|
| 33 |
+
# 多凭据模式:直接使用 CREDENTIALS_JSON
|
| 34 |
+
echo "${CREDENTIALS_JSON}" > /app/config/credentials.json
|
| 35 |
+
echo "Using multi-credential mode from CREDENTIALS_JSON"
|
| 36 |
+
else
|
| 37 |
+
# 单凭据模式
|
| 38 |
+
if [ "${AUTH_METHOD}" = "idc" ]; then
|
| 39 |
+
cat > /app/config/credentials.json << EOF
|
| 40 |
{
|
| 41 |
"refreshToken": "${REFRESH_TOKEN}",
|
| 42 |
"expiresAt": "${EXPIRES_AT:-2020-01-01T00:00:00.000Z}",
|
| 43 |
+
"authMethod": "idc",
|
| 44 |
+
"clientId": "${CLIENT_ID}",
|
| 45 |
+
"clientSecret": "${CLIENT_SECRET}"
|
| 46 |
}
|
| 47 |
EOF
|
| 48 |
+
else
|
| 49 |
+
cat > /app/config/credentials.json << EOF
|
|
|
|
|
|
|
| 50 |
{
|
| 51 |
"refreshToken": "${REFRESH_TOKEN}",
|
| 52 |
"expiresAt": "${EXPIRES_AT:-2020-01-01T00:00:00.000Z}",
|
| 53 |
+
"authMethod": "${AUTH_METHOD:-social}"
|
|
|
|
|
|
|
| 54 |
}
|
| 55 |
EOF
|
| 56 |
+
fi
|
| 57 |
+
echo "Using single-credential mode"
|
| 58 |
fi
|
| 59 |
|
| 60 |
echo "Starting kiro-rs..."
|