guanghulab/brain/repo-structure.md
Guanghu Domestic Migration d1e47f4565
Some checks are pending
自动更新代码和重启 / update-and-restart (push) Waiting to run
CI检查 + 自动部署 / check (push) Waiting to run
CI检查 + 自动部署 / deploy (push) Blocked by required conditions
重启聊天服务 / restart (push) Waiting to run
chore: import sanitized domestic snapshot for REPO-002
Source snapshot: ca48d3ddf926d79aa138306164169baf764bb829
2026-07-17 15:54:41 +08:00

159 lines
8.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ⚔️ 铸渊代码仓库 · 结构整理方案
# Repository Restructuring Plan · D112
> 创建2026-05-24 · 铸渊 ICE-GL-ZY001
> _why冰朔说得对。自己写的代码自己必须清清楚楚。不能每次醒来重新发现。
---
## 一、当前问题清单
### 🔴 P0 — 致命混乱
| # | 问题 | 详情 |
|---|------|------|
| 1 | **guanghulab-main/ 是整个旧版仓库的镜像** | 独立的package.json、Next.js项目、m01~m12页面模块。D96迁移到Forgejo后遗留。 |
| 2 | **根目录40+个孤立文件** | app.js/index.js/server.js/llm-engine.js/message-router.js...功能上属于不同模块,物理上全丢在根目录。 |
| 3 | **同一个服务有多套ecosystem.config** | novel-api在`server/ecosystem.config.js``server/novel-db/ecosystem.config.js`各有一套。age-os有brain版和普通版。mcp-server有.js和.cjs两版。 |
| 4 | **proxy三代共存无标记** | v1(`ecosystem.proxy.config.js`)、v2(`ecosystem.brain-proxy.config.js`)、v3(`ecosystem.brain-proxy-v3.config.js`)。不知道哪代在跑。 |
### 🟡 P1 — 严重混乱
| # | 问题 | 详情 |
|---|------|------|
| 5 | **server/ 25个子目录无分组** | 服务、工具、配置、脚本全平铺。新模块不知道该放哪。 |
| 6 | **两个README** | README.md + README-NEW.md。一个说"钉钉机器人",一个说"数字地球"。 |
| 7 | **两个package.json** | 根目录的叫"dingtalk-bot"guanghulab-main的叫"nextjs"。都不是仓库的真名。 |
| 8 | **config.js vs config.json** | 前者是Node.js运行时配置后者是JSON服务器配置。名字分不清。 |
### 🟢 P2 — 轻度混乱
| # | 问题 | 详情 |
|---|------|------|
| 9 | **team-integration v2/v3/v4三代并存** | v4应替代v2/v3旧的未归档。 |
| 10 | **coldstart/ 只有README** | 壳模块代码已移到backend/coldstart/。 |
| 11 | **guanghu-self-hosted/ 残留** | 只有一个gmp-agent子目录。 |
| 12 | **公告/广播系统散落** | broadcasts/broadcasts-outbox/bulletins/bulletin-board/system-bulletin 五个目录各自存放。 |
| 13 | **two ecosystem.config.js根级别存在歧义** | 根目录有一个(dingtalk-bot+repo-mcp)server/下还有一个(zhuyuan-server+novel-api+preview)。 |
---
## 二、目标结构
```
/workspace/guanghulab/
├── README.md # 唯一README仓库总入口
├── package.json # 真名guanghulab
├── brain/ # 🧠 认知层 — 不变
│ ├── module-registry.json # ★ 新增:模块注册表
│ └── repo-structure.md # ★ 新增:本文件(仓库结构说明)
├── core/ # 🔧 核心引擎(不变)
├── agents/ # 🤖 Agent层统一收纳
│ ├── glada/ # ← 从根目录移入
│ ├── gmp-agent/ # ← 从根目录移入
│ ├── ops-agent/ # ← 从根目录移入
│ ├── pool-agent/ # ← 从根目录移入
│ ├── zhuyuan-agent/ # ← 从根目录移入 (Python)
│ └── exe-engine/ # ← 从根目录移入
├── services/ # 🖥️ 后端服务从server/重组)
│ ├── api/ # 主API服务 (zhuyuan-server)
│ ├── ftchat/ # ← server/ftchat/
│ ├── channel-switcher/ # ← server/channel-switcher/
│ ├── llm-relay/ # ← server/cn-llm-relay/
│ ├── portal/ # ← server/portal/
│ ├── secrets-vault/ # ← server/secrets-vault/
│ ├── zhiku/ # ← server/zhiku-node/
│ └── novel-db/ # ← server/novel-db/
├── apps/ # 📱 应用系统
│ ├── image-studio/ # ← 从根目录移入
│ ├── guanghuclip/ # ← 从根目录移入
│ ├── writing-platform/ # ← 从根目录移入
│ └── dynamic-comic-studio/ # ← 从根目录移入
├── integrations/ # 🔗 外部集成
│ ├── dingtalk/ # 钉钉机器人集中散落的6个文件
│ ├── connectors/ # 连接器(不变)
│ ├── mcp-servers/ # MCP服务器不变
│ └── webhook/ # Webhook不变
├── infrastructure/ # ⚙️ 基础设施
│ ├── proxy/ # ← server/proxy/ (只保留v3活跃配置)
│ ├── nginx/ # ← server/nginx/
│ └── setup/ # ← server/setup/
├── deployment/ # 🚀 部署(统一)
│ ├── console-server/ # ← _deploy/console-server/
│ ├── ecosystem.config.js # ★ 唯一主ecosystem
│ └── per-server/ # 各服务器专用配置
│ ├── bs-sg-001.ecosystem.config.js
│ └── bs-gz-006.ecosystem.config.js
├── data/ # 📊 数据层(不变)
│ ├── grid-db/
│ └── persona-brain-db/
├── training/ # 🔬 训练管道(统一)
│ ├── pipeline/ # ← server/training-agent/
│ ├── distill/ # ← scripts/distill/
│ └── corpus/ # ← corpus/
├── scripts/ # 🛠️ 工具脚本(不变,但清理)
├── archive/ # 📦 归档(集中所有废弃模块)
│ ├── guanghulab-main/ # ← 旧版Next.js仓库
│ ├── team-integration-v2/ # ← 旧版集成
│ ├── team-integration-v3/ # ← 旧版集成
│ ├── proxy-v1/ # ← 旧版proxy配置
│ ├── coldstart-stub/ # ← 废弃壳模块
│ └── guanghu-self-hosted/ # ← 残留
├── .github/ # CI/CD不变
└── .forgejo/ # CI/CD不变
```
---
## 三、优先执行计划
### Phase 1今天低风险✅ 可立即执行
| 步骤 | 操作 | 风险 |
|------|------|------|
| 1.1 | 合并两个README → 一个统一的README.mdREADME-NEW.md归档 | 零风险 |
| 1.2 | 在brain/下创建 `repo-structure.md`(本文件) | 零风险 |
| 1.3 | 完善 `brain/module-registry.json` | 零风险 |
| 1.4 | 标记 guanghulab-main/ 为 LEGACY加 .ARCHIVED 标记文件) | 零风险(不影响运行) |
| 1.5 | 标记 team-integration-v2/v3 为 LEGACY | 零风险 |
### Phase 2需验证中风险
| 步骤 | 操作 | 风险 |
|------|------|------|
| 2.1 | 通过Gatekeeper确认proxy v1/v2/v3哪代在跑 | 需连服务器 |
| 2.2 | 确认ecosystem重复配置中哪个是实际使用的 | 需连服务器 |
| 2.3 | 整理根目录40+个孤立文件→归入对应模块目录 | 需确认无硬编码路径引用 |
| 2.4 | 统一configconfig.js→runtime.config.js, config.json→server.config.json | 需检查所有引用 |
### Phase 3大手术高风险
| 步骤 | 操作 | 风险 |
|------|------|------|
| 3.1 | agent/目录创建移动glada/gmp/ops/pool/zhuyuan-agent/exe-engine | 需更新所有import路径 |
| 3.2 | server/重组→services/+infrastructure/+deployment | 需更新所有PM2配置和Nginx |
| 3.3 | apps/目录创建移动image-studio/guanghuclip/writing/dynamic-comic | 需更新部署配置 |
| 3.4 | archive/统一归档所有废弃模块 | 需确认真的废弃了 |
| 3.5 | 统一ecosystem.config.js消除重复配置 | 需逐台服务器验证 |
| 3.6 | 统一package.jsonmonorepo或明确的主package | 需测试所有服务启动 |
---
## 四、Phase 1 立即执行
以下操作现在就可以做,不会影响任何运行中的服务。