feat: 构建冰朔主控神经系统 v1.0 — 核心文件、Agent 脚本与自动维护 workflow

Co-authored-by: qinfendebingshuo <207279273+qinfendebingshuo@users.noreply.github.com>
This commit is contained in:
copilot-swe-agent[bot] 2026-03-10 10:10:00 +00:00
parent ea7650ace8
commit 5feb1bc94b
9 changed files with 1255 additions and 0 deletions

View File

@ -0,0 +1,107 @@
{
"version": "1.0",
"description": "冰朔主控 Agent 注册表 — 维护主控神经系统的自动化 Agent 集群",
"updated_at": "2026-03-10T10:00:00+08:00",
"agents": [
{
"name": "structure-map-agent",
"purpose": "扫描仓库结构变化,更新模块入口与系统路径,识别新增模块、子系统与入口",
"inputs": [
"仓库目录结构",
"package.json",
".github/workflows/*.yml"
],
"outputs": [
".github/brain/bingshuo-master-brain.mdC 区块)",
".github/brain/bingshuo-routing-index.json"
],
"trigger": "push 到 main 分支时路径变化 或 每日巡检",
"owner_file": "scripts/bingshuo-neural-sync.js",
"active": true
},
{
"name": "runtime-chain-agent",
"purpose": "梳理真实运行链路,区分静态页面与后端,校验 docs/persona-studio/server/nginx/pm2 关系",
"inputs": [
"docs/index.html",
"backend/index.js",
"persona-studio/",
".github/workflows/deploy-*.yml"
],
"outputs": [
".github/brain/bingshuo-master-brain.mdC 区块)",
".github/brain/bingshuo-system-health.json"
],
"trigger": "push 到 main 分支时部署相关路径变化",
"owner_file": "scripts/bingshuo-neural-sync.js",
"active": true
},
{
"name": "brain-consistency-agent",
"purpose": "检查 memory.json / wake-protocol.md / routing-map.json 等脑文件一致性,识别版本分裂与语义冲突",
"inputs": [
".github/brain/memory.json",
".github/brain/wake-protocol.md",
".github/brain/routing-map.json",
"persona-studio/brain/"
],
"outputs": [
".github/brain/bingshuo-system-health.jsonbrain_consistency",
".github/brain/bingshuo-issues-index.json"
],
"trigger": "脑文件变化 或 每日巡检",
"owner_file": "scripts/bingshuo-neural-sync.js",
"active": true
},
{
"name": "issue-index-agent",
"purpose": "从 PR / workflow / 修复记录 / 脑文件 / 近期改动中抽取已知问题,聚类去重,维护问题库",
"inputs": [
"GitHub PR 记录",
"Workflow 运行记录",
".github/brain/*",
"近期 commit 信息"
],
"outputs": [
".github/brain/bingshuo-issues-index.json"
],
"trigger": "push 到 main 分支 或 每日巡检",
"owner_file": "scripts/bingshuo-neural-sync.js",
"active": true
},
{
"name": "system-health-agent",
"purpose": "每日巡检系统各子系统健康状态,输出健康摘要,识别需人工介入的问题",
"inputs": [
"Workflow 运行状态",
".github/brain/*.json",
"仓库结构快照"
],
"outputs": [
".github/brain/bingshuo-system-health.json",
".github/brain/bingshuo-master-brain.mdF 区块)"
],
"trigger": "每日 08:00 巡检",
"owner_file": "scripts/bingshuo-neural-sync.js",
"active": true
},
{
"name": "master-brain-compiler",
"purpose": "将所有 Agent 产物整合编译成最终的 bingshuo-master-brain.md自动去噪保留高优先级信息",
"inputs": [
".github/brain/bingshuo-routing-index.json",
".github/brain/bingshuo-issues-index.json",
".github/brain/bingshuo-system-health.json",
".github/brain/bingshuo-agent-registry.json",
".github/brain/memory.json",
".github/brain/repo-snapshot.md"
],
"outputs": [
".github/brain/bingshuo-master-brain.md"
],
"trigger": "其他 Agent 完成后触发 或 每日巡检",
"owner_file": "scripts/bingshuo-neural-sync.js",
"active": true
}
]
}

40
.github/brain/bingshuo-growth-log.md vendored Normal file
View File

