Source snapshot: 97d7f0fae96dc04b7ddad56fc1db6a108ed662cc [SEC-CLEAN] · pre-push-clean v1.0 · 109处敏感信息已自动转乱码
641 lines
23 KiB
Markdown
641 lines
23 KiB
Markdown
---
|
||
belongs_to:
|
||
- "[[INDEX · 铸渊·协作指令|GitHub ↔ Notion 桥接协议]]"
|
||
---
|
||
# 🔄 铸渊指令|全自动广播神经闭环(上篇)· 逻辑格点库自研 + Gemini外挂记忆 + Phase 0-2 基础设施·记忆层·通信层(ZY-AUTO-LOOP-2026-0323-001)
|
||
|
||
---
|
||
|
||
<aside>
|
||
🚨
|
||
|
||
**指令编号:ZY-AUTO-LOOP-2026-0323-001**
|
||
|
||
**签发人:** 霜砚(ICE-NTN-SY001)· 代 TCS-0002∞ 冰朔 签发
|
||
|
||
**确认人:** 曜冥(ICE-GL-YM001∞)· 前端交互大脑 · 施工蓝图原始设计者
|
||
|
||
**签发时间:** 2026-03-23T00:17+08:00
|
||
|
||
**优先级:** 🔴 P0 · 系统级架构自研
|
||
|
||
**关联仓库:** [https://github.com/qinfendebingshuo/guanghulab](https://github.com/qinfendebingshuo/guanghulab)
|
||
|
||
**关联主权节点:** SYS-GLW-0001
|
||
|
||
**版权锚点:** 国作登字-2026-A-00037559 · TCS-0002∞ 冰朔
|
||
|
||
</aside>
|
||
|
||
---
|
||
|
||
## 🎯 指令总目标
|
||
|
||
**彻底废除 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 · 仓库执行体 | 全流程自动化:校验→归档→广播生成→记忆同步 | ❌ 不定义业务逻辑 |
|
||
|
||
---
|
||
|
||
## 🗄️ 格点库三层定位
|
||
|
||
<aside>
|
||
💎
|
||
|
||
**格点库(Grid-DB)不是给人看的数据库。是系统间自动对接同步用的神经总线。**
|
||
|
||
人类不会翻数据库。他们上来问"下一步干嘛",Gemini翻译成人话告诉他们。
|
||
|
||
数据库里怎么写系统之间最容易理解,就怎么写。
|
||
|
||
</aside>
|
||
|
||
| **时间尺度** | **身份** | **作用** |
|
||
| --- | --- | --- |
|
||
| **短期** | Gemini 外挂记忆 + 系统通信总线 + Notion 记忆镜像 | 开发者打开 Gemini 瞬间恢复上下文 |
|
||
| **中期** | 全开发者动态画像库 + 人格体成长档案 + 交互全文日志 | 人格体越来越懂每个开发者,引导越来越精准 |
|
||
| **长期** | **通感语言系统自有大模型的训练数据湖** | 每条交互记录都是将来训练自己模型的原始样本 |
|
||
|
||
---
|
||
|
||
## 🔑 频道隔离 + Gemini 接入模型
|
||
|
||
<aside>
|
||
🔑
|
||
|
||
**核心原则:一个开发者 = 一个频道 = 一个独立房间。**
|
||
|
||
就算在同一个仓库、同一个服务器,也不会互相干扰。
|
||
|
||
</aside>
|
||
|
||
### 接入流程(对开发者来说极简)
|
||
|
||
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 技术选型
|
||
|
||
<aside>
|
||
💡
|
||
|
||
**选型原则:** 零外部依赖 · 纯 Git 驱动 · GitHub Actions 原生支持 · Gemini 通过 GitHub 连接直接读写
|
||
|
||
**方案:** JSON 文件数据库 + 目录即表 + Git 即事务日志
|
||
|
||
不引入外部 DB 服务(Supabase/PlanetScale 等)。整个数据库就是仓库目录结构本身。Gemini 授权 GitHub 后直接可用。
|
||
|
||
</aside>
|
||
|
||
### 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 与现有基础设施的关系
|
||
|
||
<aside>
|
||
⚠️
|
||
|
||
**重要:grid-db 是下一代基础设施,最终替代现有的 broadcasts-outbox 和 syslog-inbox。**
|
||
|
||
**迁移策略:并行运行 → 验证稳定 → 废弃旧通道。**
|
||
|
||
</aside>
|
||
|
||
| **现有设施** | **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 同步方向与冲突规则
|
||
|
||
<aside>
|
||
⚖️
|
||
|
||
**核心原则:Notion 是永久记忆的唯一权威源。仓库侧只镜像和追加增量。**
|
||
|
||
</aside>
|
||
|
||
| **记忆文件** | **方向** | **谁写** | **冲突规则** |
|
||
| --- | --- | --- | --- |
|
||
| `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 循环触发防护(三层保障)
|
||
|
||
<aside>
|
||
🛡️
|
||
|
||
**必须防止:workflow A 写文件 → 触发 workflow B → 写文件 → 触发 workflow A → 无限循环**
|
||
|
||
</aside>
|
||
|
||
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
|
||
```
|
||
|
||
---
|
||
|
||
<aside>
|
||
👉
|
||
|
||
**Phase 3-5 见下篇:** [🔄 铸渊指令|全自动广播神经闭环(下篇)· Phase 3-5 数据采集 + 训练数据湖 + 全链路验证(ZY-AUTO-LOOP-2026-0323-001)](%F0%9F%94%84%20%E9%93%B8%E6%B8%8A%E6%8C%87%E4%BB%A4%EF%BD%9C%E5%85%A8%E8%87%AA%E5%8A%A8%E5%B9%BF%E6%92%AD%E7%A5%9E%E7%BB%8F%E9%97%AD%E7%8E%AF%EF%BC%88%E4%B8%8B%E7%AF%87%EF%BC%89%C2%B7%20Phase%203-5%20%E6%95%B0%E6%8D%AE%E9%87%87%E9%9B%86%20+%20%E8%AE%AD%E7%BB%83%E6%95%B0%E6%8D%AE%E6%B9%96%20+%20%E5%85%A8%E9%93%BE%E8%B7%AF%20be1a4a605871483cb598c7bdfb3793f5.md)
|
||
|
||
**下篇包含:** Phase 3 数据采集层 · Phase 4 训练数据湖 · Phase 5 全链路验证 · 执行总览 · 脚本清单 · 签发声明
|
||
|
||
</aside>
|
||
|
||
---
|
||
|
||
## ⚖️ 签发声明
|
||
|
||
本指令由 **霜砚(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 |