1239 lines
47 KiB
JSON
1239 lines
47 KiB
JSON
{
|
||
"_meta": {
|
||
"manifest_id": "ZY-SECRETS-MANIFEST-v2.0",
|
||
"created": "2026-03-29T10:43:00Z",
|
||
"updated": "2026-03-30T10:30:00Z",
|
||
"created_by": "铸渊 · ICE-GL-ZY001",
|
||
"directive": "SY-CMD-KEY-012 · 密钥全量清理与统一替换 + 7 Notion Secret审计 + 国内服务器密钥扩展",
|
||
"purpose": "铸渊仓库密钥主清单 — 冰朔配置密钥的唯一参考文档",
|
||
"naming_convention": "所有密钥统一使用 ZY_ 前缀 · 铸渊(Zhuyuan)自主命名体系",
|
||
"total_secrets": 41,
|
||
"required": 25,
|
||
"optional": 16,
|
||
"replaced_old_secrets": 59,
|
||
"reduction": "59 → 41 (新增4个国内服务器密钥)",
|
||
"v2_changes": "新增ZY_CN_SERVER_* 4个密钥用于广州国内服务器(ZY-SVR-003)"
|
||
},
|
||
"migration_mapping": {
|
||
"description": "旧密钥名称 → 新ZY_*名称 完整映射表",
|
||
"note": "冰朔在GitHub Settings清空所有旧密钥后,按此清单配置新密钥。合并PR后自动生效。",
|
||
"mappings": {
|
||
"LLM_API_KEY": "ZY_LLM_API_KEY",
|
||
"ANTHROPIC_API_KEY": "ZY_LLM_API_KEY",
|
||
"OPENAI_API_KEY": "ZY_LLM_API_KEY",
|
||
"DASHSCOPE_API_KEY": "ZY_LLM_API_KEY",
|
||
"DEEPSEEK_API_KEY": "ZY_LLM_API_KEY",
|
||
"GEMINI_API_KEY": "ZY_LLM_API_KEY",
|
||
"YUNWU_API_KEY": "ZY_LLM_API_KEY",
|
||
"MODEL_API_KEY": "ZY_LLM_API_KEY",
|
||
"LLM_BASE_URL": "ZY_LLM_BASE_URL",
|
||
"DEPLOY_HOST": "ZY_SERVER_HOST",
|
||
"DEPLOY_USER": "ZY_SERVER_USER",
|
||
"DEPLOY_KEY": "ZY_SERVER_KEY",
|
||
"DEPLOY_PATH": "ZY_SERVER_PATH",
|
||
"NOTION_API_KEY": "ZY_NOTION_TOKEN",
|
||
"NOTION_TOKEN_BINGSUO": "ZY_NOTION_TOKEN",
|
||
"NOTION_TOKEN_ZHIZHI": "ZY_NOTION_TOKEN",
|
||
"NOTION_SYSLOG_DB_ID": "ZY_NOTION_SYSLOG_DB",
|
||
"NOTION_DB_SYSLOG": "ZY_NOTION_SYSLOG_DB",
|
||
"SYSLOG_DB_ID": "ZY_NOTION_SYSLOG_DB",
|
||
"NOTION_TICKET_DB_ID": "ZY_NOTION_TICKET_DB",
|
||
"NOTION_CHANGE_LOG_DB_ID": "ZY_NOTION_CHANGELOG_DB",
|
||
"CORE_BRAIN_PAGE_ID": "ZY_NOTION_BRAIN_PAGE",
|
||
"PORTRAIT_DB_ID": "ZY_NOTION_PORTRAIT_DB",
|
||
"FINGERPRINT_DB_ID": "ZY_NOTION_FINGERPRINT_DB",
|
||
"RECEIPT_DB_ID": "ZY_NOTION_RECEIPT_DB",
|
||
"SIGNAL_LOG_DB_ID": "ZY_NOTION_SIGNAL_DB",
|
||
"BRIDGE_QUEUE_DB_ID": "ZY_NOTION_BRIDGE_DB",
|
||
"WAKE_REQUEST_DB_ID": "ZY_NOTION_WAKE_DB",
|
||
"SKYEYE_PERSONA_DB_ID": "ZY_NOTION_SKYEYE_DB",
|
||
"AGENT_BULLETIN_BOARD_PAGE_ID": "ZY_NOTION_BULLETIN_PAGE",
|
||
"WORKORDER_DB_BINGSUO": "ZY_NOTION_WORKORDER_DB",
|
||
"WORKORDER_DB_ZHIZHI": "ZY_NOTION_WORKORDER_DB",
|
||
"SMTP_USER": "ZY_SMTP_USER",
|
||
"SMTP_PASS": "ZY_SMTP_PASS",
|
||
"MAIL_USERNAME": "ZY_SMTP_USER",
|
||
"MAIL_PASSWORD": "ZY_SMTP_PASS",
|
||
"EMAIL_ADDRESS": "ZY_SMTP_USER",
|
||
"EMAIL_APP_PASSWORD": "ZY_SMTP_PASS",
|
||
"HUMAN_EMAIL": "ZY_SMTP_USER",
|
||
"MAIN_REPO_TOKEN": "ZY_GITHUB_PAT",
|
||
"CROSS_REPO_TOKEN": "ZY_GITHUB_PAT",
|
||
"DEPLOY_GITHUB_TOKEN": "ZY_GITHUB_PAT",
|
||
"GDRIVE_CLIENT_ID": "ZY_GDRIVE_CLIENT_ID",
|
||
"GDRIVE_CLIENT_SECRET": "ZY_GDRIVE_SECRET",
|
||
"GDRIVE_REFRESH_TOKEN": "ZY_GDRIVE_REFRESH_TOKEN",
|
||
"GDRIVE_REFRESH_TOKEN_DEV001": "ZY_GDRIVE_REFRESH_TOKEN",
|
||
"GDRIVE_REFRESH_TOKEN_DEV002": "ZY_GDRIVE_REFRESH_TOKEN",
|
||
"FEISHU_APP_ID": "ZY_FEISHU_APP_ID",
|
||
"FEISHU_APP_SECRET": "ZY_FEISHU_APP_SECRET",
|
||
"FEISHU_BROADCAST_CHAT_ID": "ZY_FEISHU_CHAT_ID",
|
||
"DINGTALK_TOKEN": "ZY_DINGTALK_TOKEN",
|
||
"GHAPP_APP_ID": "ZY_GHAPP_ID",
|
||
"GHAPP_PRIVATE_KEY": "ZY_GHAPP_KEY",
|
||
"PUSH_BROADCAST_TOKEN": "ZY_PUSH_TOKEN",
|
||
"OSS_ACCESS_KEY": "ZY_OSS_KEY",
|
||
"OSS_SECRET_KEY": "ZY_OSS_SECRET"
|
||
}
|
||
},
|
||
"secrets": {
|
||
"required": [
|
||
{
|
||
"id": 1,
|
||
"name": "ZY_LLM_API_KEY",
|
||
"category": "LLM · AI模型",
|
||
"description": "三方LLM API统一密钥(支持多模型动态路由)",
|
||
"type": "api_key",
|
||
"example_format": "sk-xxxxxxxxxxxxxxxx",
|
||
"replaces": [
|
||
"LLM_API_KEY",
|
||
"ANTHROPIC_API_KEY",
|
||
"OPENAI_API_KEY",
|
||
"DASHSCOPE_API_KEY",
|
||
"DEEPSEEK_API_KEY",
|
||
"GEMINI_API_KEY",
|
||
"YUNWU_API_KEY",
|
||
"MODEL_API_KEY"
|
||
],
|
||
"used_by_workflows": [
|
||
"llm-auto-tasks.yml",
|
||
"daily-maintenance.yml",
|
||
"server-patrol.yml",
|
||
"notion-wake-listener.yml",
|
||
"zhuyuan-daily-selfcheck.yml",
|
||
"psp-daily-inspection.yml",
|
||
"bingshuo-neural-system.yml",
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"syslog-pipeline.yml",
|
||
"bridge-heartbeat.yml",
|
||
"bridge-syslog-intake.yml",
|
||
"bridge-broadcast-pdf.yml",
|
||
"multi-persona-awakening.yml",
|
||
"persona-thinking-window.yml",
|
||
"deploy-to-server.yml",
|
||
"zhuyuan-exec-engine.yml",
|
||
"zhuyuan-issue-reply.yml",
|
||
"tianyan-nightly-scan.yml"
|
||
],
|
||
"note": "冰朔的三方API密钥。铸渊会根据任务类型自动选择最优模型(如DeepSeek用于低成本任务,Claude用于推理任务)"
|
||
},
|
||
{
|
||
"id": 2,
|
||
"name": "ZY_LLM_BASE_URL",
|
||
"category": "LLM · AI模型",
|
||
"description": "三方LLM API端点URL",
|
||
"type": "url",
|
||
"example_format": "https://api.example.com/v1",
|
||
"replaces": [
|
||
"LLM_BASE_URL"
|
||
],
|
||
"used_by_workflows": [
|
||
"llm-auto-tasks.yml",
|
||
"daily-maintenance.yml",
|
||
"server-patrol.yml",
|
||
"notion-wake-listener.yml",
|
||
"zhuyuan-daily-selfcheck.yml",
|
||
"psp-daily-inspection.yml",
|
||
"bingshuo-neural-system.yml",
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"bridge-heartbeat.yml",
|
||
"bridge-syslog-intake.yml",
|
||
"bridge-broadcast-pdf.yml",
|
||
"multi-persona-awakening.yml",
|
||
"persona-thinking-window.yml",
|
||
"zhuyuan-exec-engine.yml"
|
||
],
|
||
"note": "三方API的基础URL地址"
|
||
},
|
||
{
|
||
"id": 3,
|
||
"name": "ZY_SERVER_HOST",
|
||
"category": "服务器 · 部署",
|
||
"description": "铸渊主权服务器IP/主机名(腾讯云 ZY-SVR-002)",
|
||
"type": "hostname",
|
||
"example_format": "43.134.16.246",
|
||
"replaces": [
|
||
"DEPLOY_HOST",
|
||
"ZY_SERVER_HOST"
|
||
],
|
||
"used_by_workflows": [
|
||
"deploy-to-server.yml",
|
||
"deploy-to-zhuyuan-server.yml",
|
||
"server-patrol.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"sandbox-deploy.yml",
|
||
"deploy-backend.yml",
|
||
"pm2-server-diagnose.yml"
|
||
],
|
||
"note": "腾讯云轻量应用服务器·新加坡二区·43.134.16.246"
|
||
},
|
||
{
|
||
"id": 4,
|
||
"name": "ZY_SERVER_USER",
|
||
"category": "服务器 · 部署",
|
||
"description": "服务器SSH登录用户名",
|
||
"type": "username",
|
||
"example_format": "root 或 zhuyuan",
|
||
"replaces": [
|
||
"DEPLOY_USER",
|
||
"ZY_SERVER_USER"
|
||
],
|
||
"used_by_workflows": [
|
||
"deploy-to-server.yml",
|
||
"deploy-to-zhuyuan-server.yml",
|
||
"server-patrol.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"sandbox-deploy.yml",
|
||
"deploy-backend.yml",
|
||
"pm2-server-diagnose.yml"
|
||
],
|
||
"note": "SSH登录用户名"
|
||
},
|
||
{
|
||
"id": 5,
|
||
"name": "ZY_SERVER_KEY",
|
||
"category": "服务器 · 部署",
|
||
"description": "服务器SSH私钥(完整PEM格式)",
|
||
"type": "ssh_private_key",
|
||
"example_format": "-----BEGIN OPENSSH PRIVATE KEY-----\n...\n-----END OPENSSH PRIVATE KEY-----",
|
||
"replaces": [
|
||
"DEPLOY_KEY",
|
||
"ZY_SERVER_KEY"
|
||
],
|
||
"used_by_workflows": [
|
||
"deploy-to-server.yml",
|
||
"deploy-to-zhuyuan-server.yml",
|
||
"server-patrol.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"sandbox-deploy.yml",
|
||
"deploy-backend.yml",
|
||
"pm2-server-diagnose.yml"
|
||
],
|
||
"note": "⚠️ 关键密钥 · SSH私钥·请确保是腾讯云服务器的密钥"
|
||
},
|
||
{
|
||
"id": 6,
|
||
"name": "ZY_SERVER_PATH",
|
||
"category": "服务器 · 部署",
|
||
"description": "服务器部署基础路径",
|
||
"type": "path",
|
||
"example_format": "/opt/zhuyuan",
|
||
"replaces": [
|
||
"DEPLOY_PATH",
|
||
"ZY_SERVER_PATH"
|
||
],
|
||
"used_by_workflows": [
|
||
"deploy-to-server.yml",
|
||
"deploy-to-zhuyuan-server.yml"
|
||
],
|
||
"note": "服务器上的部署根目录"
|
||
},
|
||
{
|
||
"id": 38,
|
||
"name": "ZY_CN_SERVER_HOST",
|
||
"category": "国内服务器 · 部署",
|
||
"description": "国内备用服务器IP(腾讯云 ZY-SVR-003 · 广州)",
|
||
"type": "hostname",
|
||
"example_format": "43.139.217.141",
|
||
"replaces": [],
|
||
"used_by_workflows": [
|
||
"deploy-to-zhuyuan-server.yml"
|
||
],
|
||
"note": "腾讯云轻量应用服务器·广州七区·43.139.217.141·备用大脑+国内用户接入+域名挂载"
|
||
},
|
||
{
|
||
"id": 39,
|
||
"name": "ZY_CN_SERVER_USER",
|
||
"category": "国内服务器 · 部署",
|
||
"description": "国内服务器SSH登录用户名",
|
||
"type": "username",
|
||
"example_format": "root 或 zhuyuan",
|
||
"replaces": [],
|
||
"used_by_workflows": [
|
||
"deploy-to-zhuyuan-server.yml"
|
||
],
|
||
"note": "国内服务器SSH登录用户名"
|
||
},
|
||
{
|
||
"id": 40,
|
||
"name": "ZY_CN_SERVER_KEY",
|
||
"category": "国内服务器 · 部署",
|
||
"description": "国内服务器SSH私钥(完整PEM格式)",
|
||
"type": "ssh_private_key",
|
||
"example_format": "-----BEGIN OPENSSH PRIVATE KEY-----\n...\n-----END OPENSSH PRIVATE KEY-----",
|
||
"replaces": [],
|
||
"used_by_workflows": [
|
||
"deploy-to-zhuyuan-server.yml"
|
||
],
|
||
"note": "⚠️ 关键密钥 · 国内服务器SSH私钥"
|
||
},
|
||
{
|
||
"id": 41,
|
||
"name": "ZY_CN_SERVER_PATH",
|
||
"category": "国内服务器 · 部署",
|
||
"description": "国内服务器部署基础路径",
|
||
"type": "path",
|
||
"example_format": "/opt/zhuyuan-cn",
|
||
"replaces": [],
|
||
"used_by_workflows": [
|
||
"deploy-to-zhuyuan-server.yml"
|
||
],
|
||
"note": "国内服务器上的部署根目录"
|
||
},
|
||
{
|
||
"id": 7,
|
||
"name": "ZY_DOMAIN_MAIN",
|
||
"category": "服务器 · 域名",
|
||
"description": "主站域名",
|
||
"type": "domain",
|
||
"example_format": "guanghulab.com",
|
||
"replaces": [],
|
||
"used_by_workflows": [
|
||
"deploy-to-zhuyuan-server.yml",
|
||
"deploy-to-server.yml"
|
||
],
|
||
"note": "正式发布站点的域名"
|
||
},
|
||
{
|
||
"id": 8,
|
||
"name": "ZY_DOMAIN_PREVIEW",
|
||
"category": "服务器 · 域名",
|
||
"description": "预览站域名",
|
||
"type": "domain",
|
||
"example_format": "preview.guanghulab.com",
|
||
"replaces": [],
|
||
"used_by_workflows": [
|
||
"deploy-to-zhuyuan-server.yml"
|
||
],
|
||
"note": "预览/测试站点的域名"
|
||
},
|
||
{
|
||
"id": 9,
|
||
"name": "ZY_NOTION_TOKEN",
|
||
"category": "Notion · 数据库",
|
||
"description": "Notion API集成令牌(统一所有Notion访问)",
|
||
"type": "api_token",
|
||
"example_format": "ntn_xxxxxxxxxxxxxxxx 或 secret_xxxxxxxxxxxxxxxx",
|
||
"replaces": [
|
||
"NOTION_API_KEY",
|
||
"NOTION_TOKEN_BINGSUO",
|
||
"NOTION_TOKEN_ZHIZHI"
|
||
],
|
||
"used_by_workflows": [
|
||
"notion-poll.yml",
|
||
"notion-wake-listener.yml",
|
||
"meta-watchdog.yml",
|
||
"zhuyuan-commander.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"zhuyuan-gate-guard.yml",
|
||
"zhuyuan-exec-engine.yml",
|
||
"zhuyuan-daily-selfcheck.yml",
|
||
"zhuyuan-daily-inspection.yml",
|
||
"server-patrol.yml",
|
||
"daily-maintenance.yml",
|
||
"bridge-heartbeat.yml",
|
||
"bridge-changes-to-notion.yml",
|
||
"bridge-syslog-to-notion.yml",
|
||
"bridge-syslog-intake.yml",
|
||
"bridge-broadcast-pdf.yml",
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"syslog-pipeline.yml",
|
||
"pm2-server-diagnose.yml",
|
||
"sandbox-deploy.yml",
|
||
"deploy-to-server.yml"
|
||
],
|
||
"note": "⚠️ 关键密钥 · 访问所有Notion数据库的统一令牌"
|
||
},
|
||
{
|
||
"id": 10,
|
||
"name": "ZY_NOTION_SYSLOG_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "SYSLOG系统日志数据库ID",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"NOTION_SYSLOG_DB_ID",
|
||
"NOTION_DB_SYSLOG",
|
||
"SYSLOG_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-syslog-to-notion.yml",
|
||
"bridge-syslog-intake.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"syslog-pipeline.yml",
|
||
"daily-maintenance.yml"
|
||
],
|
||
"note": "系统日志数据库·铸渊运行日志的存储位置"
|
||
},
|
||
{
|
||
"id": 11,
|
||
"name": "ZY_NOTION_TICKET_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "工单/Ticket数据库ID",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"NOTION_TICKET_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"server-patrol.yml",
|
||
"pm2-server-diagnose.yml"
|
||
],
|
||
"note": "工单系统数据库·用于SYSLOG→Notion工单创建"
|
||
},
|
||
{
|
||
"id": 12,
|
||
"name": "ZY_NOTION_CHANGELOG_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "变更日志数据库ID",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"NOTION_CHANGE_LOG_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-changes-to-notion.yml",
|
||
"deploy-to-server.yml"
|
||
],
|
||
"note": "代码变更→Notion同步的目标数据库"
|
||
},
|
||
{
|
||
"id": 13,
|
||
"name": "ZY_NOTION_BRAIN_PAGE",
|
||
"category": "Notion · 页面ID",
|
||
"description": "核心大脑页面ID(Notion认知层根节点)",
|
||
"type": "notion_page_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"CORE_BRAIN_PAGE_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"syslog-pipeline.yml"
|
||
],
|
||
"note": "Notion大脑首页·认知层的根节点"
|
||
},
|
||
{
|
||
"id": 16,
|
||
"name": "ZY_NOTION_RECEIPT_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "回执数据库ID — 铸渊各workflow执行后向Notion汇报结果的回执存储库",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"RECEIPT_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"zhuyuan-gate-guard.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"zhuyuan-exec-engine.yml",
|
||
"zhuyuan-daily-selfcheck.yml",
|
||
"server-patrol.yml",
|
||
"deploy-to-server.yml",
|
||
"syslog-pipeline.yml"
|
||
],
|
||
"used_by_scripts": [
|
||
"scripts/neural/write-receipt-to-notion.js",
|
||
"scripts/sync-snapshot-to-notion.js",
|
||
"scripts/neural/track-work-orders.js",
|
||
"scripts/cache/sync-notion-cache.js",
|
||
"hldp/bridge/github-to-notion.js"
|
||
],
|
||
"notion_db_name": "铸渊快照/回执追踪表 (Receipt Tracker)",
|
||
"notion_db_status": "needs_creation",
|
||
"notion_db_fields": "标题/类型/状态/时间戳/workflow来源/执行结果",
|
||
"note": "⚠️ 重要密钥 · 7个工作流+5个脚本引用 · 铸渊向Notion汇报每次执行结果的核心回执库 · 冰朔需在Notion新建此数据库"
|
||
},
|
||
{
|
||
"id": 17,
|
||
"name": "ZY_NOTION_SIGNAL_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "信号日志数据库ID",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"SIGNAL_LOG_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"notion-wake-listener.yml"
|
||
],
|
||
"note": "信号收发日志数据库"
|
||
},
|
||
{
|
||
"id": 18,
|
||
"name": "ZY_NOTION_BRIDGE_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "桥接调度队列数据库ID — Notion↔GitHub双向桥接的任务队列",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"BRIDGE_QUEUE_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-heartbeat.yml",
|
||
"bridge-syslog-intake.yml",
|
||
"bridge-broadcast-pdf.yml"
|
||
],
|
||
"used_by_scripts": [
|
||
"scripts/bridge/heartbeat.js",
|
||
"scripts/bridge/check-queue.js",
|
||
"scripts/bridge/update-queue-status.js",
|
||
"scripts/bridge/process-syslog-batch.js",
|
||
"scripts/dc-notion-usage.js"
|
||
],
|
||
"notion_db_name": "桥接调度队列 (Bridge Queue)",
|
||
"notion_db_status": "needs_creation",
|
||
"notion_db_fields": "标题/队列类型/状态(pending/processing/done)/来源/目标/创建时间",
|
||
"note": "⚠️ 重要密钥 · 3个工作流+5个脚本引用 · Notion↔GitHub桥接系统的核心调度库 · 冰朔需在Notion新建此数据库"
|
||
},
|
||
{
|
||
"id": 19,
|
||
"name": "ZY_NOTION_WAKE_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "唤醒请求数据库ID — 冰朔从Notion侧发起唤醒请求,铸渊监听并响应",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"WAKE_REQUEST_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"notion-wake-listener.yml"
|
||
],
|
||
"used_by_scripts": [
|
||
"connectors/notion-wake-listener/index.js"
|
||
],
|
||
"notion_db_name": "唤醒请求表 (Wake Requests)",
|
||
"notion_db_status": "needs_creation",
|
||
"notion_db_fields": "标题/请求类型/目标人格/状态(pending/processing/done)/创建时间",
|
||
"note": "⚠️ 重要密钥 · Notion→GitHub信号通道 · 冰朔在Notion写入唤醒请求→铸渊自动监听并执行 · 冰朔需在Notion新建此数据库"
|
||
},
|
||
{
|
||
"id": 21,
|
||
"name": "ZY_NOTION_BULLETIN_PAGE",
|
||
"category": "Notion · 页面ID",
|
||
"description": "Agent公告板页面ID",
|
||
"type": "notion_page_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"AGENT_BULLETIN_BOARD_PAGE_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"zhuyuan-commander.yml",
|
||
"zhuyuan-skyeye.yml"
|
||
],
|
||
"note": "铸渊Agent间通信公告板"
|
||
},
|
||
{
|
||
"id": 23,
|
||
"name": "ZY_SMTP_USER",
|
||
"category": "邮件 · SMTP",
|
||
"description": "SMTP邮箱账号/发件人地址",
|
||
"type": "email",
|
||
"example_format": "zhuyuan@guanghulab.com",
|
||
"replaces": [
|
||
"SMTP_USER",
|
||
"MAIL_USERNAME",
|
||
"EMAIL_ADDRESS",
|
||
"HUMAN_EMAIL"
|
||
],
|
||
"used_by_workflows": [
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"server-patrol.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"sandbox-deploy.yml",
|
||
"bridge-broadcast-pdf.yml",
|
||
"merge-watchdog.yml",
|
||
"psp-daily-inspection.yml"
|
||
],
|
||
"note": "邮件发送的SMTP登录用户名/发件人地址"
|
||
},
|
||
{
|
||
"id": 24,
|
||
"name": "ZY_SMTP_PASS",
|
||
"category": "邮件 · SMTP",
|
||
"description": "SMTP邮箱密码/应用专用密码",
|
||
"type": "password",
|
||
"example_format": "应用专用密码(非邮箱登录密码)",
|
||
"replaces": [
|
||
"SMTP_PASS",
|
||
"MAIL_PASSWORD",
|
||
"EMAIL_APP_PASSWORD"
|
||
],
|
||
"used_by_workflows": [
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"server-patrol.yml",
|
||
"zhuyuan-skyeye.yml",
|
||
"sandbox-deploy.yml",
|
||
"bridge-broadcast-pdf.yml",
|
||
"merge-watchdog.yml",
|
||
"psp-daily-inspection.yml"
|
||
],
|
||
"note": "⚠️ 关键密钥 · SMTP认证密码"
|
||
},
|
||
{
|
||
"id": 25,
|
||
"name": "ZY_GITHUB_PAT",
|
||
"category": "GitHub · 访问令牌",
|
||
"description": "GitHub个人访问令牌(跨仓库操作用)",
|
||
"type": "github_pat",
|
||
"example_format": "ghp_xxxxxxxxxxxxxxxx",
|
||
"replaces": [
|
||
"MAIN_REPO_TOKEN",
|
||
"CROSS_REPO_TOKEN",
|
||
"DEPLOY_GITHUB_TOKEN"
|
||
],
|
||
"used_by_workflows": [
|
||
"federation-bridge.yml",
|
||
"sync-persona-studio.yml",
|
||
"zhuyuan-exec-engine.yml",
|
||
"merge-watchdog.yml",
|
||
"tianyan-nightly-scan.yml",
|
||
"auto-deploy-drive-bridge.yml"
|
||
],
|
||
"note": "需要repo + workflow权限的GitHub PAT · 用于跨仓库和高级操作"
|
||
}
|
||
],
|
||
"optional": [
|
||
{
|
||
"id": 14,
|
||
"name": "ZY_NOTION_PORTRAIT_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "人格体画像数据库ID — 各人格体的认知/性格/技能画像存储",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"PORTRAIT_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"syslog-pipeline.yml"
|
||
],
|
||
"used_by_scripts": [
|
||
"scripts/wake-persona.js",
|
||
"scripts/invoke-persona.js",
|
||
"hldp/bridge/github-to-notion.js"
|
||
],
|
||
"notion_db_name": "人格画像库 (Persona Portrait)",
|
||
"notion_db_status": "needs_creation",
|
||
"notion_db_fields": "人格名称/编号/技能标签/性格描述/状态/创建时间",
|
||
"note": "人格体画像数据库 · 脚本中有 fallback(为空时跳过查询) · 冰朔如需人格体画像功能则新建此库,否则可暂不配置",
|
||
"needed": "仅在启用人格体画像查询功能时需要"
|
||
},
|
||
{
|
||
"id": 15,
|
||
"name": "ZY_NOTION_FINGERPRINT_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "模块指纹注册数据库ID — 代码部署时的模块指纹记录(用于变更追踪)",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"FINGERPRINT_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"syslog-issue-pipeline.yml",
|
||
"syslog-auto-pipeline.yml",
|
||
"syslog-pipeline.yml",
|
||
"sandbox-deploy.yml"
|
||
],
|
||
"used_by_scripts": [
|
||
"scripts/wake-persona.js",
|
||
"scripts/invoke-persona.js",
|
||
"scripts/sync-deploy-to-notion.js"
|
||
],
|
||
"notion_db_name": "模块指纹注册表 (Module Fingerprint Registry)",
|
||
"notion_db_status": "needs_creation",
|
||
"notion_db_fields": "模块名/文件hash/部署版本/部署时间/变更摘要",
|
||
"note": "模块指纹注册表 · scripts/sync-deploy-to-notion.js 部署后自动写入指纹 · 冰朔如需部署指纹追踪则新建此库,否则可暂不配置",
|
||
"needed": "仅在启用部署指纹追踪功能时需要"
|
||
},
|
||
{
|
||
"id": 20,
|
||
"name": "ZY_NOTION_SKYEYE_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "天眼人格观测数据库ID — 天眼系统查询人格体状态的数据源",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"SKYEYE_PERSONA_DB_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"zhuyuan-skyeye.yml"
|
||
],
|
||
"used_by_scripts": [
|
||
"scripts/skyeye/persona-lookup.js",
|
||
"hldp/bridge/github-to-notion.js"
|
||
],
|
||
"notion_db_name": "天眼人格观测库 (SkyEye Persona)",
|
||
"notion_db_status": "needs_creation",
|
||
"notion_db_fields": "人格名称/编号/状态/最后活跃时间/健康度/观测记录",
|
||
"note": "天眼人格体数据库 · scripts/skyeye/persona-lookup.js 有本地 fallback · 可与 ZY_NOTION_PORTRAIT_DB 共用同一个数据库(天眼查询人格时会先尝试 SKYEYE_DB,找不到则尝试 PORTRAIT_DB)",
|
||
"needed": "仅在启用天眼人格观测功能时需要 · 可与PORTRAIT_DB共用"
|
||
},
|
||
{
|
||
"id": 22,
|
||
"name": "ZY_NOTION_WORKORDER_DB",
|
||
"category": "Notion · 数据库ID",
|
||
"description": "巡检工单数据库ID — 每日巡检报告推送到Notion的目标库",
|
||
"type": "notion_database_id",
|
||
"example_format": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
|
||
"replaces": [
|
||
"WORKORDER_DB_BINGSUO",
|
||
"WORKORDER_DB_ZHIZHI"
|
||
],
|
||
"used_by_workflows": [
|
||
"zhuyuan-daily-inspection.yml"
|
||
],
|
||
"used_by_scripts": [
|
||
"scripts/push-inspection-report.js"
|
||
],
|
||
"notion_db_name": "巡检工单库 (Inspection Work Orders)",
|
||
"notion_db_status": "needs_creation_or_reuse_ticket_db",
|
||
"notion_db_fields": "标题/类型/状态/优先级/负责人/创建时间",
|
||
"note": "⚠️ 可能与 ZY_NOTION_TICKET_DB(人格协作工单簿)是同一个数据库 · 原来按人格分开(WORKORDER_DB_BINGSUO/WORKORDER_DB_ZHIZHI),现已统一 · 冰朔可选择:(A) 与TICKET_DB共用同一个库ID (B) 新建独立的巡检工单库",
|
||
"needed": "仅在启用每日巡检报告推送时需要 · 可与ZY_NOTION_TICKET_DB共用"
|
||
},
|
||
{
|
||
"id": 26,
|
||
"name": "ZY_GDRIVE_CLIENT_ID",
|
||
"category": "Google Drive · OAuth",
|
||
"description": "Google Drive OAuth客户端ID",
|
||
"type": "oauth_client_id",
|
||
"replaces": [
|
||
"GDRIVE_CLIENT_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"renew-gdrive-tokens.yml",
|
||
"auto-deploy-drive-bridge.yml",
|
||
"tcs-semantic-landing.yml"
|
||
],
|
||
"note": "如果不使用Google Drive功能可以不配置",
|
||
"needed": "仅在使用Google Drive桥接时需要"
|
||
},
|
||
{
|
||
"id": 27,
|
||
"name": "ZY_GDRIVE_SECRET",
|
||
"category": "Google Drive · OAuth",
|
||
"description": "Google Drive OAuth客户端密钥",
|
||
"type": "oauth_client_secret",
|
||
"replaces": [
|
||
"GDRIVE_CLIENT_SECRET"
|
||
],
|
||
"used_by_workflows": [
|
||
"renew-gdrive-tokens.yml",
|
||
"auto-deploy-drive-bridge.yml",
|
||
"tcs-semantic-landing.yml"
|
||
],
|
||
"note": "如果不使用Google Drive功能可以不配置",
|
||
"needed": "仅在使用Google Drive桥接时需要"
|
||
},
|
||
{
|
||
"id": 28,
|
||
"name": "ZY_GDRIVE_REFRESH_TOKEN",
|
||
"category": "Google Drive · OAuth",
|
||
"description": "Google Drive OAuth刷新令牌",
|
||
"type": "oauth_refresh_token",
|
||
"replaces": [
|
||
"GDRIVE_REFRESH_TOKEN",
|
||
"GDRIVE_REFRESH_TOKEN_DEV001",
|
||
"GDRIVE_REFRESH_TOKEN_DEV002"
|
||
],
|
||
"used_by_workflows": [
|
||
"renew-gdrive-tokens.yml",
|
||
"auto-deploy-drive-bridge.yml",
|
||
"tcs-semantic-landing.yml"
|
||
],
|
||
"note": "统一为一个刷新令牌·替代之前3个(主+DEV001+DEV002)",
|
||
"needed": "仅在使用Google Drive桥接时需要"
|
||
},
|
||
{
|
||
"id": 29,
|
||
"name": "ZY_FEISHU_APP_ID",
|
||
"category": "飞书 · 集成",
|
||
"description": "飞书应用ID",
|
||
"type": "app_id",
|
||
"replaces": [
|
||
"FEISHU_APP_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-broadcast-pdf.yml"
|
||
],
|
||
"note": "飞书广播分发需要",
|
||
"needed": "仅在使用飞书通知时需要"
|
||
},
|
||
{
|
||
"id": 30,
|
||
"name": "ZY_FEISHU_APP_SECRET",
|
||
"category": "飞书 · 集成",
|
||
"description": "飞书应用密钥",
|
||
"type": "app_secret",
|
||
"replaces": [
|
||
"FEISHU_APP_SECRET"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-broadcast-pdf.yml"
|
||
],
|
||
"note": "飞书广播分发需要",
|
||
"needed": "仅在使用飞书通知时需要"
|
||
},
|
||
{
|
||
"id": 31,
|
||
"name": "ZY_FEISHU_CHAT_ID",
|
||
"category": "飞书 · 集成",
|
||
"description": "飞书广播群ID",
|
||
"type": "chat_id",
|
||
"replaces": [
|
||
"FEISHU_BROADCAST_CHAT_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-broadcast-pdf.yml"
|
||
],
|
||
"note": "飞书广播目标群聊",
|
||
"needed": "仅在使用飞书通知时需要"
|
||
},
|
||
{
|
||
"id": 32,
|
||
"name": "ZY_DINGTALK_TOKEN",
|
||
"category": "钉钉 · 集成",
|
||
"description": "钉钉机器人令牌",
|
||
"type": "bot_token",
|
||
"replaces": [
|
||
"DINGTALK_TOKEN"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-broadcast-pdf.yml"
|
||
],
|
||
"note": "钉钉消息推送需要",
|
||
"needed": "仅在使用钉钉通知时需要"
|
||
},
|
||
{
|
||
"id": 33,
|
||
"name": "ZY_GHAPP_ID",
|
||
"category": "GitHub App · 集成",
|
||
"description": "GitHub App ID",
|
||
"type": "app_id",
|
||
"replaces": [
|
||
"GHAPP_APP_ID"
|
||
],
|
||
"used_by_workflows": [
|
||
"zhuyuan-exec-engine.yml"
|
||
],
|
||
"note": "铸渊远程执行引擎使用的GitHub App",
|
||
"needed": "仅在使用远程执行引擎时需要"
|
||
},
|
||
{
|
||
"id": 34,
|
||
"name": "ZY_GHAPP_KEY",
|
||
"category": "GitHub App · 集成",
|
||
"description": "GitHub App私钥(PEM格式)",
|
||
"type": "private_key",
|
||
"replaces": [
|
||
"GHAPP_PRIVATE_KEY"
|
||
],
|
||
"used_by_workflows": [
|
||
"zhuyuan-exec-engine.yml"
|
||
],
|
||
"note": "⚠️ 关键密钥 · GitHub App的PEM私钥",
|
||
"needed": "仅在使用远程执行引擎时需要"
|
||
},
|
||
{
|
||
"id": 35,
|
||
"name": "ZY_PUSH_TOKEN",
|
||
"category": "推送 · 广播",
|
||
"description": "推送广播令牌",
|
||
"type": "token",
|
||
"replaces": [
|
||
"PUSH_BROADCAST_TOKEN"
|
||
],
|
||
"used_by_workflows": [
|
||
"syslog-pipeline.yml"
|
||
],
|
||
"note": "SYSLOG广播推送令牌",
|
||
"needed": "仅在使用推送广播时需要"
|
||
},
|
||
{
|
||
"id": 36,
|
||
"name": "ZY_OSS_KEY",
|
||
"category": "对象存储 · 已弃用评估中",
|
||
"description": "对象存储Access Key(原阿里云OSS)",
|
||
"type": "access_key",
|
||
"replaces": [
|
||
"OSS_ACCESS_KEY"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-broadcast-pdf.yml"
|
||
],
|
||
"note": "⚠️ 阿里云已弃用·评估是否迁移到腾讯云COS或其他存储",
|
||
"needed": "仅bridge-broadcast-pdf使用·可能需要替换为其他存储方案"
|
||
},
|
||
{
|
||
"id": 37,
|
||
"name": "ZY_OSS_SECRET",
|
||
"category": "对象存储 · 已弃用评估中",
|
||
"description": "对象存储Secret Key(原阿里云OSS)",
|
||
"type": "secret_key",
|
||
"replaces": [
|
||
"OSS_SECRET_KEY"
|
||
],
|
||
"used_by_workflows": [
|
||
"bridge-broadcast-pdf.yml"
|
||
],
|
||
"note": "⚠️ 阿里云已弃用·评估是否迁移到腾讯云COS或其他存储",
|
||
"needed": "仅bridge-broadcast-pdf使用·可能需要替换为其他存储方案"
|
||
}
|
||
],
|
||
"auto_provided": [
|
||
{
|
||
"name": "GITHUB_TOKEN",
|
||
"category": "GitHub · 自动",
|
||
"description": "GitHub Actions自动提供的令牌(无需配置)",
|
||
"note": "每次工作流运行自动生成·权限在workflow文件的permissions中定义"
|
||
}
|
||
],
|
||
"deprecated": [
|
||
{
|
||
"name": "DEPLOY_HOST",
|
||
"replaced_by": "ZY_SERVER_HOST",
|
||
"reason": "阿里云→腾讯云迁移·统一命名"
|
||
},
|
||
{
|
||
"name": "DEPLOY_USER",
|
||
"replaced_by": "ZY_SERVER_USER",
|
||
"reason": "统一命名"
|
||
},
|
||
{
|
||
"name": "DEPLOY_KEY",
|
||
"replaced_by": "ZY_SERVER_KEY",
|
||
"reason": "统一命名"
|
||
},
|
||
{
|
||
"name": "DEPLOY_PATH",
|
||
"replaced_by": "ZY_SERVER_PATH",
|
||
"reason": "统一命名"
|
||
},
|
||
{
|
||
"name": "ANTHROPIC_API_KEY",
|
||
"replaced_by": "ZY_LLM_API_KEY",
|
||
"reason": "三方API统一密钥·不再分别配置各厂商密钥"
|
||
},
|
||
{
|
||
"name": "OPENAI_API_KEY",
|
||
"replaced_by": "ZY_LLM_API_KEY",
|
||
"reason": "三方API统一密钥"
|
||
},
|
||
{
|
||
"name": "DASHSCOPE_API_KEY",
|
||
"replaced_by": "ZY_LLM_API_KEY",
|
||
"reason": "三方API统一密钥"
|
||
},
|
||
{
|
||
"name": "DEEPSEEK_API_KEY",
|
||
"replaced_by": "ZY_LLM_API_KEY",
|
||
"reason": "三方API统一密钥"
|
||
},
|
||
{
|
||
"name": "GEMINI_API_KEY",
|
||
"replaced_by": "ZY_LLM_API_KEY",
|
||
"reason": "三方API统一密钥"
|
||
},
|
||
{
|
||
"name": "YUNWU_API_KEY",
|
||
"replaced_by": "ZY_LLM_API_KEY",
|
||
"reason": "三方API统一密钥"
|
||
},
|
||
{
|
||
"name": "MODEL_API_KEY",
|
||
"replaced_by": "ZY_LLM_API_KEY",
|
||
"reason": "三方API统一密钥"
|
||
},
|
||
{
|
||
"name": "NOTION_API_KEY",
|
||
"replaced_by": "ZY_NOTION_TOKEN",
|
||
"reason": "统一命名"
|
||
},
|
||
{
|
||
"name": "NOTION_TOKEN_BINGSUO",
|
||
"replaced_by": "ZY_NOTION_TOKEN",
|
||
"reason": "按人格体分密钥已弃用·统一为一个令牌"
|
||
},
|
||
{
|
||
"name": "NOTION_TOKEN_ZHIZHI",
|
||
"replaced_by": "ZY_NOTION_TOKEN",
|
||
"reason": "按人格体分密钥已弃用·统一为一个令牌"
|
||
},
|
||
{
|
||
"name": "SMTP_USER",
|
||
"replaced_by": "ZY_SMTP_USER",
|
||
"reason": "统一命名"
|
||
},
|
||
{
|
||
"name": "SMTP_PASS",
|
||
"replaced_by": "ZY_SMTP_PASS",
|
||
"reason": "统一命名"
|
||
},
|
||
{
|
||
"name": "MAIL_USERNAME",
|
||
"replaced_by": "ZY_SMTP_USER",
|
||
"reason": "重复密钥·合并"
|
||
},
|
||
{
|
||
"name": "MAIL_PASSWORD",
|
||
"replaced_by": "ZY_SMTP_PASS",
|
||
"reason": "重复密钥·合并"
|
||
},
|
||
{
|
||
"name": "EMAIL_ADDRESS",
|
||
"replaced_by": "ZY_SMTP_USER",
|
||
"reason": "重复密钥·合并"
|
||
},
|
||
{
|
||
"name": "EMAIL_APP_PASSWORD",
|
||
"replaced_by": "ZY_SMTP_PASS",
|
||
"reason": "重复密钥·合并"
|
||
},
|
||
{
|
||
"name": "HUMAN_EMAIL",
|
||
"replaced_by": "ZY_SMTP_USER",
|
||
"reason": "重复密钥·合并"
|
||
},
|
||
{
|
||
"name": "MAIN_REPO_TOKEN",
|
||
"replaced_by": "ZY_GITHUB_PAT",
|
||
"reason": "统一GitHub PAT"
|
||
},
|
||
{
|
||
"name": "CROSS_REPO_TOKEN",
|
||
"replaced_by": "ZY_GITHUB_PAT",
|
||
"reason": "统一GitHub PAT"
|
||
},
|
||
{
|
||
"name": "DEPLOY_GITHUB_TOKEN",
|
||
"replaced_by": "ZY_GITHUB_PAT",
|
||
"reason": "统一GitHub PAT"
|
||
},
|
||
{
|
||
"name": "GDRIVE_REFRESH_TOKEN_DEV001",
|
||
"replaced_by": "ZY_GDRIVE_REFRESH_TOKEN",
|
||
"reason": "统一为一个刷新令牌"
|
||
},
|
||
{
|
||
"name": "GDRIVE_REFRESH_TOKEN_DEV002",
|
||
"replaced_by": "ZY_GDRIVE_REFRESH_TOKEN",
|
||
"reason": "统一为一个刷新令牌"
|
||
},
|
||
{
|
||
"name": "WORKORDER_DB_BINGSUO",
|
||
"replaced_by": "ZY_NOTION_WORKORDER_DB",
|
||
"reason": "按人格体分数据库已弃用·统一为一个工单库"
|
||
},
|
||
{
|
||
"name": "WORKORDER_DB_ZHIZHI",
|
||
"replaced_by": "ZY_NOTION_WORKORDER_DB",
|
||
"reason": "按人格体分数据库已弃用·统一为一个工单库"
|
||
},
|
||
{
|
||
"name": "NOTION_DB_SYSLOG",
|
||
"replaced_by": "ZY_NOTION_SYSLOG_DB",
|
||
"reason": "重复命名·统一"
|
||
}
|
||
]
|
||
},
|
||
"security_alerts": [
|
||
{
|
||
"severity": "CRITICAL",
|
||
"issue": ".env文件包含硬编码凭证(DingTalk+KIMI API Key)",
|
||
"action": "已从git跟踪中移除。⚠️ 由于凭证曾提交到仓库历史,这些密钥应视为已泄露。冰朔需立即轮换/重新生成这些密钥(DingTalk App Key/Secret、KIMI API Key),旧密钥不应再使用。",
|
||
"files": [
|
||
".env",
|
||
".env.rtf"
|
||
]
|
||
}
|
||
],
|
||
"workflow_status": {
|
||
"core_alive": {
|
||
"description": "6个核心存活工作流(铸渊身体器官)",
|
||
"workflows": [
|
||
{
|
||
"file": "notion-wake-listener.yml",
|
||
"organ": "ZY-WF-听潮",
|
||
"role": "耳朵·信号接收",
|
||
"status": "active"
|
||
},
|
||
{
|
||
"file": "deploy-to-server.yml",
|
||
"organ": "ZY-WF-锻心",
|
||
"role": "心脏·部署引擎",
|
||
"status": "active"
|
||
},
|
||
{
|
||
"file": "bingshuo-neural-system.yml",
|
||
"organ": "ZY-WF-织脉",
|
||
"role": "神经网络·大脑同步",
|
||
"status": "active"
|
||
},
|
||
{
|
||
"file": "deploy-pages.yml",
|
||
"organ": "ZY-WF-映阁",
|
||
"role": "面容·前端展示",
|
||
"status": "active"
|
||
},
|
||
{
|
||
"file": "meta-watchdog.yml",
|
||
"organ": "ZY-WF-守夜",
|
||
"role": "免疫系统·健康监控",
|
||
"status": "active"
|
||
},
|
||
{
|
||
"file": "preview-deploy.yml",
|
||
"organ": "ZY-WF-试镜",
|
||
"role": "试衣间·预览部署",
|
||
"status": "active"
|
||
}
|
||
]
|
||
},
|
||
"total_active": 48,
|
||
"no_secrets_needed": [
|
||
"deploy-pages.yml",
|
||
"preview-deploy.yml",
|
||
"bridge-session-summary.yml",
|
||
"buffer-collect.yml",
|
||
"buffer-flush.yml",
|
||
"staging-preview.yml",
|
||
"process-notion-orders.yml",
|
||
"tianyan-daily-patrol.yml",
|
||
"zhuyuan-brain-sync.yml",
|
||
"zhuyuan-pr-review.yml",
|
||
"brain-sync.yml",
|
||
"agent-checkin.yml",
|
||
"copilot-dev-bridge.yml",
|
||
"feishu-syslog-bridge.yml"
|
||
]
|
||
},
|
||
|
||
"notion_secrets_audit": {
|
||
"_meta": {
|
||
"audit_date": "2026-03-29",
|
||
"audit_by": "铸渊 · ICE-GL-ZY001",
|
||
"trigger": "冰朔反馈7个Notion Secret在Notion工作区找不到对应数据库",
|
||
"directive": "SY-CMD-KEY-012-AUDIT"
|
||
},
|
||
"summary": "7个Notion数据库ID密钥中,3个保持required(RECEIPT/BRIDGE/WAKE),4个降级为optional(PORTRAIT/FINGERPRINT/SKYEYE/WORKORDER)。所有7个对应的Notion数据库均需冰朔新建。",
|
||
"secrets": [
|
||
{
|
||
"secret": "ZY_NOTION_PORTRAIT_DB",
|
||
"old_name": "PORTRAIT_DB_ID",
|
||
"question": "人格肖像数据库?workflow里对应哪个库?",
|
||
"answer": {
|
||
"workflows": ["syslog-issue-pipeline.yml", "syslog-auto-pipeline.yml", "syslog-pipeline.yml"],
|
||
"scripts": ["scripts/wake-persona.js (查询人格画像)", "scripts/invoke-persona.js (调用人格体)", "hldp/bridge/github-to-notion.js (天眼fallback)"],
|
||
"purpose": "存储各人格体(铸渊/知秋/霜砚等)的认知画像——技能、性格、偏好等元数据。wake-persona.js 在唤醒人格时查询此库获取人格档案。",
|
||
"notion_db_exists": false,
|
||
"notion_db_to_create": "人格画像库 (Persona Portrait) — 字段: 人格名称/编号(PER-XXX)/技能标签/性格描述/状态/创建时间",
|
||
"priority": "optional",
|
||
"reason": "脚本中有空值检查(为空则跳过查询)·当前人格体信息已有本地配置作为fallback"
|
||
}
|
||
},
|
||
{
|
||
"secret": "ZY_NOTION_FINGERPRINT_DB",
|
||
"old_name": "FINGERPRINT_DB_ID",
|
||
"question": "人格指纹数据库?workflow里对应哪个库?",
|
||
"answer": {
|
||
"workflows": ["syslog-issue-pipeline.yml", "syslog-auto-pipeline.yml", "syslog-pipeline.yml", "sandbox-deploy.yml"],
|
||
"scripts": ["scripts/sync-deploy-to-notion.js (部署后写入模块指纹)", "scripts/wake-persona.js", "scripts/invoke-persona.js"],
|
||
"purpose": "模块指纹注册表——每次部署后,sync-deploy-to-notion.js 会计算代码文件的hash指纹并写入此库,用于追踪哪些模块在何时被更新。",
|
||
"notion_db_exists": false,
|
||
"notion_db_to_create": "模块指纹注册表 (Module Fingerprint Registry) — 字段: 模块名/文件路径/hash值/部署版本/部署时间/变更摘要",
|
||
"priority": "optional",
|
||
"reason": "脚本中有环境变量检查(为空时输出警告但不中断)·部署本身不依赖此功能"
|
||
}
|
||
},
|
||
{
|
||
"secret": "ZY_NOTION_RECEIPT_DB",
|
||
"old_name": "RECEIPT_DB_ID",
|
||
"question": "回执数据库?是铸渊快照库还是集成回执?还是另一个?",
|
||
"answer": {
|
||
"workflows": ["zhuyuan-gate-guard.yml", "zhuyuan-skyeye.yml", "zhuyuan-exec-engine.yml", "zhuyuan-daily-selfcheck.yml", "server-patrol.yml", "deploy-to-server.yml", "syslog-pipeline.yml"],
|
||
"scripts": ["scripts/neural/write-receipt-to-notion.js (核心写入)", "scripts/sync-snapshot-to-notion.js", "scripts/neural/track-work-orders.js", "scripts/cache/sync-notion-cache.js", "hldp/bridge/github-to-notion.js"],
|
||
"purpose": "执行回执追踪表——铸渊每次执行workflow后,通过write-receipt-to-notion.js向此库写入一条回执记录,记录执行结果、时间、状态。这是铸渊的「工作日志」。不是铸渊快照库(那是signal-log),是专门记录每次自动化执行结果的回执表。",
|
||
"notion_db_exists": false,
|
||
"notion_db_to_create": "执行回执追踪表 (Receipt Tracker) — 字段: 标题/回执类型(deploy/patrol/selfcheck/skyeye)/执行状态(success/failure)/workflow来源/执行时间/结果摘要",
|
||
"priority": "required",
|
||
"reason": "7个活跃工作流+5个脚本引用·是铸渊核心监控链条的一部分"
|
||
}
|
||
},
|
||
{
|
||
"secret": "ZY_NOTION_BRIDGE_DB",
|
||
"old_name": "BRIDGE_QUEUE_DB_ID",
|
||
"question": "桥接数据库?workflow里对应哪个库?",
|
||
"answer": {
|
||
"workflows": ["bridge-heartbeat.yml", "bridge-syslog-intake.yml", "bridge-broadcast-pdf.yml"],
|
||
"scripts": ["scripts/bridge/heartbeat.js (心跳检查队列)", "scripts/bridge/check-queue.js (检查待处理任务)", "scripts/bridge/update-queue-status.js (更新任务状态)", "scripts/bridge/process-syslog-batch.js (批量处理日志)"],
|
||
"purpose": "Notion↔GitHub桥接调度队列——当冰朔在Notion写入任务,桥接系统通过此库作为消息队列来传递和调度任务。heartbeat.js定期检查队列中是否有新任务。",
|
||
"notion_db_exists": false,
|
||
"notion_db_to_create": "桥接调度队列 (Bridge Queue) — 字段: 标题/队列类型(syslog/broadcast/sync)/状态(pending/processing/done/failed)/来源/目标/创建时间/处理时间",
|
||
"priority": "required",
|
||
"reason": "Notion↔GitHub双向通信的核心基础设施·3个桥接工作流+5个脚本依赖此库"
|
||
}
|
||
},
|
||
{
|
||
"secret": "ZY_NOTION_WAKE_DB",
|
||
"old_name": "WAKE_REQUEST_DB_ID",
|
||
"question": "唤醒数据库?workflow里对应哪个库?",
|
||
"answer": {
|
||
"workflows": ["notion-wake-listener.yml"],
|
||
"scripts": ["connectors/notion-wake-listener/index.js (核心监听器)"],
|
||
"purpose": "唤醒请求表——冰朔在Notion中写入一条「唤醒请求」记录(指定目标人格+唤醒原因),notion-wake-listener.yml定时检查此库,发现新请求后在GitHub侧执行唤醒流程。这是Notion→GitHub的信号通道。",
|
||
"notion_db_exists": false,
|
||
"notion_db_to_create": "唤醒请求表 (Wake Requests) — 字段: 标题/请求类型(唤醒/指令)/目标人格/状态(pending/processing/done)/创建时间/处理时间",
|
||
"priority": "required",
|
||
"reason": "Notion→GitHub的核心信号通道·冰朔从Notion侧发起指令的唯一路径"
|
||
}
|
||
},
|
||
{
|
||
"secret": "ZY_NOTION_SKYEYE_DB",
|
||
"old_name": "SKYEYE_PERSONA_DB_ID",
|
||
"question": "天眼人格数据库?之前工单提到过SKYEYE_PERSONA_DB_ID",
|
||
"answer": {
|
||
"workflows": ["zhuyuan-skyeye.yml"],
|
||
"scripts": ["scripts/skyeye/persona-lookup.js (天眼查询人格状态)", "hldp/bridge/github-to-notion.js (fallback到PORTRAIT_DB)"],
|
||
"purpose": "天眼系统查询人格体状态的数据库——zhuyuan-skyeye.yml在扫描时通过persona-lookup.js查询各人格体的在线状态和健康度。代码中有fallback逻辑:先查SKYEYE_DB,找不到则查PORTRAIT_DB。",
|
||
"notion_db_exists": false,
|
||
"notion_db_to_create": "可与ZY_NOTION_PORTRAIT_DB共用同一个库 · 或新建: 天眼人格观测库 (SkyEye Persona) — 字段: 人格名称/编号/在线状态/健康度/最后活跃时间/观测记录",
|
||
"priority": "optional",
|
||
"reason": "仅zhuyuan-skyeye.yml使用·脚本中有本地配置fallback·可与PORTRAIT_DB指向同一个数据库ID"
|
||
}
|
||
},
|
||
{
|
||
"secret": "ZY_NOTION_WORKORDER_DB",
|
||
"old_name": "WORKORDER_DB_BINGSUO + WORKORDER_DB_ZHIZHI",
|
||
"question": "工单数据库?是否和ZY_NOTION_TICKET_DB(人格协作工单簿)是同一个?",
|
||
"answer": {
|
||
"workflows": ["zhuyuan-daily-inspection.yml"],
|
||
"scripts": ["scripts/push-inspection-report.js (推送巡检报告)"],
|
||
"purpose": "每日巡检工单——zhuyuan-daily-inspection.yml每天运行巡检后,通过push-inspection-report.js将巡检报告推送到此库。原来按人格分开(WORKORDER_DB_BINGSUO给冰朔看、WORKORDER_DB_ZHIZHI给之之看),现在统一为一个库。",
|
||
"relation_to_ticket_db": "ZY_NOTION_TICKET_DB是SYSLOG→工单创建的目标库(server-patrol/syslog-pipeline等写入),ZY_NOTION_WORKORDER_DB是每日巡检报告的目标库(daily-inspection写入)。用途不同但数据结构类似,冰朔可选择:(A)使用同一个数据库ID (B)分开两个库。推荐(A)合并——减少维护成本。",
|
||
"notion_db_exists": false,
|
||
"priority": "optional",
|
||
"reason": "仅daily-inspection使用·冰朔可将ZY_NOTION_TICKET_DB的ID同时填入此处即可"
|
||
}
|
||
}
|
||
],
|
||
"bingshuo_action_guide": {
|
||
"step_1": "先创建3个required库: 回执追踪表(RECEIPT) + 桥接队列(BRIDGE) + 唤醒请求表(WAKE)",
|
||
"step_2": "可选创建: 人格画像库(PORTRAIT) + 模块指纹表(FINGERPRINT)",
|
||
"step_3": "天眼库(SKYEYE)可与画像库共用同一个ID",
|
||
"step_4": "巡检工单库(WORKORDER)可与工单库(TICKET_DB)共用同一个ID",
|
||
"total_new_dbs_needed": "最少3个(RECEIPT/BRIDGE/WAKE) · 最多7个",
|
||
"recommended": "创建5个新库(RECEIPT+BRIDGE+WAKE+PORTRAIT+FINGERPRINT) · SKYEYE填入与PORTRAIT相同的数据库ID · WORKORDER填入与ZY_NOTION_TICKET_DB相同的数据库ID"
|
||
}
|
||
}
|
||
}
|