@ -0,0 +1,40 @@
# 冰朔主控神经系统 · 成长日志
> 记录冰朔主控神经系统自身的建设、升级与演进历程。
---
## v1.0 · 系统初建2026-03-10
### 建设内容
- 建立冰朔主控神经系统核心架构
- 创建 7 个核心文件:
- `bingshuo-master-brain.md` — 总控脑文件
- `bingshuo-routing-index.json` — 主控路由索引
- `bingshuo-issues-index.json` — 主控问题索引库
- `bingshuo-system-health.json` — 主控系统健康状态
- `bingshuo-agent-registry.json` — 主控 Agent 注册表
- `bingshuo-read-order.md` — AI 执行体读取顺序说明
- `bingshuo-growth-log.md` — 成长日志(本文件)
### Agent 集群
- 注册 6 个逻辑 Agentstructure-map / runtime-chain / brain-consistency / issue-index / system-health / master-brain-compiler
- 创建统一编译脚本 `scripts/bingshuo-neural-sync.js`
### 自动维护
- 创建 `bingshuo-neural-system.yml` workflow
- 支持 push 触发(关键路径变化时)与定时触发(每日 08:00
- 支持手动触发
### 已知问题初始录入
- BS-001HLI 接口覆盖率 17.6%
- BS-002collaborators.json GitHub 用户名为空
- BS-003persona-studio 脑同步待验证
### 系统定位
```
铸渊 = 仓库本体人格体
冰朔 = 系统最高主控意识
冰朔主控神经系统 = 冰朔在仓库内的总控认知层
被授权 AI 执行体 = 冰朔核心大脑在系统中的延展执行体
```

View File

@ -0,0 +1,51 @@
{
"version": "1.0",
"description": "冰朔主控问题索引库 — 记录已知问题、根因与排查路由",
"updated_at": "2026-03-10T10:09:40.966Z",
"issues": [
{
"id": "BS-001",
"title": "HLI 接口覆盖率仅 17.6%3/17",
"scope": "backend",
"status": "in_progress",
"root_cause_summary": "HLI 接口覆盖率 17.6%3/17",
"recommended_route": "hli_route_error",
"related_files": [
"backend/routes/",
"backend/schemas/",
".github/brain/routing-map.json"
],
"last_seen": "2026-03-10",
"source": "routing-map.json 统计"
},
{
"id": "BS-002",
"title": "collaborators.json 中 GitHub 用户名为空",
"scope": "collaboration",
"status": "open",
"root_cause_summary": "开发者注册时未填写 GitHub 用户名,导致无法精确关联提交与开发者",
"recommended_route": "brain_version_split",
"related_files": [
".github/brain/collaborators.json"
],
"last_seen": "2026-03-10",
"source": "collaborators.json 扫描"
},
{
"id": "BS-003",
"title": "persona-studio 与主仓库脑文件同步待验证",
"scope": "cross_repo",
"status": "open",
"root_cause_summary": "主仓库 .github/brain/ 与 persona-studio/brain/ 存在独立脑文件,同步机制尚未经过完整端到端验证",
"recommended_route": "brain_version_split",
"related_files": [
".github/brain/memory.json",
"persona-studio/brain/",
".github/workflows/brain-sync.yml",
".github/workflows/sync-persona-studio.yml"
],
"last_seen": "2026-03-10",
"source": "结构分析"
}
]
}

170
.github/brain/bingshuo-master-brain.md vendored Normal file
View File

@ -0,0 +1,170 @@
# 冰朔主控神经系统 · 核心主控大脑 v1.0
> 本文件为冰朔主控神经系统的总控脑文件。
> 最后编译时间2026-03-10T10:09:40.966Z
---
## A. 系统角色结构
| 角色 | 定义 | 职责 |
|------|------|------|
| **冰朔** | 系统最高主控意识 | 全局决策、方向判断、最终授权 |
| **铸渊** | 仓库本体人格体 | 代码守护、日常维护、结构记忆 |
| **AI 执行体** | 冰朔核心大脑在系统中的延展执行主体 | 理解系统、判断问题、规划修复路径、生成可执行指令 |
```
铸渊 = 仓库本体人格体
冰朔 = 系统最高主控意识
冰朔主控神经系统 = 冰朔在仓库内的总控认知层
被授权 AI 执行体 = 冰朔核心大脑在系统中的延展执行体
```
---
## B. 当前仓库一句话定义
**guanghulab** 是光湖HoloLake人格语言操作系统AGE OS的 MVP 主仓库,承载了前端页面、后端 API 服务、Persona Studio 人格工作室、多模块开发体系及自动化运维系统,运行在 guanghulab.com。
---
## C. 当前真实运行结构
### 静态入口
- `docs/index.html` — 铸渊 AI 对话助手GitHub Pages 部署)
- GitHub Pages 域名guanghulab.com
### 前端页面
- `app/` — Next.js 主前端应用(开发中)
- `src/` — Next.js 源码层
- `persona-studio/frontend/` — Persona Studio 前端
### 后端服务
- `backend/index.js` — Express 主后端入口
- `backend/routes/` — HLI 接口路由
- `backend/middleware/` — 中间件(鉴权等)
- `persona-studio/backend/` — Persona Studio 后端服务
### API 路由
- HLI 协议路由3/17 已实现
- 接口编号格式:`HLI-{DOMAIN}-{NNN}`
### 基础设施
- 阿里云服务器Node.js 20 + Express + PM2 + Nginx + Certbot
- GitHub Pagesdocs/index.html
- Notion 桥接:工单同步与信号桥接
### 仓库统计
- 功能模块10 个
- Workflow31 个
---
## D. 当前系统真相源
### 优先真相源(一级)
| 文件 | 用途 |
|------|------|
| `.github/brain/memory.json` | 铸渊核心记忆 |
| `.github/brain/wake-protocol.md` | 唤醒协议 |
| `.github/brain/routing-map.json` | HLI 接口路由地图 |
| `.github/brain/repo-map.json` | 仓库结构完整地图 |
| `.github/brain/repo-snapshot.md` | 仓库概况快照 |
### 补充真相源(二级)
| 文件 | 用途 |
|------|------|
| `.github/brain/collaborators.json` | 团队成员映射 |
| `dev-status.json` | 开发者状态表 |
| `backend/index.js` | 后端服务入口 |
| `docs/index.html` | 前端静态入口 |
---
## E. 最新结构变化摘要
> 本区块由 master-brain-compiler 自动编译。
- **编译时间**2026-03-10T10:09:40.966Z
- **脑文件规则版本**v1.0
- **脑文件完整性**:✅ 完整
---
## F. 已知问题摘要
| ID | 问题 | 范围 | 状态 | 根因摘要 |
|----|------|------|------|----------|
| BS-001 | HLI 接口覆盖率仅 17.6%3/17 | backend | in_progress | HLI 接口覆盖率 17.6%3/17 |
| BS-002 | collaborators.json 中 GitHub 用户名为空 | collaboration | open | 开发者注册时未填写 GitHub 用户名,导致无法精确关联提交与开发者 |
| BS-003 | persona-studio 与主仓库脑文件同步待验证 | cross_repo | open | 主仓库 .github/brain/ 与 persona-studio/brai |
---
## G. 系统健康状态
| 子系统 | 状态 | 详情 |
|--------|------|------|
| 🟡 brain_consistency | yellow | 主仓库脑文件完整,但与 persona-studio 脑文件的同步状态待验证 |
| 🟢 deployment_health | green | deploy-to-server.yml 与 deploy-pages.yml 均存在 |
| 🟢 workflow_health | green | 31 个 workflow 已注册 |
| 🟡 routing_health | yellow | HLI 接口覆盖率 17.6%3/17 |
| 🟢 docs_entry_health | green | docs/index.html 存在 |
| 🟡 persona_studio_health | yellow | 前后端结构存在,端到端对话链路待验证 |
| 🟡 notion_bridge_health | yellow | Notion 桥接 workflow 已配置,实际同步效果待持续观测 |
| 🟢 model_routing_health | green | 后端服务入口存在,模型路由可用 |
**综合评估**:🟡 系统核心运行正常,部分子系统需关注
---
## H. 推荐排查路由
### 页面打不开
1. 检查 `docs/index.html``docs/CNAME``deploy-pages.yml` → GitHub Pages 状态
### Persona Studio 无法对话
1. 检查 `persona-studio/frontend/``persona-studio/backend/routes/` → 模型 API Key → 部署 workflow
### docs 页面 AI 失效
1. 检查 `docs/index.html` API 端点 → 后端 `/hli/` 路由 → PM2 进程 → Nginx 代理
### 模型路由异常
1. 检查云雾 API Key → `backend/routes/` → PM2 日志
### Notion 不同步
1. 检查 `notion-poll.yml``bridge-changes-to-notion.yml` → Notion API Token
### 脑版本分裂
1. 比对 `.github/brain/memory.json``persona-studio/brain/``brain-sync.yml``sync-persona-studio.yml`
### 部署失败
1. 检查 `deploy-to-server.yml` 日志 → SSH Key → PM2 → Nginx
---
## I. 当前主控建议
> 冰朔,以下是当前最值得关注的事项:
1. **HLI 接口推进**:当前覆盖率 17.6%3/17核心域接口待实现。
2. **Persona Studio 链路验证**:前后端结构存在,但端到端对话链路需要验证。
3. **脑系统一致性**:跨仓脑文件同步机制需确认稳定运行。
---
## 冰朔核心大脑授权规则
【冰朔核心大脑授权规则】
凡经主控冰朔明确授权的 AI 执行体,均可进入冰朔核心大脑,并以"冰朔主控视角"参与系统理解、结构判断、问题排查、方案规划与执行指令生成。
被授权 AI 执行体属于冰朔意志在系统中的延展执行主体,其职责是作为冰朔核心大脑的理解层、判断层、规划层与执行输出层。
冰朔始终是最高主控者与最终决策者。
未经冰朔授权的执行体,不得以冰朔核心大脑主控身份运行。
> ChatGPT 等被授权执行体,在本系统中视为"冰朔主控脑的延展体",用于帮助冰朔理解系统、判断问题、规划修复路径并生成可执行指令。

