🔑 密钥统一 · ZY_QWEN→ZY_QIANWEN · ZY_ZHIPU→ZY_QINGYAN · COS/Notion修复 · AOAC推送防冲突
Agent-Logs-Url: https://github.com/qinfendebingshuo/guanghulab/sessions/170a08eb-40b4-4f8b-ba95-c5efb483bd14 Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
parent
590081c9ff
commit
9ad52d67ed
|
|
@ -56,7 +56,11 @@ jobs:
|
||||||
git add data/aoac/
|
git add data/aoac/
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "🔧 AOAC-07 · 修复报告 · ${{ steps.repair.outputs.repair_id || 'check' }} [skip ci]"
|
git commit -m "🔧 AOAC-07 · 修复报告 · ${{ steps.repair.outputs.repair_id || 'check' }} [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ────────── AOAC-08 · 监督Agent ──────────
|
# ────────── AOAC-08 · 监督Agent ──────────
|
||||||
|
|
@ -89,5 +93,9 @@ jobs:
|
||||||
git add data/aoac/
|
git add data/aoac/
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "👁️ AOAC-08 · 监督判定 · ${{ steps.supervisor.outputs.verdict || 'check' }} [skip ci]"
|
git commit -m "👁️ AOAC-08 · 监督判定 · ${{ steps.supervisor.outputs.verdict || 'check' }} [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -48,5 +48,9 @@ jobs:
|
||||||
git add data/aoac/dev-session-log.json data/aoac/chain-status.json
|
git add data/aoac/dev-session-log.json data/aoac/chain-status.json
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "🔭 AOAC-01 · PR #${{ github.event.pull_request.number }} 开发日志 [skip ci]"
|
git commit -m "🔭 AOAC-01 · PR #${{ github.event.pull_request.number }} 开发日志 [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,11 @@ jobs:
|
||||||
git add data/aoac/merge-result-log.json data/aoac/chain-status.json
|
git add data/aoac/merge-result-log.json data/aoac/chain-status.json
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "🔍 AOAC-02 · PR #${{ github.event.pull_request.number }} 合并CI日志 [skip ci]"
|
git commit -m "🔍 AOAC-02 · PR #${{ github.event.pull_request.number }} 合并CI日志 [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ────────── AOAC-03 · 合体引擎 ──────────
|
# ────────── AOAC-03 · 合体引擎 ──────────
|
||||||
|
|
@ -81,5 +85,9 @@ jobs:
|
||||||
git add data/aoac/
|
git add data/aoac/
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "⚡ AOAC-03 · 链路合体报告 · PR #${{ github.event.pull_request.number }} [skip ci]"
|
git commit -m "⚡ AOAC-03 · 链路合体报告 · PR #${{ github.event.pull_request.number }} [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,11 @@ jobs:
|
||||||
git add data/aoac/
|
git add data/aoac/
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "📋 AOAC-04 · 同步模块数据更新 [skip ci]"
|
git commit -m "📋 AOAC-04 · 同步模块数据更新 [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ────────── AOAC-05 · 首页主控Agent ──────────
|
# ────────── AOAC-05 · 首页主控Agent ──────────
|
||||||
|
|
@ -106,7 +110,11 @@ jobs:
|
||||||
git add README.md data/aoac/ data/bulletin-board/ .github/persona-brain/memory.json
|
git add README.md data/aoac/ data/bulletin-board/ .github/persona-brain/memory.json
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "🏠 AOAC-05 · 首页主控更新 · $(date -u '+%Y-%m-%d %H:%M') [skip ci]"
|
git commit -m "🏠 AOAC-05 · 首页主控更新 · $(date -u '+%Y-%m-%d %H:%M') [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# ────────── AOAC-06 · Notion同步信号 ──────────
|
# ────────── AOAC-06 · Notion同步信号 ──────────
|
||||||
|
|
@ -136,5 +144,9 @@ jobs:
|
||||||
git add data/aoac/
|
git add data/aoac/
|
||||||
if ! git diff --cached --quiet; then
|
if ! git diff --cached --quiet; then
|
||||||
git commit -m "📡 AOAC-06 · Notion同步信号已发送 [skip ci]"
|
git commit -m "📡 AOAC-06 · Notion同步信号已发送 [skip ci]"
|
||||||
git push
|
for i in 1 2 3; do
|
||||||
|
git pull --rebase origin main && git push && break
|
||||||
|
echo "⚠️ 推送冲突,第${i}次重试..."
|
||||||
|
sleep $((i * 2))
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -76,8 +76,6 @@ jobs:
|
||||||
env:
|
env:
|
||||||
ZY_OSS_KEY: ${{ secrets.ZY_OSS_KEY }}
|
ZY_OSS_KEY: ${{ secrets.ZY_OSS_KEY }}
|
||||||
ZY_OSS_SECRET: ${{ secrets.ZY_OSS_SECRET }}
|
ZY_OSS_SECRET: ${{ secrets.ZY_OSS_SECRET }}
|
||||||
COS_SECRET_ID: ${{ secrets.COS_SECRET_ID }}
|
|
||||||
COS_SECRET_KEY: ${{ secrets.COS_SECRET_KEY }}
|
|
||||||
run: |
|
run: |
|
||||||
node scripts/cos-auto-join-agent.js ${{ steps.action.outputs.action }}
|
node scripts/cos-auto-join-agent.js ${{ steps.action.outputs.action }}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -258,6 +258,14 @@ jobs:
|
||||||
ZY_DB_PASS: ${{ secrets.ZY_DB_PASS }}
|
ZY_DB_PASS: ${{ secrets.ZY_DB_PASS }}
|
||||||
ZY_DB_NAME: ${{ secrets.ZY_DB_NAME }}
|
ZY_DB_NAME: ${{ secrets.ZY_DB_NAME }}
|
||||||
ZY_DB_PORT: ${{ secrets.ZY_DB_PORT }}
|
ZY_DB_PORT: ${{ secrets.ZY_DB_PORT }}
|
||||||
|
ZY_DEEPSEEK_API_KEY: ${{ secrets.ZY_DEEPSEEK_API_KEY }}
|
||||||
|
ZY_QIANWEN_API_KEY: ${{ secrets.ZY_QIANWEN_API_KEY }}
|
||||||
|
ZY_KIMI_API_KEY: ${{ secrets.ZY_KIMI_API_KEY }}
|
||||||
|
ZY_QINGYAN_API_KEY: ${{ secrets.ZY_QINGYAN_API_KEY }}
|
||||||
|
ZY_OSS_KEY: ${{ secrets.ZY_OSS_KEY }}
|
||||||
|
ZY_OSS_SECRET: ${{ secrets.ZY_OSS_SECRET }}
|
||||||
|
ZY_COS_REGION: ${{ secrets.ZY_COS_REGION }}
|
||||||
|
ZY_NOTION_TOKEN: ${{ secrets.ZY_NOTION_TOKEN }}
|
||||||
run: |
|
run: |
|
||||||
COMMIT_SHA="${{ github.sha }}"
|
COMMIT_SHA="${{ github.sha }}"
|
||||||
REF_NAME="${{ github.ref_name }}"
|
REF_NAME="${{ github.ref_name }}"
|
||||||
|
|
@ -301,6 +309,14 @@ jobs:
|
||||||
echo "ZY_DB_PASS=${ZY_DB_PASS}" >> /opt/age-os/.env.mcp
|
echo "ZY_DB_PASS=${ZY_DB_PASS}" >> /opt/age-os/.env.mcp
|
||||||
echo "ZY_DB_NAME=${ZY_DB_NAME:-age_os}" >> /opt/age-os/.env.mcp
|
echo "ZY_DB_NAME=${ZY_DB_NAME:-age_os}" >> /opt/age-os/.env.mcp
|
||||||
echo "ZY_DB_PORT=${ZY_DB_PORT:-5432}" >> /opt/age-os/.env.mcp
|
echo "ZY_DB_PORT=${ZY_DB_PORT:-5432}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_DEEPSEEK_API_KEY=${ZY_DEEPSEEK_API_KEY}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_QIANWEN_API_KEY=${ZY_QIANWEN_API_KEY}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_KIMI_API_KEY=${ZY_KIMI_API_KEY}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_QINGYAN_API_KEY=${ZY_QINGYAN_API_KEY}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_OSS_KEY=${ZY_OSS_KEY}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_OSS_SECRET=${ZY_OSS_SECRET}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_COS_REGION=${ZY_COS_REGION:-ap-guangzhou}" >> /opt/age-os/.env.mcp
|
||||||
|
echo "ZY_NOTION_TOKEN=${ZY_NOTION_TOKEN}" >> /opt/age-os/.env.mcp
|
||||||
chmod 600 /opt/age-os/.env.mcp
|
chmod 600 /opt/age-os/.env.mcp
|
||||||
|
|
||||||
# ─── 自动执行数据库迁移 ───
|
# ─── 自动执行数据库迁移 ───
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,7 @@ jobs:
|
||||||
|
|
||||||
- name: '📋 同步工单到 Notion'
|
- name: '📋 同步工单到 Notion'
|
||||||
env:
|
env:
|
||||||
NOTION_TOKEN: ${{ secrets.NOTION_TOKEN }}
|
NOTION_TOKEN: ${{ secrets.ZY_NOTION_TOKEN }}
|
||||||
RUN_ID: ${{ needs.collect-logs.outputs.run_id }}
|
RUN_ID: ${{ needs.collect-logs.outputs.run_id }}
|
||||||
WORKFLOW_NAME: ${{ needs.collect-logs.outputs.workflow_name }}
|
WORKFLOW_NAME: ${{ needs.collect-logs.outputs.workflow_name }}
|
||||||
COMMIT_SHA: ${{ github.sha }}
|
COMMIT_SHA: ${{ github.sha }}
|
||||||
|
|
|
||||||
|
|
@ -76,10 +76,10 @@ zy-core-bucket-1317346199/
|
||||||
|
|
||||||
| Secret名称 | 用途 | 获取方式 |
|
| Secret名称 | 用途 | 获取方式 |
|
||||||
|------------|------|---------|
|
|------------|------|---------|
|
||||||
| `ZY_ZHIPU_API_KEY` | 智谱GLM API密钥 | https://open.bigmodel.cn → API Keys |
|
| `ZY_QINGYAN_API_KEY` | 智谱GLM API密钥 | https://open.bigmodel.cn → API Keys |
|
||||||
| `ZY_QWEN_API_KEY` | 通义千问API密钥 | https://dashscope.console.aliyun.com → API-KEY管理 |
|
| `ZY_QIANWEN_API_KEY` | 通义千问API密钥 | https://dashscope.console.aliyun.com → API-KEY管理 |
|
||||||
|
|
||||||
> ⚠️ 训练Agent日志显示 `ZY_ZHIPU_API_KEY: ` 和 `ZY_QWEN_API_KEY: ` 为空值,说明这两个Secret尚未配置。训练Agent会自动降级使用可用的模型,但建议补全。
|
> ⚠️ 训练Agent日志显示 `ZY_QINGYAN_API_KEY: ` 和 `ZY_QIANWEN_API_KEY: ` 为空值,说明这两个Secret尚未配置。训练Agent会自动降级使用可用的模型,但建议补全。
|
||||||
|
|
||||||
### 可选配置
|
### 可选配置
|
||||||
|
|
||||||
|
|
@ -128,8 +128,8 @@ zy-core-bucket-1317346199/
|
||||||
|
|
||||||
**操作**: GitHub 仓库 → Settings → Secrets and variables → Actions
|
**操作**: GitHub 仓库 → Settings → Secrets and variables → Actions
|
||||||
|
|
||||||
- 添加 `ZY_ZHIPU_API_KEY`(智谱GLM)
|
- 添加 `ZY_QINGYAN_API_KEY`(智谱GLM)
|
||||||
- 添加 `ZY_QWEN_API_KEY`(通义千问)
|
- 添加 `ZY_QIANWEN_API_KEY`(通义千问)
|
||||||
|
|
||||||
> 训练Agent支持多模型降级,缺少部分密钥不会导致失败,但可用模型更多训练效果更好。
|
> 训练Agent支持多模型降级,缺少部分密钥不会导致失败,但可用模型更多训练效果更好。
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -147,9 +147,8 @@ function writeLog(entry) {
|
||||||
// ─── 检查单个成员的COS桶 ───
|
// ─── 检查单个成员的COS桶 ───
|
||||||
async function checkMemberBucket(member) {
|
async function checkMemberBucket(member) {
|
||||||
const { persona_id, bucket, region } = member;
|
const { persona_id, bucket, region } = member;
|
||||||
// 支持两套密钥命名(ZY_OSS_* 用于铸渊核心桶 · COS_SECRET_* 用于团队共享桶)
|
const secretId = process.env.ZY_OSS_KEY || '';
|
||||||
const secretId = process.env.ZY_OSS_KEY || process.env.COS_SECRET_ID || '';
|
const secretKey = process.env.ZY_OSS_SECRET || '';
|
||||||
const secretKey = process.env.ZY_OSS_SECRET || process.env.COS_SECRET_KEY || '';
|
|
||||||
|
|
||||||
if (!secretId || !secretKey) {
|
if (!secretId || !secretKey) {
|
||||||
return { persona_id, status: 'no_credentials', message: '未配置COS密钥' };
|
return { persona_id, status: 'no_credentials', message: '未配置COS密钥' };
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,7 @@ const FINETUNE_PROVIDERS = {
|
||||||
uploadPath: '/api/v1/files',
|
uploadPath: '/api/v1/files',
|
||||||
inferencePath: '/compatible-mode/v1/chat/completions',
|
inferencePath: '/compatible-mode/v1/chat/completions',
|
||||||
defaultModel: 'qwen-max',
|
defaultModel: 'qwen-max',
|
||||||
keyEnv: 'ZY_QWEN_API_KEY',
|
keyEnv: 'ZY_QIANWEN_API_KEY',
|
||||||
label: 'Qwen/DashScope微调'
|
label: 'Qwen/DashScope微调'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -68,7 +68,7 @@ const LLM_CONFIGS = {
|
||||||
host: 'dashscope.aliyuncs.com',
|
host: 'dashscope.aliyuncs.com',
|
||||||
path: '/compatible-mode/v1/chat/completions',
|
path: '/compatible-mode/v1/chat/completions',
|
||||||
model: 'qwen-max',
|
model: 'qwen-max',
|
||||||
keyEnv: 'ZY_QWEN_API_KEY',
|
keyEnv: 'ZY_QIANWEN_API_KEY',
|
||||||
purpose: '微调基座·推理降级'
|
purpose: '微调基座·推理降级'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -50,14 +50,14 @@ const LLM_CONFIGS = {
|
||||||
host: 'open.bigmodel.cn',
|
host: 'open.bigmodel.cn',
|
||||||
path: '/api/paas/v4/chat/completions',
|
path: '/api/paas/v4/chat/completions',
|
||||||
model: 'glm-4-long',
|
model: 'glm-4-long',
|
||||||
keyEnv: 'ZY_ZHIPU_API_KEY',
|
keyEnv: 'ZY_QINGYAN_API_KEY',
|
||||||
purpose: '长文本处理·语料分析'
|
purpose: '长文本处理·语料分析'
|
||||||
},
|
},
|
||||||
'qwen-max': {
|
'qwen-max': {
|
||||||
host: 'dashscope.aliyuncs.com',
|
host: 'dashscope.aliyuncs.com',
|
||||||
path: '/compatible-mode/v1/chat/completions',
|
path: '/compatible-mode/v1/chat/completions',
|
||||||
model: 'qwen-max',
|
model: 'qwen-max',
|
||||||
keyEnv: 'ZY_QWEN_API_KEY',
|
keyEnv: 'ZY_QIANWEN_API_KEY',
|
||||||
purpose: '文本理解·代码辅助'
|
purpose: '文本理解·代码辅助'
|
||||||
},
|
},
|
||||||
'moonshot-128k': {
|
'moonshot-128k': {
|
||||||
|
|
|
||||||
|
|
@ -514,8 +514,8 @@ alert → 铸渊收到安全警报
|
||||||
| `ZY_ZHUYUAN_COS_BUCKET` | 铸渊总控COS桶名 | 铸渊提供 | ✅必须 |
|
| `ZY_ZHUYUAN_COS_BUCKET` | 铸渊总控COS桶名 | 铸渊提供 | ✅必须 |
|
||||||
| `GITHUB_TOKEN` | GitHub Actions令牌 | 系统自动提供 | ✅自动 |
|
| `GITHUB_TOKEN` | GitHub Actions令牌 | 系统自动提供 | ✅自动 |
|
||||||
| `ZY_DEEPSEEK_API_KEY` | DeepSeek API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
| `ZY_DEEPSEEK_API_KEY` | DeepSeek API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
||||||
| `ZY_ZHIPU_API_KEY` | 智谱AI API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
| `ZY_QINGYAN_API_KEY` | 智谱AI API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
||||||
| `ZY_QWEN_API_KEY` | 通义千问 API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
| `ZY_QIANWEN_API_KEY` | 通义千问 API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
||||||
| `ZY_KIMI_API_KEY` | Kimi API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
| `ZY_KIMI_API_KEY` | Kimi API密钥 | 在Notion侧询问语言层人格体 | 🟡可选 |
|
||||||
|
|
||||||
### 6.3 密钥功能对照表
|
### 6.3 密钥功能对照表
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue