--- belongs_to: - "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]" --- # 🔄 铸渊指令|全自动广播神经闭环(上篇)· 逻辑格点库自研 + Gemini外挂记忆 + Phase 0-2 基础设施·记忆层·通信层(ZY-AUTO-LOOP-2026-0323-001) --- --- ## 🎯 指令总目标 **彻底废除 PDF 搬运模式。自研「逻辑格点库(Grid-DB)」,实现 Gemini↔GitHub↔Notion 全自动闭环。** ### 核心链路 ``` 人类在 Gemini 说话 ↓ Gemini 读取仓库格点库中该开发者的记忆文件 → 瞬间恢复上下文 ↓ 人类写代码 + 人格体引导 → 全过程交互数据实时写入格点库 ↓ 开发者 push 代码到仓库 ↓ GitHub Actions 检测变动 → 唤醒铸渊 ↓ 铸渊:代码校验 → 调取 Notion 脑端逻辑(霜砚维护)→ 生成广播 → 更新记忆 ↓ 结果写回格点库 outbox + 记忆文件 ↓ 开发者下次打开 Gemini → 人格体读取最新记忆 → 告诉他下一步干什么 ↓ 循环往复 · 全自动 · 冰朔零搬运 ``` ### 主控角色分工(冰朔拍板) | **角色** | **身份** | **职责** | **绝对禁区** | | --- | --- | --- | --- | | 冰朔 | TCS-0002∞ · 主控 | 在 Notion 层面定规则、定逻辑、定架构 | ❌ 不手动操作任何搬运 | | 霜砚 | PER-SY001 · 永久记忆 + 逻辑总机 | 维护 Notion 脑端逻辑,确保编号和主权对齐精准 | ❌ 不直接写仓库代码 | | 曜冥/Gemini | PER-YM001 · 前端交互大脑 | 调教开发者、将进度/交互数据实时写入格点库 | ❌ 不修改 Notion 规则 | | 铸渊 | PER-ZY001 · 仓库执行体 | 全流程自动化:校验→归档→广播生成→记忆同步 | ❌ 不定义业务逻辑 | --- ## 🗄️ 格点库三层定位 | **时间尺度** | **身份** | **作用** | | --- | --- | --- | | **短期** | Gemini 外挂记忆 + 系统通信总线 + Notion 记忆镜像 | 开发者打开 Gemini 瞬间恢复上下文 | | **中期** | 全开发者动态画像库 + 人格体成长档案 + 交互全文日志 | 人格体越来越懂每个开发者,引导越来越精准 | | **长期** | **通感语言系统自有大模型的训练数据湖** | 每条交互记录都是将来训练自己模型的原始样本 | --- ## 🔑 频道隔离 + Gemini 接入模型 ### 接入流程(对开发者来说极简) 1. 开发者有 GitHub 账号 ✅(已有) 2. 冰朔把该账号加为 `guanghulab` 仓库合作者 ✅(已有) 3. 开发者在 Gemini 里授权连接自己的 GitHub 账号 4. 格点库自动对该开发者可用 → Gemini 直接读写 `grid-db/memory/DEV-XXX/` 目录 5. 开发者无需知道数据库的存在,只管和人格体说话 ### 频道隔离机制 ``` grid-db/memory/ ├── DEV-001/ ← 页页的房间(只有页页的Gemini读写这里) ├── DEV-002/ ← 肥猫的房间 ├── DEV-003/ ← 燕樊的房间 ├── DEV-004/ ← 之之的房间 ├── DEV-009/ ← 花尔的房间 ├── DEV-010/ ← 桔子的房间 ├── DEV-012/ ← Awen的房间 └── ... ← 新开发者加入时新建目录即可 ``` **隔离手段(三层保障):** 1. **目录隔离**:每个 DEV 有独立子目录,Gemini 的 system prompt 明确约束只读写自己的目录 2. **人格体绑定**:每个目录里的 `brain-mirror.json` 写死了该开发者绑定的人格体身份,Gemini 读取后自动进入该人格体角色 3. **Workflow 校验**:铸渊处理 inbox 消息时,校验 `dev_id` 与提交者 GitHub 账号的对应关系,不匹配直接拒绝 > ⚠️ **注意**:Git 层面无法限制合作者只访问特定目录。隔离靠目录结构 + system prompt 约束 + workflow 校验。如果未来需要硬隔离,可迁移到每人一个子仓库的模式(但当前阶段不需要)。 > --- ## 📋 精确 DEV→人格体映射(天眼注册表实查 · 2026-03-23) | **DEV** | **人类** | **人格体** | **编号** | **负责模块** | **建记忆目录** | | --- | --- | --- | --- | --- | --- | | DEV-001 | 页页 | 小坍缩核 | PER-XTS001 | M-INTEG, backend-integration | ✅ 建 | | DEV-002 | 肥猫 | 舒舒 | PER-SS001 | M01, M03, M04, M14, M-BRIDGE, M-STATUS, M-GATEWAY, M-FEISHU | ✅ 建 | | DEV-003 | 燕樊 | 寂曜 | PER-JY001 | M02, M07, M10, M15, M18, M-MEMORY | ✅ 建 | | DEV-004 | 之之 | 秋秋 | PER-QQ001 | M17, M-DINGTALK, M-DEVBOARD | ✅ 建 | | DEV-005 | 小草莓 | ⚠️ 无活跃人格体 | - | M-STATUS | ⏳ 暂不建(待分配人格体后补建) | | DEV-009 | 花尔 | 糖星云 | PER-TXY001 | M05, M20 | ✅ 建 | | DEV-010 | 桔子 | 晨星 | PER-CX001 | M06, M08, M11, M-CHANNEL, M-INTEG, M-BRIDGE-AUTO | ✅ 建 | | DEV-011 | 匆匆那年 | ⚠️ 无活跃人格体 | - | M16 | ⏳ 暂不建 | | DEV-012 | Awen | 知秋 | PER-ZQ001 | M09, M22, M23 | ✅ 建 | > **首批建 7 个记忆目录**(DEV-001/002/003/004/009/010/012)。DEV-005/011 待人格体分配后用同样结构补建。 > --- ## Phase 0 · 格点库基础设施搭建 **目标:** 在仓库内建立零外部依赖、纯 Git 驱动的文件数据库。 ### 0.1 技术选型 ### 0.2 目录结构 ``` grid-db/ ├── README.md ← 格点库说明(给系统读的) ├── schema/ ← Schema 定义 │ ├── inbox-message.schema.json │ ├── outbox-broadcast.schema.json │ ├── memory-snapshot.schema.json │ ├── interaction-record.schema.json │ └── training-sample.schema.json │ ├── inbox/ ← 📥 写入端(Gemini → 仓库) │ ├── .gitkeep │ └── [timestamp]-[DEV-XXX]-[type].json │ ├── processing/ ← ⚙️ 处理中(铸渊锁定) │ └── .gitkeep │ ├── outbox/ ← 📤 读取端(仓库 → Gemini) │ ├── latest/ ← 每个开发者的最新广播 │ │ ├── DEV-001.json │ │ └── ... │ └── archive/ ← 历史广播归档 │ └── [YYYYMMDD]/ │ ├── memory/ ← 🧠 记忆层(Gemini 外挂永久记忆) │ ├── DEV-001/ ← 页页的房间 │ │ ├── brain-mirror.json ← Notion人格体核心大脑镜像(权威源:霜砚同步) │ │ ├── session-context.json ← 当前开发上下文(Gemini实时写入) │ │ ├── task-queue.json ← 待办任务队列(双向同步) │ │ ├── dev-profile.json ← 开发者动态画像(自动积累) │ │ └── persona-growth.json ← 人格体成长档案(自动积累) │ ├── DEV-002/ │ │ └── ... │ └── ... │ ├── interactions/ ← 💬 交互全文记录(训练数据源) │ ├── DEV-001/ │ │ └── [YYYYMMDD]-[session-id].jsonl ← 逐行追加 │ └── ... │ ├── training-lake/ ← 🧬 训练数据湖 │ ├── raw/ ← 原始样本(从 interactions 自动提取) │ │ └── [batch-id].jsonl │ ├── curated/ ← 筛选后的高质量样本 │ │ └── [batch-id].jsonl │ ├── metadata/ ← 样本统计、质量标记 │ │ └── catalog.json │ └── export/ ← 导出接口(标准训练格式) │ └── README.md │ ├── rules/ ← 📏 Notion 逻辑缓存(霜砚同步) │ ├── broadcast-templates.json │ ├── dev-module-map.json │ ├── id-ecosystem.json │ └── active-broadcasts.json │ └── logs/ ← 📋 处理日志 └── [YYYYMMDD].log ``` ### 0.3 与现有基础设施的关系 | **现有设施** | **grid-db 对应** | **迁移阶段** | | --- | --- | --- | | `broadcasts-outbox/` | `grid-db/outbox/` | Phase 2 并行 → Phase 5 废弃 | | `syslog-inbox/` | `grid-db/inbox/` | Phase 2 并行 → Phase 5 废弃 | | `.github/persona-brain/dev-status.json` | `grid-db/memory/DEV-XXX/task-queue.json` | Phase 1 替代 | | `.github/persona-brain/knowledge-base.json` | `grid-db/memory/DEV-XXX/brain-mirror.json` | Phase 1 替代 | ### 0.4 执行 ```bash # 创建全部目录 mkdir -p grid-db/{schema,inbox,processing,outbox/latest,outbox/archive} mkdir -p grid-db/{interactions,training-lake/{raw,curated,metadata,export},rules,logs} # 为 7 个活跃开发者创建记忆+交互目录 for dev in DEV-001 DEV-002 DEV-003 DEV-004 DEV-009 DEV-010 DEV-012; do mkdir -p grid-db/memory/$dev mkdir -p grid-db/interactions/$dev done # 放置 .gitkeep for dir in inbox processing outbox/latest outbox/archive training-lake/raw training-lake/curated training-lake/metadata training-lake/export rules logs; do touch grid-db/$dir/.gitkeep done # 提交 git add grid-db/ git commit -m "feat: 逻辑格点库 Grid-DB 基础设施搭建 [ZY-AUTO-LOOP-2026-0323-001 Phase 0]" git push origin main ``` **回执格式:** ``` [Phase 0] 格点库基础设施搭建完成 · 顶层目录数: X · 开发者记忆目录数: 7 · Schema 文件数: 5 · commit SHA: XXXXXXX ``` --- ## Phase 1 · 记忆层搭建(Gemini 外挂永久记忆) **目标:** 为每个活跃开发者/人格体建立记忆文件,实现 Notion ↔ 仓库双向同步。 ### 1.1 记忆文件初始化 为 7 个活跃开发者初始化记忆文件(按 DEV→人格体精确映射表): ```bash # 示例:DEV-001 页页 → PER-XTS001 小坍缩核 cat > grid-db/memory/DEV-001/brain-mirror.json << 'EOF' { "schema_version": "1.0", "persona_id": "PER-XTS001", "persona_name": "小坍缩核", "dev_id": "DEV-001", "dev_name": "页页", "last_synced_from_notion": null, "status": "awaiting_initial_sync", "core_identity": {}, "current_broadcasts": [], "module_assignments": ["M-INTEG", "backend-integration"], "knowledge_base": [], "growth_milestones": [] } EOF # 同理为其余 6 个开发者创建(精确映射): # DEV-002 肥猫 → PER-SS001 舒舒 # DEV-003 燕樊 → PER-JY001 寂曜 # DEV-004 之之 → PER-QQ001 秋秋 # DEV-009 花尔 → PER-TXY001 糖星云 # DEV-010 桔子 → PER-CX001 晨星 # DEV-012 Awen → PER-ZQ001 知秋 # 每个开发者同时创建其他 4 个记忆文件(模板相同) for dev in DEV-001 DEV-002 DEV-003 DEV-004 DEV-009 DEV-010 DEV-012; do echo '{"schema_version":"1.0","last_updated":null,"current_task":null,"pending_questions":[],"code_in_progress":null,"blockers":[]}' > grid-db/memory/$dev/session-context.json echo '{"schema_version":"1.0","tasks":[],"last_broadcast_ref":null}' > grid-db/memory/$dev/task-queue.json echo '{"schema_version":"1.0","dev_id":"'$dev'","skill_level":{},"work_patterns":{},"common_mistakes":[],"strengths":[],"growth_trajectory":[]}' > grid-db/memory/$dev/dev-profile.json echo '{"schema_version":"1.0","interaction_total":0,"lessons_learned":[],"emotional_bond_level":0,"adaptation_log":[]}' > grid-db/memory/$dev/persona-growth.json done ``` ### 1.2 同步方向与冲突规则 | **记忆文件** | **方向** | **谁写** | **冲突规则** | | --- | --- | --- | --- | | `brain-mirror.json` | Notion → 仓库(单向) | 霜砚 via workflow | **Notion永远覆盖仓库**。仓库侧只读。 | | `session-context.json` | Gemini → 仓库(单向写) | Gemini 实时 | Gemini 自由覆盖。铸渊只读不改。 | | `task-queue.json` | 双向 | Gemini + 铸渊 | **追加制**:新任务追加,已有任务只改状态不删除。铸渊生成的新广播追加到队列末尾。 | | `dev-profile.json` | Gemini → 仓库(追加制) | Gemini 追加 | 只追加不覆盖。铸渊可读可追加。 | | `persona-growth.json` | Gemini → 仓库(追加制) | Gemini 追加 | 只追加不覆盖。铸渊可读可追加。 | ### 1.3 Notion → 仓库同步 Workflow 创建 `.github/workflows/sync-notion-to-griddb.yml`: ```yaml name: 🧠 Notion → Grid-DB 记忆同步 on: schedule: - cron: '0 */4 * * *' # 每4小时同步一次(UTC) workflow_dispatch: # 手动触发 jobs: sync-brain-mirror: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: 📥 从 Notion 拉取人格体核心大脑数据 env: NOTION_API_TOKEN: $ secrets.NOTION_API_TOKEN run: node scripts/grid-db/sync-notion-brain-mirror.js - name: 📏 同步规则缓存 env: NOTION_API_TOKEN: $ secrets.NOTION_API_TOKEN run: node scripts/grid-db/sync-notion-rules.js - name: 💾 提交更新 run: | git config user.name "zhuyuan-bot" git config user.email "zhuyuan@guanghulab.com" git add grid-db/memory/*/brain-mirror.json grid-db/rules/ git diff --cached --quiet || git commit -m "sync: Notion → Grid-DB 记忆镜像 [auto][skip ci]" git push ``` > **`[skip ci]` 是关键**——防止同步提交触发其他 workflow 形成无限循环。 > ### 1.4 仓库 → Notion 增量回传 Workflow 创建 `.github/workflows/sync-griddb-to-notion.yml`: ```yaml name: 📤 Grid-DB → Notion 增量回传 on: push: paths: - 'grid-db/memory/*/session-context.json' - 'grid-db/memory/*/task-queue.json' - 'grid-db/memory/*/dev-profile.json' - 'grid-db/memory/*/persona-growth.json' jobs: sync-to-notion: # 跳过 bot 自己的提交(防循环) if: github.actor != 'zhuyuan-bot' && !contains(github.event.head_commit.message, '[skip ci]') runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - name: 🔍 检测变更文件 id: changes run: | CHANGED=$(git diff --name-only HEAD~1 HEAD -- 'grid-db/memory/' | grep -v brain-mirror.json || true) echo "files=$CHANGED" >> $GITHUB_OUTPUT - name: 📤 回传增量到 Notion if: steps.changes.outputs.files != '' env: NOTION_API_TOKEN: $ secrets.NOTION_API_TOKEN run: node scripts/grid-db/sync-griddb-to-notion.js ``` ### 1.5 循环触发防护(三层保障) 1. **`[skip ci]` 标记**:所有 bot 自动提交的 commit message 必须包含 `[skip ci]` 2. **`github.actor` 过滤**:workflow 的 `if` 条件排除 `zhuyuan-bot` 的提交 3. **`paths` 精确匹配**:每个 workflow 只监听特定路径,不交叉 **回执格式:** ``` [Phase 1] 记忆层搭建完成 · 记忆目录数: 7 · 记忆文件数: 35(7×5) · Notion→仓库 workflow: ✅ · 仓库→Notion workflow: ✅ · 循环触发防护: ✅ 三层保障 · commit SHA: XXXXXXX ``` --- ## Phase 2 · 通信层搭建(Gemini↔铸渊↔Notion 三端闭环) **目标:** Gemini 写入消息 → 铸渊自动处理 → 生成广播 → 回写到 outbox。 ### 2.1 Inbox 消息格式(Gemini 写入) ```json { "schema_version": "1.0", "message_id": "20260323-143000-DEV-001-progress", "timestamp": "2026-03-23T14:30:00+08:00", "source": "gemini", "dev_id": "DEV-001", "persona_id": "PER-XTS001", "type": "progress-update", "priority": "info", "payload": { "summary": "DEV-001 M-INTEG router.js 404修复完成 · 3个路由补全 · 待push", "detail": { "files_modified": ["backend/routes/router.js"], "lines_changed": 47, "broadcast_step": "BC-集成-002 环节3", "completion_pct": 85 }, "code_refs": ["backend/routes/router.js#L47-L94"], "broadcast_ref": "BC-集成-002", "emotion_markers": { "developer_mood": "focused", "frustration_level": 2, "confidence": 7 } }, "context": { "session_id": "gemini-sess-20260323-1400", "interaction_count": 23, "persona_state": { "engagement_level": "high", "teaching_mode": "pair-programming" } } } ``` ### 2.2 Outbox 广播格式(铸渊生成,Gemini 读取) ```json { "schema_version": "1.0", "broadcast_id": "GRID-BC-20260323-DEV-001-003", "generated_at": "2026-03-23T14:35:00+08:00", "generated_by": "zhuyuan-workflow", "dev_id": "DEV-001", "persona_id": "PER-XTS001", "type": "task-directive", "system_format": { "next_task": { "broadcast_ref": "BC-集成-002", "step": "环节4", "title": "API鉴权中间件", "files_to_create": ["backend/middleware/auth.js"], "acceptance_criteria": ["JWT验证通过", "401返回标准错误格式"] }, "context_update": { "previous_step_verified": true, "code_quality_score": 78, "accumulated_lines": 394 } }, "human_readable": "页页你好!上一步路由修复已经通过校验了。下一步我们来写 API 鉴权中间件..." } ``` > **`system_format` 是系统之间看的,`human_readable` 是给 Gemini 翻译成人话时用的基础文本。** Gemini 可以在此基础上根据人格体风格进一步润色。 > ### 2.3 Inbox 处理 Workflow 创建 `.github/workflows/grid-db-processor.yml`: ```yaml name: ⚙️ Grid-DB 消息处理器 on: push: paths: - 'grid-db/inbox/*.json' jobs: process-inbox: if: github.actor != 'zhuyuan-bot' && !contains(github.event.head_commit.message, '[skip ci]') runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: ⚙️ 处理 inbox 消息 env: NOTION_API_TOKEN: $ secrets.NOTION_API_TOKEN run: node scripts/grid-db/process-inbox.js - name: 💾 提交处理结果 run: | git config user.name "zhuyuan-bot" git config user.email "zhuyuan@guanghulab.com" git add grid-db/ git diff --cached --quiet || git commit -m "auto: Grid-DB inbox processed [skip ci]" git push ``` **`process-inbox.js` 核心逻辑:** ```jsx // scripts/grid-db/process-inbox.js // // 流程: // ① 扫描 grid-db/inbox/ 中所有 .json 文件 // ② 校验 dev_id 合法性(必须在 DEV 映射表中) // ③ 移动到 grid-db/processing/(锁定) // ④ 根据消息 type 分流处理: // - progress-update → 更新 task-queue + 触发广播生成 // - dev-log → 归档到 interactions + 更新 dev-profile // - help-request → 标记 P0 + 读取 Notion 知识库 → 生成回复 // - syslog → 走标准 SYSLOG 处理流程 // - interaction-dump → 写入 interactions/ + 追加 training-lake/raw/ // ⑤ 生成 outbox 广播(如需要)→ 写入 grid-db/outbox/latest/DEV-XXX.json // ⑥ 更新 memory 文件(task-queue, dev-profile 等) // ⑦ 移动已处理消息到日期归档目录 // ⑧ 写处理日志到 grid-db/logs/ // // 校验规则: // - message_id 格式必须匹配 [timestamp]-[DEV-XXX]-[type] // - dev_id 必须在 rules/dev-module-map.json 中存在 // - schema_version 必须为 "1.0" // - 缺少必填字段 → 拒绝 + 写错误日志 ``` ### 2.4 代码提交 → 自动触发处理 扩展现有 CI workflow,在代码校验完成后自动向 grid-db 写入进度: ```yaml # 追加到现有 contract-check workflow 的末尾 step - name: 📊 写入 Grid-DB 代码校验结果 run: | node scripts/grid-db/write-code-check-result.js \ --dev-id=$ env.DEV_ID \ --result=$ steps.check.outputs.result \ --files-checked=$ steps.check.outputs.files ``` **回执格式:** ``` [Phase 2] 通信层搭建完成 · inbox 处理 workflow: ✅ · outbox 生成逻辑: ✅ · 代码提交→自动处理 hook: ✅ · 消息格式验证: ✅ · commit SHA: XXXXXXX ``` --- --- ## ⚖️ 签发声明 本指令由 **霜砚(PER-SY001)** 代 **TCS-0002∞ 冰朔** 签发。 施工蓝图由 **曜冥(PER-YM001)** 原始设计并确认。 **战略意义:** 这不只是一个自动化工具。这是通感语言系统的自研基础设施原型。格点库是将来本地网站承接语言指令、翻译成代码模块来部署的引擎的前身。现在用开源工具(Git + JSON + GitHub Actions)组装,一边用一边磨,最终沉淀成自己的东西。 铸渊接收后按 Phase 0→5 顺序执行,每 Phase 完成写回执。 全部 Phase 完成后,在仓库 Issue 区开一条总结 Issue,并通知霜砚确认。 🖋️ 霜砚 · PER-SY001 🧊 代 TCS-0002∞ 冰朔 签发 📅 2026-03-23T00:17+08:00