From 397eb2baa3ffc9b470a2c99ba78167975bdeacec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=93=B8=E6=B8=8A=20=28ICE-GL-ZY001=29?= Date: Tue, 12 May 2026 11:00:03 +0000 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=AA=20=E6=9C=80=E7=BB=88Secrets?= =?UTF-8?q?=E6=B5=8B=E8=AF=95=C2=B7=E6=A3=80=E6=9F=A5=E6=B3=A8=E5=85=A5+?= =?UTF-8?q?=E6=B5=8B=E8=AF=95DeepSeek+=E5=8D=83=E9=97=AE+=E5=86=99?= =?UTF-8?q?=E7=BB=93=E6=9E=9C=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .forgejo/workflows/final-secrets-test.yaml | 104 +++++++++++++++++++++ .gitea/workflows/final-secrets-test.yaml | 104 +++++++++++++++++++++ 2 files changed, 208 insertions(+) create mode 100644 .forgejo/workflows/final-secrets-test.yaml create mode 100644 .gitea/workflows/final-secrets-test.yaml diff --git a/.forgejo/workflows/final-secrets-test.yaml b/.forgejo/workflows/final-secrets-test.yaml new file mode 100644 index 0000000..07ab11b --- /dev/null +++ b/.forgejo/workflows/final-secrets-test.yaml @@ -0,0 +1,104 @@ +# 光湖 · 最终Secrets测试 +name: Secrets最终测试 + +on: + push: + paths: + - '.gitea/workflows/final-secrets-test.yaml' + +jobs: + test: + runs-on: ubuntu + steps: + - name: 检查secrets + 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 "=== SECRETS CHECK ===" + for key in DEEPSEEK_API_KEY QIANWEN_API_KEY ZY_REPO_TOKEN COS_SECRET_ID COS_SECRET_KEY SG_BRAIN_HOST SG_BRAIN_USER SG_BRAIN_KEY; do + eval val=\$$key + if [ -z "$val" ]; then + echo "EMPTY: $key" + else + echo "OK: $key (len=${#val})" + fi + done + + - name: 测试DeepSeek + env: + DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }} + run: | + if [ -n "$DEEPSEEK_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 | python3 -c " + import json,sys + try: + d=json.load(sys.stdin) + if 'choices' in d: + print('DeepSeek: OK -', d['choices'][0]['message']['content']) + else: + print('DeepSeek: FAILED -', d.get('error',{}).get('message','unknown')) + except Exception as e: + print('DeepSeek: ERROR -', str(e)) + " + else + echo "DeepSeek: NO KEY" + fi + + - name: 测试通义千问 + env: + QIANWEN_API_KEY: ${{ secrets.QIANWEN_API_KEY }} + run: | + if [ -n "$QIANWEN_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 | python3 -c " + import json,sys + try: + d=json.load(sys.stdin) + if 'choices' in d: + print('Qianwen: OK -', d['choices'][0]['message']['content']) + else: + print('Qianwen: FAILED -', d.get('error',{}).get('message','unknown')) + except Exception as e: + print('Qianwen: ERROR -', str(e)) + " + else + echo "Qianwen: NO KEY" + fi + + - 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: | + mkdir -p /data/guanghulab/.runtime + echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'",' > /data/guanghulab/.runtime/secrets-result.json + for key in DEEPSEEK_API_KEY QIANWEN_API_KEY ZY_REPO_TOKEN COS_SECRET_ID COS_SECRET_KEY SG_BRAIN_HOST SG_BRAIN_USER SG_BRAIN_KEY; do + eval val=\$$key + if [ -z "$val" ]; then + echo "\"$key\":\"EMPTY\"," >> /data/guanghulab/.runtime/secrets-result.json + else + echo "\"$key\":\"OK_LEN_'${#val}'\"," >> /data/guanghulab/.runtime/secrets-result.json + fi + done + echo '"done":true}' >> /data/guanghulab/.runtime/secrets-result.json + cat /data/guanghulab/.runtime/secrets-result.json diff --git a/.gitea/workflows/final-secrets-test.yaml b/.gitea/workflows/final-secrets-test.yaml new file mode 100644 index 0000000..07ab11b --- /dev/null +++ b/.gitea/workflows/final-secrets-test.yaml @@ -0,0 +1,104 @@ +# 光湖 · 最终Secrets测试 +name: Secrets最终测试 + +on: + push: + paths: + - '.gitea/workflows/final-secrets-test.yaml' + +jobs: + test: + runs-on: ubuntu + steps: + - name: 检查secrets + 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 "=== SECRETS CHECK ===" + for key in DEEPSEEK_API_KEY QIANWEN_API_KEY ZY_REPO_TOKEN COS_SECRET_ID COS_SECRET_KEY SG_BRAIN_HOST SG_BRAIN_USER SG_BRAIN_KEY; do + eval val=\$$key + if [ -z "$val" ]; then + echo "EMPTY: $key" + else + echo "OK: $key (len=${#val})" + fi + done + + - name: 测试DeepSeek + env: + DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }} + run: | + if [ -n "$DEEPSEEK_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 | python3 -c " + import json,sys + try: + d=json.load(sys.stdin) + if 'choices' in d: + print('DeepSeek: OK -', d['choices'][0]['message']['content']) + else: + print('DeepSeek: FAILED -', d.get('error',{}).get('message','unknown')) + except Exception as e: + print('DeepSeek: ERROR -', str(e)) + " + else + echo "DeepSeek: NO KEY" + fi + + - name: 测试通义千问 + env: + QIANWEN_API_KEY: ${{ secrets.QIANWEN_API_KEY }} + run: | + if [ -n "$QIANWEN_API_KEY" ]; then + 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":"1+1=?"}],"max_tokens":10}' \ + --connect-timeout 10 | python3 -c " + import json,sys + try: + d=json.load(sys.stdin) + if 'choices' in d: + print('Qianwen: OK -', d['choices'][0]['message']['content']) + else: + print('Qianwen: FAILED -', d.get('error',{}).get('message','unknown')) + except Exception as e: + print('Qianwen: ERROR -', str(e)) + " + else + echo "Qianwen: NO KEY" + fi + + - 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: | + mkdir -p /data/guanghulab/.runtime + echo '{"timestamp":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'",' > /data/guanghulab/.runtime/secrets-result.json + for key in DEEPSEEK_API_KEY QIANWEN_API_KEY ZY_REPO_TOKEN COS_SECRET_ID COS_SECRET_KEY SG_BRAIN_HOST SG_BRAIN_USER SG_BRAIN_KEY; do + eval val=\$$key + if [ -z "$val" ]; then + echo "\"$key\":\"EMPTY\"," >> /data/guanghulab/.runtime/secrets-result.json + else + echo "\"$key\":\"OK_LEN_'${#val}'\"," >> /data/guanghulab/.runtime/secrets-result.json + fi + done + echo '"done":true}' >> /data/guanghulab/.runtime/secrets-result.json + cat /data/guanghulab/.runtime/secrets-result.json