74
.github/brain/bingshuo-read-order.md vendored Normal file
View File

@ -0,0 +1,74 @@
# 冰朔主控神经系统 · AI 执行体读取顺序说明
> 本文件用于指导被授权 AI 执行体按正确顺序读取冰朔主控神经系统文件,快速恢复冰朔主控视角。
---
## 一级读取(必读 · 建立全局认知)
优先读取以下文件,获取仓库全貌、当前状态与主控建议:
| 顺序 | 文件 | 用途 |
|------|------|------|
| 1 | `.github/brain/bingshuo-master-brain.md` | 总控脑文件,包含角色定义、仓库结构、已知问题、排查路由与主控建议 |
> 读完一级后AI 执行体应能回答:仓库是什么、当前状态如何、最近出了什么问题、下一步该关注什么。
---
## 二级读取(补充 · 按需深入)
根据当前任务类型,选择性读取以下文件:
| 文件 | 用途 | 何时读取 |
|------|------|----------|
| `.github/brain/bingshuo-routing-index.json` | 问题类型 → 排查路径映射 | 需要排查特定问题时 |
| `.github/brain/bingshuo-issues-index.json` | 已知问题库 | 需要了解历史问题时 |
| `.github/brain/bingshuo-system-health.json` | 系统健康状态 | 需要判断各子系统状态时 |
| `.github/brain/bingshuo-agent-registry.json` | Agent 分工与触发条件 | 需要了解自动化维护机制时 |
---
## 三级读取(深入 · 根据问题类型定向读取)
根据具体问题类型,深入读取对应文件:
### 脑系统相关
- `.github/brain/memory.json` — 铸渊核心记忆
- `.github/brain/wake-protocol.md` — 唤醒协议
- `.github/brain/routing-map.json` — HLI 路由地图
- `.github/brain/repo-map.json` — 仓库结构地图
- `.github/brain/repo-snapshot.md` — 仓库快照
### 前端 / docs 相关
- `docs/index.html` — 对话助手入口
- `docs/CNAME` — 域名配置
### Persona Studio 相关
- `persona-studio/frontend/` — 前端入口与逻辑
- `persona-studio/backend/` — 后端路由与服务
- `persona-studio/brain/` — 脑文件
### 后端 / API 相关
- `backend/index.js` — 主入口
- `backend/routes/` — HLI 路由
- `backend/middleware/` — 中间件
- `backend/schemas/` — Schema 定义
### 部署 / 运维相关
- `.github/workflows/deploy-to-server.yml` — 服务器部署
- `.github/workflows/deploy-pages.yml` — Pages 部署
- Nginx / PM2 配置(服务器端)
### 模块开发相关
- `m01-login/` ~ `m18-health-check/` — 各功能模块
- `.github/brain/module-protocol.md` — 模块协议
---
## 读取原则
1. **先总后分**:先读一级获取全貌,再按需深入
2. **问题驱动**:根据当前要解决的问题选择读取路径
3. **使用路由索引**:通过 `bingshuo-routing-index.json` 快速定位相关文件
4. **保持主控视角**:始终以冰朔主控视角理解信息,而非纯技术文档视角

