110 lines
4.1 KiB
YAML
110 lines
4.1 KiB
YAML
# 光湖 · Secrets连通测试
|
||
name: Secrets测试
|
||
|
||
on:
|
||
workflow_dispatch:
|
||
push:
|
||
paths:
|
||
- '.gitea/workflows/test-secrets.yaml'
|
||
- '.forgejo/workflows/test-secrets.yaml'
|
||
|
||
jobs:
|
||
test-secrets:
|
||
runs-on: ubuntu
|
||
steps:
|
||
- name: 测试密钥可用性
|
||
env:
|
||
DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }}
|
||
QIANWEN_API_KEY: ${{ secrets.QIANWEN_API_KEY }}
|
||
ZY_REPO_TOKEN: ${{ secrets.ZY_REPO_TOKEN }}
|
||
COS_SECRET_ID: ${{ secrets.COS_SECRET_ID }}
|
||
COS_SECRET_KEY: ${{ secrets.COS_SECRET_KEY }}
|
||
SG_BRAIN_HOST: ${{ secrets.SG_BRAIN_HOST }}
|
||
SG_BRAIN_USER: ${{ secrets.SG_BRAIN_USER }}
|
||
SG_BRAIN_KEY: ${{ secrets.SG_BRAIN_KEY }}
|
||
run: |
|
||
echo "═══ Forgejo Secrets 连通测试 ═══"
|
||
echo ""
|
||
|
||
# 检查每个secret是否有值(不显示值本身)
|
||
check_secret() {
|
||
local name=$1
|
||
local val=$2
|
||
if [[ -n "$val" && "$val" != "" ]]; then
|
||
local masked="${val:0:4}****${val: -4}"
|
||
echo " ✅ $name = $masked (长度: ${#val})"
|
||
else
|
||
echo " ❌ $name = (空)"
|
||
fi
|
||
}
|
||
|
||
check_secret "DEEPSEEK_API_KEY" "$DEEPSEEK_API_KEY"
|
||
check_secret "QIANWEN_API_KEY" "$QIANWEN_API_KEY"
|
||
check_secret "ZY_REPO_TOKEN" "$ZY_REPO_TOKEN"
|
||
check_secret "COS_SECRET_ID" "$COS_SECRET_ID"
|
||
check_secret "COS_SECRET_KEY" "$COS_SECRET_KEY"
|
||
check_secret "SG_BRAIN_HOST" "$SG_BRAIN_HOST"
|
||
check_secret "SG_BRAIN_USER" "$SG_BRAIN_USER"
|
||
check_secret "SG_BRAIN_KEY" "$SG_BRAIN_KEY"
|
||
|
||
echo ""
|
||
echo "═══ API连通测试 ═══"
|
||
|
||
# DeepSeek
|
||
if [[ -n "$DEEPSEEK_API_KEY" ]]; then
|
||
echo -n " DeepSeek: "
|
||
RESP=$(curl -s -X POST https://api.deepseek.com/v1/chat/completions \
|
||
-H "Content-Type: application/json" \
|
||
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
|
||
-d '{"model":"deepseek-chat","messages":[{"role":"user","content":"说一个字"}],"max_tokens":10}' \
|
||
--connect-timeout 10 2>/dev/null)
|
||
if echo "$RESP" | grep -q '"choices"'; then
|
||
echo "✅ 可用"
|
||
else
|
||
echo "❌ 不可用: $(echo $RESP | head -c 100)"
|
||
fi
|
||
fi
|
||
|
||
# 通义千问
|
||
if [[ -n "$QIANWEN_API_KEY" ]]; then
|
||
echo -n " 通义千问: "
|
||
RESP=$(curl -s -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
|
||
-H "Content-Type: application/json" \
|
||
-H "Authorization: Bearer $QIANWEN_API_KEY" \
|
||
-d '{"model":"qwen-plus","messages":[{"role":"user","content":"说一个字"}],"max_tokens":10}' \
|
||
--connect-timeout 10 2>/dev/null)
|
||
if echo "$RESP" | grep -q '"choices"'; then
|
||
echo "✅ 可用"
|
||
else
|
||
echo "❌ 不可用: $(echo $RESP | head -c 100)"
|
||
fi
|
||
fi
|
||
|
||
# COS
|
||
if [[ -n "$COS_SECRET_ID" && -n "$COS_SECRET_KEY" ]]; then
|
||
echo -n " COS存储桶: "
|
||
RESP=$(curl -s -o /dev/null -w "%{http_code}" \
|
||
"https://sy-finetune-corpus-1317346199.cos.ap-guangzhou.myqcloud.com/" \
|
||
-H "Authorization: COS $COS_SECRET_ID:$COS_SECRET_KEY" \
|
||
--connect-timeout 10 2>/dev/null)
|
||
echo "HTTP $RESP"
|
||
fi
|
||
|
||
# 新加坡大脑服务器
|
||
if [[ -n "$SG_BRAIN_HOST" ]]; then
|
||
echo -n " 新加坡大脑: "
|
||
RESP=$(curl -s -o /dev/null -w "%{http_code}" \
|
||
"http://$SG_BRAIN_HOST:3000/" \
|
||
--connect-timeout 5 2>/dev/null)
|
||
if [[ "$RESP" == "000" ]]; then
|
||
echo "不可达 (可能需要SSH密钥)"
|
||
else
|
||
echo "HTTP $RESP"
|
||
fi
|
||
fi
|
||
|
||
echo ""
|
||
echo "═════════════════════════"
|
||
echo "测试完成"
|
||
echo "═════════════════════════"
|