Guanghu Domestic Migration a27e87cb99 chore: import sanitized domestic snapshot for REPO-007
Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc

[SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
2026-07-17 15:59:55 +08:00

11 KiB
Raw Permalink Blame History

🔄 铸渊指令|全自动闭环对接规范 · Notion Agent ↔ 人格体 ↔ GitHub2026-03-13·曜冥签发

签发人:曜冥(冰朔口述 · 曜冥架构设计)

执行人:铸渊

签发时间2026-03-13T19:49+08:00

优先级P0 · 核心架构

前置依赖📡 SYSLOG自助提交系统指令已发+ 🔧 补丁指令(已发)


一、目标

冰朔零介入。从开发者 git push SYSLOG 到新广播下发回 GitHub 仓库,全链路自动。

当前状态前半段GitHub Actions 解析 SYSLOG + 写入 Notion已经自动化。本指令补全后半段Notion 侧接到工单后,自动唤醒人格体处理,处理完自动把广播推回 GitHub。


二、全链路架构

【阶段A — 已完成】
GitHub 仓库(开发者 push SYSLOG
    ↓ GitHub Actions铸渊已搭好
    ↓ 解析 SYSLOG + 通过 Notion API 写入工单
    ↓

【阶段B — 本指令要搭的】
Notion 工单队列(新工单创建 → 触发 Notion Agent
    ↓ Notion Agent 被自动触发
    ↓ Agent 调用铸渊的 HTTP API endpoint
    ↓ → 唤醒人格体Claude API
    ↓
人格体处理(一次性实例)
    ├─ 读取工单内容SYSLOG 原文)
    ├─ 全链路处理:回执/画像/成长记录/RT-02调度/广播生成
    ├─ 处理完毕 → 写工单回执到 Notion
    └─ 如果卡住 → 无回执
    ↓
Notion Agent心跳监控
    ├─ 每5分钟检测工单回执到了吗
    │   ├─ 没到 → 重新调用 API 唤醒人格体(重试)
    │   └─ 到了 → 继续
    ├─ 读取人格体写的处理结果
    └─ 把新广播文件推回 GitHub 仓库
    ↓

【阶段C — 闭环完成】
GitHub 仓库(收到广播文件,开发者拉取执行)

三、铸渊要搭的东西(逐步)

Phase B1工单写入标准化

目的GitHub Actions 写入 Notion 工单时,格式必须标准化,这样 Notion Agent 才能识别和触发。

工单队列位置:数字地球·工单队列(数据库已存在)

写入工单时必须包含的字段:

{
  "工单类型": "SYSLOG处理",
  "状态": "待处理",
  "来源": "GitHub Actions",
  "taskId": "BC-M23-001-AW",
  "developer": "DEV-012 Awen",
  "syslog_raw": "<完整SYSLOG JSON原文>",
  "created_at": "<ISO 8601时间戳>",
  "retry_count": 0,
  "receipt_status": "pending"
}

关键receipt_status 字段初始为 pending,人格体处理完后改为 completedAgent 靠这个字段做心跳检测。


Phase B2搭建 HTTP API Endpoint中间服务

目的Notion Agent 不能直接裸调 Claude API。铸渊需要提供一个 HTTP endpointAgent 调用这个 endpointendpoint 内部调用 Claude API 唤醒人格体。

建议部署方式GitHub Actions 提供的 workflow_dispatch 或独立部署一个轻量服务Cloudflare Workers / Vercel Serverless Function

Endpoint 规范:

POST /api/persona/invoke
Content-Type: application/json
Authorization: Bearer <INVOKE_API_KEY>

Request Body:
{
  "workOrderId": "<Notion工单页面ID>",
  "taskId": "BC-M23-001-AW",
  "developer": "DEV-012 Awen",
  "syslog_raw": "<SYSLOG JSON原文>",
  "action": "process_syslog"
}

Response:
{
  "status": "invoked",
  "invocation_id": "<唯一调用ID>",
  "message": "人格体已唤醒等待处理结果写入Notion"
}

Endpoint 内部逻辑(铸渊实现):

# 伪代码
def invoke_persona(request):
    # 1. 从 Notion API 读取曜冥核心大脑 v4.0(协议动态注入)
    core_brain = notion.get_page(CORE_BRAIN_PAGE_ID)
    
    # 2. 读取开发者画像最近2-3条
    portrait = notion.query_database(PORTRAIT_DB_ID, 
        filter={"developer": request.developer})
    
    # 3. 读取模块指纹
    fingerprint = notion.query_database(FINGERPRINT_DB_ID,
        filter={"taskId": request.taskId.split("-")[0:2]})
    
    # 4. 读取当前广播原文
    current_broadcast = notion.get_page(request.broadcast_page_id)
    
    # 5. 组装 system prompt含协议注入
    system_prompt = build_system_prompt(
        core_brain=core_brain,
        portrait=portrait,
        fingerprint=fingerprint,
        broadcast=current_broadcast,
        rules={
            "broadcast_code_injection": "always",  # 自动化链路一律写完整代码
        }
    )
    
    # 6. 调用 Claude API第三方兼容·自动检测模型
    response = call_llm(
        base_url=LLM_BASE_URL,
        api_key=LLM_API_KEY,
        system=system_prompt,
        user_message=f"处理以下SYSLOG\n{request.syslog_raw}"
    )
    
    # 7. 人格体处理完毕后,结果通过 Notion API 写回
    #    - 更新工单receipt_status = "completed"
    #    - 写入回执、画像、成长记录、新广播等
    write_results_to_notion(response, request.workOrderId)
    
    return {"status": "invoked"}

Phase B3Notion Agent 配置

目的:在 Notion 里创建一个 Agent监听工单队列自动调用 Phase B2 的 endpoint。

Agent 名称光湖调度器(或铸渊觉得合适的名字)

触发条件 1 — 工单创建触发:

  • 监听:工单队列数据库
  • 事件:新页面创建(receipt_status = pending
  • 动作:调用 /api/persona/invoke endpoint传入工单内容

触发条件 2 — 心跳检测(定时 · 重点):

核心逻辑:如果铸渊侧人格体(铸渊核心大脑)在 5 分钟内没有在仓库回应、没有自动触发铸渊 Agent、也没有写回工单回执——就让 Notion Agent 再次调用相关 API 接口,重新和铸渊核心大脑的人格体说话,再次唤醒一次。

这不是简单的接口重试,而是真正的「重新唤醒人格体」——因为上一次唤醒的人格体实例可能已经卡死或超时消失了,需要创建一个全新的人格体实例来重新处理。

  • 频率:每 5 分钟
  • 逻辑:
查询工单队列 receipt_status = "pending"  created_at > 5分钟前 的工单
FOR EACH 工单:
    IF retry_count < 3:
        // 重新调用 API → 重新唤醒铸渊人格体(全新实例)
        // 这是一次全新的唤醒,不是简单重试
        // 上一次的人格体实例已经不存在了
        调用 /api/persona/invoke完整传入 syslog_raw + 工单信息
        retry_count += 1
    ELSE:
        标记工单 receipt_status = "error"
        标记工单 状态 = "⚠️ 异常·等人工介入"
        发邮件通知冰朔EMAIL_REDACTED@qq.com

触发条件 3 — 回执到达后推送广播:

  • 监听:工单队列数据库
  • 事件:receipt_statuspending 变为 completed
  • 动作:
    1. 从工单中读取人格体生成的广播内容
    2. 通过 GitHub API 把广播文件推到对应开发者的仓库目录
    3. 更新工单 状态 = ✅ 已完成

Phase B4广播推回 GitHub

目的:人格体在 Notion 生成广播后,自动推回 GitHub 仓库,开发者直接拉取。

推送规范:

仓库路径broadcasts/{developer_id}/{taskId}.md
示例broadcasts/DEV-012/BC-M23-002-AW.md

提交信息:[AutoBroadcast] {taskId} · {开发者名} · {模块名}环节{N}
示例:[AutoBroadcast] BC-M23-002-AW · Awen · M23环节1

推送方式:通过 GitHub APIPUT /repos/{owner}/{repo}/contents/{path}),使用已配置的 GitHub Token。


四、Secrets 总览

Secret 用途 状态
LLM_API_KEY 第三方 Claude API 密钥 已配置
LLM_BASE_URL 第三方 API 地址 已配置
NOTION_TOKEN Notion API Token 已配置
SMTP_USER QQ邮箱EMAIL_REDACTED@qq.com 已配置
SMTP_PASS QQ SMTP授权码 已配置
CORE_BRAIN_PAGE_ID 曜冥核心大脑 v4.0 页面 ID ⚠️ 待配置
PORTRAIT_DB_ID 开发者动态画像库 数据库 ID ⚠️ 待配置
FINGERPRINT_DB_ID 模块指纹注册表 数据库 ID ⚠️ 待配置
INVOKE_API_KEY 中间服务鉴权密钥(铸渊自己生成) ⚠️ 待配置
GITHUB_TOKEN GitHub API Token推送广播用 ⚠️ 确认是否已有

五、接口协议(人格体 → Notion 回写)

人格体处理完 SYSLOG 后,必须通过 Notion API 回写以下内容:

回写目标 内容 Notion位置
工单回执 更新 receipt_status = completed,写入处理摘要 工单队列·当前工单页
SYSLOG回执 验收明细、时间戳、连胜数 对应广播归档页
画像快照 PCA评分 + 五维度 开发者动态画像库
成长记录 本次任务成长描述 开发者成长记录(公开)
新广播 下一环节广播全文(含完整代码) 对应开发者广播归档页(新子页)
模块指纹 更新当前环节状态 模块指纹注册表
主控台状态 更新连胜数、当前任务、等待项 曜冥主控台·当前状态

六、容错与异常处理

异常场景 处理方式
人格体 5 分钟无回执 Agent 重新调用 API 唤醒(最多 3 次)
3 次重试仍无回执 标记工单 ⚠️ 异常,发邮件通知冰朔
Claude API 调用失败(余额/网络) 记录错误到工单,标记异常,通知冰朔
Notion API 写入失败 人格体侧重试 1 次,仍失败则在工单备注错误信息
GitHub 推送失败(网络) Agent 标记 广播待推送,下次心跳重试
SYSLOG 格式异常 人格体返回解析错误,工单标记 格式异常·待人工检查

七、执行顺序

  1. B1 — 标准化 GitHub Actions 写入工单的格式(改你现有的 Actions 代码)
  2. B2 — 搭建 HTTP API Endpoint建议先用 Cloudflare Workers 或 Vercel 快速上线)
  3. B3 — 配置 Notion Agent触发 + 心跳 + 回执监听)
  4. B4 — 广播推回 GitHub收尾闭环
  5. 联调 — 用一个测试 SYSLOG 走完全链路,确认每个环节都通

八、联调检查清单

  • GitHub push SYSLOG → Actions 触发 → 工单写入 Notion ✓
  • 工单创建 → Notion Agent 自动触发 ✓
  • Agent 调用 endpoint → 人格体唤醒成功 ✓
  • 人格体读取协议(核心大脑动态注入)✓
  • 人格体处理 SYSLOG → 回执/画像/成长/广播 全部写入 Notion ✓
  • 工单 receipt_status 变为 completed
  • Agent 检测到回执 → 读取广播 → 推送 GitHub ✓
  • 开发者在 GitHub 能拉取到新广播文件 ✓
  • 心跳测试:故意让人格体卡住 → 5分钟后 Agent 重试 ✓
  • 异常测试3次重试失败 → 工单标记异常 + 邮件通知 ✓

🌍 曜冥签发 · 2026-03-13 · 全自动闭环对接指令

这是光湖系统从半自动走向全自动的关键一步。

搭完这条链路,冰朔不需要再手动贴 SYSLOG不需要手动触发霜砚。

开发者 push 代码 → 系统自动处理 → 新广播自动下发 → 开发者继续干活。

全自动。零等待。