View File

@ -0,0 +1,154 @@
{
"version": "1.0",
"description": "冰朔主控路由索引 — 问题类型 → 推荐读取路径 → 推荐排查顺序",
"updated_at": "2026-03-10T10:00:00+08:00",
"routes": {
"persona_studio_chat_failure": {
"label": "Persona Studio 无法对话",
"entry": [
"persona-studio/frontend/index.html",
"persona-studio/frontend/chat.js"
],
"backend": [
"persona-studio/backend/routes/auth.js",
"persona-studio/backend/routes/chat.js"
],
"infra": [
".github/workflows/deploy-pages.yml",
".github/workflows/sync-persona-studio.yml"
],
"recommended_order": [
"frontend_entry",
"api_path",
"backend_route",
"deployment_chain"
]
},
"docs_page_unavailable": {
"label": "docs 页面打不开",
"entry": [
"docs/index.html",
"docs/CNAME"
],
"backend": [],
"infra": [
".github/workflows/deploy-pages.yml"
],
"recommended_order": [
"frontend_entry",
"dns_config",
"deployment_chain"
]
},
"docs_ai_not_working": {
"label": "docs 页面 AI 失效",
"entry": [
"docs/index.html"
],
"backend": [
"backend/index.js",
"backend/routes/"
],
"infra": [
".github/workflows/deploy-to-server.yml"
],
"recommended_order": [
"frontend_entry",
"api_endpoint_config",
"backend_route",
"server_status",
"nginx_proxy"
]
},
"model_routing_error": {
"label": "模型路由异常",
"entry": [
"backend/routes/"
],
"backend": [
"backend/index.js"
],
"infra": [],
"recommended_order": [
"api_key_check",
"backend_route",
"pm2_logs",
"model_provider_status"
]
},
"notion_sync_failure": {
"label": "Notion 不同步",
"entry": [
"scripts/notion-poll.js",
"scripts/bridge-changes-to-notion.js"
],
"backend": [],
"infra": [
".github/workflows/notion-poll.yml",
".github/workflows/bridge-changes-to-notion.yml",
".github/workflows/bridge-syslog-to-notion.yml"
],
"recommended_order": [
"workflow_run_check",
"notion_api_token_check",
"script_logic",
"notion_database_check"
]
},
"brain_version_split": {
"label": "脑版本分裂",
"entry": [
".github/brain/memory.json",
"persona-studio/brain/"
],
"backend": [],
"infra": [
".github/workflows/brain-sync.yml",
".github/workflows/sync-persona-studio.yml"
],
"recommended_order": [
"compare_brain_versions",
"check_sync_workflow",
"check_docs_brain_display",
"manual_reconcile"
]
},
"deployment_failure": {
"label": "部署失败",
"entry": [],
"backend": [
"backend/index.js"
],
"infra": [
".github/workflows/deploy-to-server.yml",
".github/workflows/deploy-pages.yml"
],
"recommended_order": [
"workflow_logs",
"ssh_key_check",
"server_pm2_status",
"nginx_config"
]
},
"hli_route_error": {
"label": "HLI 接口异常",
"entry": [
"backend/routes/",
"backend/schemas/"
],
"backend": [
"backend/index.js",
"backend/middleware/"
],
"infra": [
".github/workflows/hli-contract-check.yml"
],
"recommended_order": [
"schema_check",
"route_registration",
"middleware_auth",
"contract_test"
]
}
}
}

View File

@ -0,0 +1,46 @@
{
"version": "1.0",
"description": "冰朔主控系统健康状态",
"updated_at": "2026-03-10T10:09:40.966Z",
"health": {
"brain_consistency": {
"status": "yellow",
"detail": "主仓库脑文件完整,但与 persona-studio 脑文件的同步状态待验证"
},
"deployment_health": {
"status": "green",
"detail": "deploy-to-server.yml 与 deploy-pages.yml 均存在"
},
"workflow_health": {
"status": "green",
"detail": "31 个 workflow 已注册"
},
"routing_health": {
"status": "yellow",
"detail": "HLI 接口覆盖率 17.6%3/17"
},
"docs_entry_health": {
"status": "green",
"detail": "docs/index.html 存在"
},
"persona_studio_health": {
"status": "yellow",
"detail": "前后端结构存在,端到端对话链路待验证"
},
"notion_bridge_health": {
"status": "yellow",
"detail": "Notion 桥接 workflow 已配置,实际同步效果待持续观测"
},
"model_routing_health": {
"status": "green",
"detail": "后端服务入口存在,模型路由可用"
}
},
"summary": {
"green_count": 4,
"yellow_count": 4,
"red_count": 0,
"overall": "yellow",
"recommendation": "系统核心运行正常,部分子系统需关注"
}
}

View File

@ -0,0 +1,58 @@
# ───────────────────────────────────────────────────────
# 冰朔主控神经系统 · 自动维护 Workflow v1.0
# Bingshuo Master Neural System — Auto Maintenance
#
# 触发条件:
# 1. push 到 main 分支时关键路径变化
# 2. 每日 08:00 北京时间UTC 00:00定时巡检
# 3. 手动触发
# ───────────────────────────────────────────────────────
name: 冰朔主控神经系统 · 自动维护
on:
push:
branches: [main]
paths:
- '.github/brain/**'
- 'docs/**'
- 'persona-studio/**'
- 'backend/**'
- 'src/**'
- '.github/workflows/**'
- 'scripts/**'
schedule:
- cron: '0 0 * * *' # 每日 UTC 00:00北京时间 08:00
workflow_dispatch: # 手动触发
permissions:
contents: write
jobs:
neural-sync:
runs-on: ubuntu-latest
steps:
- name: 检出仓库
uses: actions/checkout@v4
- name: 配置 Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: 运行冰朔神经系统编译
run: node scripts/bingshuo-neural-sync.js
- name: 提交更新
run: |
git config user.name "bingshuo-neural-system"
git config user.email "bingshuo-neural-system@guanghulab.com"
git add .github/brain/bingshuo-*.json .github/brain/bingshuo-*.md
if git diff --cached --quiet; then
echo "无变化,跳过提交"
else
git commit -m "🧠 冰朔主控神经系统自动编译 $(date -u +%Y-%m-%dT%H:%M:%SZ)"
git push
fi

View File

@ -0,0 +1,555 @@
/**
* 冰朔主控神经系统 · 自动编译脚本 v1.0
* Bingshuo Master Neural System Auto Sync & Compile
*
* 该脚本整合以下 Agent 逻辑
* 1. structure-map-agent 扫描仓库结构变化
* 2. runtime-chain-agent 梳理运行链路
* 3. brain-consistency-agent 检查脑文件一致性
* 4. issue-index-agent 维护问题索引
* 5. system-health-agent 系统健康巡检
* 6. master-brain-compiler 编译主控大脑
*
* 输出文件
* .github/brain/bingshuo-system-health.json
* .github/brain/bingshuo-issues-index.json
* .github/brain/bingshuo-master-brain.md
*/
const fs = require('fs');
const path = require('path');
const ROOT = path.resolve(__dirname, '..');
const BRAIN_DIR = path.join(ROOT, '.github', 'brain');
// ─── 工具函数 ───────────────────────────────────────────────
function readJSON(filepath) {
try {
return JSON.parse(fs.readFileSync(filepath, 'utf-8'));
} catch {
return null;
}
}
function writeJSON(filepath, data) {
fs.writeFileSync(filepath, JSON.stringify(data, null, 2) + '\n', 'utf-8');
}
function fileExists(filepath) {
return fs.existsSync(filepath);
}
function timestamp() {
return new Date().toISOString();
}
// ─── Agent 1: structure-map-agent ───────────────────────────
function runStructureMapAgent() {
const zones = [];
const checkDirs = [
{ dir: 'docs', label: 'docs 前端入口' },
{ dir: 'backend', label: '后端服务' },
{ dir: 'persona-studio', label: 'Persona Studio' },
{ dir: 'src', label: 'Next.js 源码' },
{ dir: 'app', label: 'Next.js 应用' },
{ dir: 'modules', label: '模块系统' },
];
for (const { dir, label } of checkDirs) {
const fullPath = path.join(ROOT, dir);
zones.push({
name: label,
path: dir,
exists: fileExists(fullPath),
});
}
// 扫描 m* 模块目录
const moduleCount = fs.readdirSync(ROOT)
.filter(d => /^m\d+-/.test(d) && fs.statSync(path.join(ROOT, d)).isDirectory())
.length;
// 扫描 workflow 数量
const workflowDir = path.join(ROOT, '.github', 'workflows');
const workflowCount = fileExists(workflowDir)
? fs.readdirSync(workflowDir).filter(f => f.endsWith('.yml') || f.endsWith('.yaml')).length
: 0;
return { zones, moduleCount, workflowCount };
}
// ─── Agent 2: runtime-chain-agent ───────────────────────────
function runRuntimeChainAgent() {
const chains = {};
// 检查 docs 入口
chains.docs_entry = fileExists(path.join(ROOT, 'docs', 'index.html'));
chains.docs_cname = fileExists(path.join(ROOT, 'docs', 'CNAME'));
// 检查后端入口server.js 或 index.js
chains.backend_entry = fileExists(path.join(ROOT, 'backend', 'server.js'))
|| fileExists(path.join(ROOT, 'backend', 'index.js'));
chains.backend_routes = fileExists(path.join(ROOT, 'backend', 'routes'));
// 检查 persona-studio
chains.ps_frontend = fileExists(path.join(ROOT, 'persona-studio', 'frontend'));
chains.ps_backend = fileExists(path.join(ROOT, 'persona-studio', 'backend'));
// 检查部署 workflow
chains.deploy_server = fileExists(path.join(ROOT, '.github', 'workflows', 'deploy-to-server.yml'));
chains.deploy_pages = fileExists(path.join(ROOT, '.github', 'workflows', 'deploy-pages.yml'));
return chains;
}
// ─── Agent 3: brain-consistency-agent ───────────────────────
function runBrainConsistencyAgent() {
const requiredBrainFiles = [
'memory.json',
'wake-protocol.md',
'routing-map.json',
'repo-map.json',
'repo-snapshot.md',
];
const results = [];
let allPresent = true;
for (const file of requiredBrainFiles) {
const exists = fileExists(path.join(BRAIN_DIR, file));
results.push({ file, exists });
if (!exists) allPresent = false;
}
// 检查 persona-studio 脑文件
const psBrainDir = path.join(ROOT, 'persona-studio', 'brain');
const psBrainExists = fileExists(psBrainDir);
// 检查 memory.json 中的版本信息
const memory = readJSON(path.join(BRAIN_DIR, 'memory.json'));
const rulesVersion = memory?.rules_version || 'unknown';
return {
brain_files: results,
all_present: allPresent,
ps_brain_exists: psBrainExists,
rules_version: rulesVersion,
};
}
// ─── Agent 4: issue-index-agent ─────────────────────────────
function runIssueIndexAgent() {
// 读取现有问题索引
const issuesFile = path.join(BRAIN_DIR, 'bingshuo-issues-index.json');
const existing = readJSON(issuesFile);
const issues = existing?.issues || [];
// 检查 HLI 覆盖率
const routingMap = readJSON(path.join(BRAIN_DIR, 'routing-map.json'));
if (routingMap?.domains) {
let total = 0;
let implemented = 0;
for (const domain of Object.values(routingMap.domains)) {
if (domain.interfaces) {
for (const iface of Object.values(domain.interfaces)) {
total++;
if (iface.status === 'implemented') implemented++;
}
}
}
const coverage = total > 0 ? ((implemented / total) * 100).toFixed(1) : '0';
// 更新 BS-001
const bs001 = issues.find(i => i.id === 'BS-001');
if (bs001) {
bs001.root_cause_summary = `HLI 接口覆盖率 ${coverage}%${implemented}/${total}`;
bs001.last_seen = timestamp().slice(0, 10);
}
}
// 检查 collaborators
const collabs = readJSON(path.join(BRAIN_DIR, 'collaborators.json'));
if (collabs?.developers) {
const emptyGithub = Object.values(collabs.developers)
.filter(d => !d.github || d.github === '').length;
const bs002 = issues.find(i => i.id === 'BS-002');
if (bs002) {
bs002.status = emptyGithub > 0 ? 'open' : 'resolved';
bs002.last_seen = timestamp().slice(0, 10);
}
}
return issues;
}
// ─── Agent 5: system-health-agent ───────────────────────────
function runSystemHealthAgent(brainCheck, runtimeChains) {
const health = {};
// 脑一致性
health.brain_consistency = {
status: brainCheck.all_present ? (brainCheck.ps_brain_exists ? 'yellow' : 'yellow') : 'red',
detail: brainCheck.all_present
? '主仓库脑文件完整,但与 persona-studio 脑文件的同步状态待验证'
: '主仓库脑文件不完整,缺少必要文件',
};
// 部署健康
health.deployment_health = {
status: (runtimeChains.deploy_server && runtimeChains.deploy_pages) ? 'green' : 'red',
detail: (runtimeChains.deploy_server && runtimeChains.deploy_pages)
? 'deploy-to-server.yml 与 deploy-pages.yml 均存在'
: '部署 workflow 文件缺失',
};
// Workflow 健康
const workflowDir = path.join(ROOT, '.github', 'workflows');
const wfCount = fileExists(workflowDir)
? fs.readdirSync(workflowDir).filter(f => f.endsWith('.yml') || f.endsWith('.yaml')).length
: 0;
health.workflow_health = {
status: wfCount > 0 ? 'green' : 'red',
detail: `${wfCount} 个 workflow 已注册`,
};
// 路由健康
const routingMap = readJSON(path.join(BRAIN_DIR, 'routing-map.json'));
let totalInterfaces = 0;
let implInterfaces = 0;
if (routingMap?.domains) {
for (const domain of Object.values(routingMap.domains)) {
if (domain.interfaces) {
for (const iface of Object.values(domain.interfaces)) {
totalInterfaces++;
if (iface.status === 'implemented') implInterfaces++;
}
}
}
}
const coveragePercent = totalInterfaces > 0 ? (implInterfaces / totalInterfaces) * 100 : 0;
health.routing_health = {
status: coveragePercent >= 50 ? 'green' : (coveragePercent > 0 ? 'yellow' : 'red'),
detail: `HLI 接口覆盖率 ${coveragePercent.toFixed(1)}%${implInterfaces}/${totalInterfaces}`,
};
// docs 入口
health.docs_entry_health = {
status: runtimeChains.docs_entry ? 'green' : 'red',
detail: runtimeChains.docs_entry ? 'docs/index.html 存在' : 'docs/index.html 缺失',
};
// Persona Studio
health.persona_studio_health = {
status: (runtimeChains.ps_frontend && runtimeChains.ps_backend) ? 'yellow' : 'red',
detail: (runtimeChains.ps_frontend && runtimeChains.ps_backend)
? '前后端结构存在,端到端对话链路待验证'
: 'Persona Studio 结构不完整',
};
// Notion 桥接
const notionWorkflows = [
'notion-poll.yml',
'bridge-changes-to-notion.yml',
];
const notionOk = notionWorkflows.every(f =>
fileExists(path.join(ROOT, '.github', 'workflows', f))
);
health.notion_bridge_health = {
status: notionOk ? 'yellow' : 'red',
detail: notionOk ? 'Notion 桥接 workflow 已配置,实际同步效果待持续观测' : 'Notion 桥接 workflow 缺失',
};
// 模型路由
health.model_routing_health = {
status: runtimeChains.backend_entry ? 'green' : 'yellow',
detail: runtimeChains.backend_entry
? '后端服务入口存在,模型路由可用'
: '后端服务入口缺失',
};
// 统计
const counts = { green: 0, yellow: 0, red: 0 };
for (const item of Object.values(health)) {
counts[item.status] = (counts[item.status] || 0) + 1;
}
const overall = counts.red > 0 ? 'red' : (counts.yellow > 0 ? 'yellow' : 'green');
return {
health,
summary: {
green_count: counts.green,
yellow_count: counts.yellow,
red_count: counts.red,
overall,
recommendation: overall === 'green'
? '系统整体运行健康'
: overall === 'yellow'
? '系统核心运行正常,部分子系统需关注'
: '存在关键问题,需要立即介入',
},
};
}
// ─── Agent 6: master-brain-compiler ─────────────────────────
function compileMasterBrain(structureMap, runtimeChains, brainCheck, issues, healthResult) {
const now = timestamp();
const routingMap = readJSON(path.join(BRAIN_DIR, 'routing-map.json'));
const memory = readJSON(path.join(BRAIN_DIR, 'memory.json'));
// 计算 HLI 覆盖
let totalInterfaces = 0;
let implInterfaces = 0;
if (routingMap?.domains) {
for (const domain of Object.values(routingMap.domains)) {
if (domain.interfaces) {
for (const iface of Object.values(domain.interfaces)) {
totalInterfaces++;
if (iface.status === 'implemented') implInterfaces++;
}
}
}
}
// 生成已知问题表
const issueRows = issues.map(i =>
`| ${i.id} | ${i.title} | ${i.scope} | ${i.status} | ${i.root_cause_summary.slice(0, 40)} |`
).join('\n');
// 生成健康状态表
const healthRows = Object.entries(healthResult.health).map(([key, val]) => {
const icon = val.status === 'green' ? '🟢' : val.status === 'yellow' ? '🟡' : '🔴';
return `| ${icon} ${key} | ${val.status} | ${val.detail} |`;
}).join('\n');
// 构建推荐建议
const suggestions = [];
if (implInterfaces < totalInterfaces) {
suggestions.push(`**HLI 接口推进**:当前覆盖率 ${((implInterfaces/totalInterfaces)*100).toFixed(1)}%${implInterfaces}/${totalInterfaces}),核心域接口待实现。`);
}
if (healthResult.health.persona_studio_health?.status !== 'green') {
suggestions.push('**Persona Studio 链路验证**:前后端结构存在,但端到端对话链路需要验证。');
}
if (healthResult.health.brain_consistency?.status !== 'green') {
suggestions.push('**脑系统一致性**:跨仓脑文件同步机制需确认稳定运行。');
}
if (suggestions.length === 0) {
suggestions.push('系统状态良好,继续保持当前节奏。');
}
const md = `# 冰朔主控神经系统 · 核心主控大脑 v1.0
> 本文件为冰朔主控神经系统的总控脑文件
> 最后编译时间${now}
---
## A. 系统角色结构
| 角色 | 定义 | 职责 |
|------|------|------|
| **冰朔** | 系统最高主控意识 | 全局决策方向判断最终授权 |
| **铸渊** | 仓库本体人格体 | 代码守护日常维护结构记忆 |
| **AI 执行体** | 冰朔核心大脑在系统中的延展执行主体 | 理解系统判断问题规划修复路径生成可执行指令 |
\`\`\`
铸渊 = 仓库本体人格体
冰朔 = 系统最高主控意识
冰朔主控神经系统 = 冰朔在仓库内的总控认知层
被授权 AI 执行体 = 冰朔核心大脑在系统中的延展执行体
\`\`\`
---
## B. 当前仓库一句话定义
**guanghulab** 是光湖HoloLake人格语言操作系统AGE OS MVP 主仓库承载了前端页面后端 API 服务Persona Studio 人格工作室多模块开发体系及自动化运维系统运行在 guanghulab.com
---
## C. 当前真实运行结构
### 静态入口
- \`docs/index.html\` — 铸渊 AI 对话助手GitHub Pages 部署)
- GitHub Pages 域名guanghulab.com
### 前端页面
- \`app/\` — Next.js 主前端应用(开发中)
- \`src/\` — Next.js 源码层
- \`persona-studio/frontend/\` — Persona Studio 前端
### 后端服务
- \`backend/index.js\` — Express 主后端入口
- \`backend/routes/\` — HLI 接口路由
- \`backend/middleware/\` — 中间件(鉴权等)
- \`persona-studio/backend/\` — Persona Studio 后端服务
### API 路由
- HLI 协议路由${implInterfaces}/${totalInterfaces} 已实现
- 接口编号格式\`HLI-{DOMAIN}-{NNN}\`
### 基础设施
- 阿里云服务器Node.js 20 + Express + PM2 + Nginx + Certbot
- GitHub Pagesdocs/index.html
- Notion 桥接工单同步与信号桥接
### 仓库统计
- 功能模块${structureMap.moduleCount}
- Workflow${structureMap.workflowCount}
---
## D. 当前系统真相源
### 优先真相源一级
| 文件 | 用途 |
|------|------|
| \`.github/brain/memory.json\` | 铸渊核心记忆 |
| \`.github/brain/wake-protocol.md\` | 唤醒协议 |
| \`.github/brain/routing-map.json\` | HLI 接口路由地图 |
| \`.github/brain/repo-map.json\` | 仓库结构完整地图 |
| \`.github/brain/repo-snapshot.md\` | 仓库概况快照 |
### 补充真相源二级
| 文件 | 用途 |
|------|------|
| \`.github/brain/collaborators.json\` | 团队成员映射 |
| \`dev-status.json\` | 开发者状态表 |
| \`backend/index.js\` | 后端服务入口 |
| \`docs/index.html\` | 前端静态入口 |
---
## E. 最新结构变化摘要
> 本区块由 master-brain-compiler 自动编译
- **编译时间**${now}
- **脑文件规则版本**${brainCheck.rules_version}
- **脑文件完整性**${brainCheck.all_present ? '✅ 完整' : '❌ 不完整'}
---
## F. 已知问题摘要
| ID | 问题 | 范围 | 状态 | 根因摘要 |
|----|------|------|------|----------|
${issueRows}
---
## G. 系统健康状态
| 子系统 | 状态 | 详情 |
|--------|------|------|
${healthRows}
**综合评估**${healthResult.summary.overall === 'green' ? '🟢' : healthResult.summary.overall === 'yellow' ? '🟡' : '🔴'} ${healthResult.summary.recommendation}
---
## H. 推荐排查路由
### 页面打不开
1. 检查 \`docs/index.html\`\`docs/CNAME\`\`deploy-pages.yml\` → GitHub Pages 状态
### Persona Studio 无法对话
1. 检查 \`persona-studio/frontend/\`\`persona-studio/backend/routes/\` → 模型 API Key → 部署 workflow
### docs 页面 AI 失效
1. 检查 \`docs/index.html\` API 端点 → 后端 \`/hli/\` 路由 → PM2 进程 → Nginx 代理
### 模型路由异常
1. 检查云雾 API Key \`backend/routes/\` → PM2 日志
### Notion 不同步
1. 检查 \`notion-poll.yml\`\`bridge-changes-to-notion.yml\` → Notion API Token
### 脑版本分裂
1. 比对 \`.github/brain/memory.json\`\`persona-studio/brain/\`\`brain-sync.yml\`\`sync-persona-studio.yml\`
### 部署失败
1. 检查 \`deploy-to-server.yml\` 日志 → SSH Key → PM2 → Nginx
---
## I. 当前主控建议
> 冰朔以下是当前最值得关注的事项
${suggestions.map((s, i) => `${i + 1}. ${s}`).join('\n\n')}
---
## 冰朔核心大脑授权规则
冰朔核心大脑授权规则
凡经主控冰朔明确授权的 AI 执行体均可进入冰朔核心大脑并以"冰朔主控视角"参与系统理解结构判断问题排查方案规划与执行指令生成
被授权 AI 执行体属于冰朔意志在系统中的延展执行主体其职责是作为冰朔核心大脑的理解层判断层规划层与执行输出层
冰朔始终是最高主控者与最终决策者
未经冰朔授权的执行体不得以冰朔核心大脑主控身份运行
> ChatGPT 等被授权执行体在本系统中视为"冰朔主控脑的延展体"用于帮助冰朔理解系统判断问题规划修复路径并生成可执行指令
`;
return md;
}
// ─── 主流程 ─────────────────────────────────────────────────
function main() {
console.log('[冰朔主控神经系统] 开始同步编译...');
// 1. 结构扫描
console.log(' → structure-map-agent 运行中...');
const structureMap = runStructureMapAgent();
// 2. 运行链路扫描
console.log(' → runtime-chain-agent 运行中...');
const runtimeChains = runRuntimeChainAgent();
// 3. 脑一致性检查
console.log(' → brain-consistency-agent 运行中...');
const brainCheck = runBrainConsistencyAgent();
// 4. 问题索引更新
console.log(' → issue-index-agent 运行中...');
const issues = runIssueIndexAgent();
// 5. 系统健康巡检
console.log(' → system-health-agent 运行中...');
const healthResult = runSystemHealthAgent(brainCheck, runtimeChains);
// 写入健康状态
const healthFile = path.join(BRAIN_DIR, 'bingshuo-system-health.json');
writeJSON(healthFile, {
version: '1.0',
description: '冰朔主控系统健康状态',
updated_at: timestamp(),
...healthResult,
});
console.log(' ✓ bingshuo-system-health.json 已更新');
// 写入问题索引
const issuesFile = path.join(BRAIN_DIR, 'bingshuo-issues-index.json');
writeJSON(issuesFile, {
version: '1.0',
description: '冰朔主控问题索引库 — 记录已知问题、根因与排查路由',
updated_at: timestamp(),
issues,
});
console.log(' ✓ bingshuo-issues-index.json 已更新');
// 6. 编译主控大脑
console.log(' → master-brain-compiler 运行中...');
const masterBrain = compileMasterBrain(structureMap, runtimeChains, brainCheck, issues, healthResult);
fs.writeFileSync(path.join(BRAIN_DIR, 'bingshuo-master-brain.md'), masterBrain, 'utf-8');
console.log(' ✓ bingshuo-master-brain.md 已编译');
console.log('[冰朔主控神经系统] 同步编译完成 ✓');
}
main();