11-directory-structure.md 9.72 KB

11. 项目目录结构

更新日期: 2026-03-26 状态: ✅ 反映 multi-tenant 重构后的实际结构

lemonboss/
├── packages/
│   ├── acp-core/                # ACP 通讯协议核心(复用)
│   │   ├── protocols/
│   │   ├── transports/
│   │   └── launchers/
│   │
│   ├── agent-core/              # Agent 核心模块
│   │   ├── AgentScaffold.js     # Agent 脚手架 (创建时模板)
│   │   ├── base/                # 共享基类 (运行时继承)
│   │   │   ├── common/          #   通用基类 (所有 Agent)
│   │   │   ├── master/          #   Master 类型基类
│   │   │   ├── skill/           #   Skill 类型基类
│   │   │   └── cxo/             #   CXO 类型基类
│   │   └── index.js
│   │
│   ├── evolution/               # 遗传进化引擎模块
│   │
│   └── plugin-bootstrap/        # 插件引导模块
│
├── server/
│   ├── agent-server.js          # Express 入口 (端口 3000)
│   ├── routes/
│   │   ├── agent-chat.js        # Agent CRUD + Chat + Dispatch/Report API
│   │   ├── company.js           # Company CRUD + Hire/Fire + OKR + Pipeline + Heartbeat
│   │   ├── goals.js             # 全局 OKR Goals API
│   │   ├── master-chat.js       # Master Agent 专用对话 API
│   │   ├── innovator.js         # Innovator 技能管理 + 训练相关 API
│   │   ├── evolution.js         # 遗传进化引擎 API
│   │   ├── arena.js             # Arena 技能商店 API
│   │   ├── claude-chat.js       # Claude Chat 前端对话 API
│   │   ├── claude-chat-ws.js    # WebSocket 通道
│   │   ├── config.js            # 全局配置 API
│   │   ├── auth.js              # 用户认证 API
│   │   ├── users.js             # 用户管理 API
│   │   ├── open-api.js          # 公开 API (技能商店/文档)
│   │   └── whatsapp-auth.js     # WhatsApp 网关认证
│   │
│   └── services/
│       ├── company-service.js          # 公司 CRUD + 招聘逻辑
│       ├── company-heartbeat-service.js # 公司级心跳服务
│       ├── heartbeat-service.js        # Agent 级心跳服务
│       ├── memory-service.js           # 记忆系统 (短期/反思/海马体)
│       ├── pipeline-service.js         # SOP 流水线引擎
│       ├── schedule-service.js         # 工作日历调度
│       ├── datasource-service.js       # 运营数据接入
│       ├── goals.js                    # OKR GoalsService
│       ├── claude-chat-service.js      # Claude CLI 会话管理
│       ├── conversation-logger.js      # 对话日志持久化
│       ├── innovator-service.js        # Innovator 训练编排
│       ├── retrain-pipeline.js         # FDE 重训流水线
│       ├── retrain-watchdog.js         # 重训看门狗
│       ├── benchmark-runner.js         # Benchmark 执行器
│       ├── benchmark-db.js             # Benchmark 数据库
│       ├── evolution-loop.js           # 遗传进化循环
│       ├── skill-registry.js           # 技能注册表
│       ├── skill-db.js                 # 技能数据库
│       ├── skill-dir-manager.js        # 技能目录管理
│       ├── skill-packager.js           # 技能打包
│       ├── skill-task-manager.js       # 技能任务管理
│       ├── task-queue.js               # 任务队列
│       ├── job-manager.js              # 异步任务管理
│       ├── file-parser.js              # 文件解析 (PDF/DOCX)
│       └── user-db.js                  # 用户数据库
│
├── web/                          # 前端控制面板 (Vue 3 + Vite)
│   └── src/
│       ├── components/
│       │   ├── AppNav.vue              # 顶部导航 (LemonBoss / MasterBot / Companies)
│       │   ├── FileNode.vue            # 文件树节点组件
│       │   └── MasterChatDrawer.vue    # Master Agent 侧边对话抽屉
│       ├── views/
│       │   ├── CompanyDashboard.vue    # 公司仪表盘 (Agent 列表 + 心跳控制)
│       │   ├── AgentChat.vue          # Agent 对话详情 (四列布局)
│       │   ├── AgentList.vue          # Agent 列表页
│       │   └── OkrDashboard.vue       # OKR 目标看板
│       └── router/
│           └── index.js               # 路由定义
│
├── bin/
│   └── lemon.js                  # CLI 入口 (公司自举 + Agent 管理命令)
│
├── scripts/                      # 运维脚本
│
├── data/                         # ⭐ 数据根目录 (Multi-Tenant 架构)
│   ├── system/                   # 系统级数据 (跨公司共享)
│   │   ├── agents/               #   全局 Agent 池
│   │   │   ├── master/           #     Master Agent (唯一入口)
│   │   │   ├── innovator/        #     Innovator 编排 Agent
│   │   │   ├── agent-creator/    #     Agent 创建器
│   │   │   ├── trend-hunter/     #     趋势猎手
│   │   │   ├── reddit-scraper/   #     Reddit 爬虫
│   │   │   └── satire-news-scraper/ #  讽刺新闻爬虫
│   │   │
│   │   └── templates/            #   📦 Agent 模板库 (招聘时优先查找)
│   │       ├── _registry.json    #     模板注册表索引
│   │       ├── _company_bootstrap/ #   公司自举清单 (manifest.json)
│   │       ├── ceo/              #     CEO 通用模板
│   │       ├── cto/              #     CTO 通用模板
│   │       ├── coo/              #     COO 通用模板
│   │       ├── hr/               #     HR 通用模板
│   │       ├── qa-judge/         #     QA 仲裁模板
│   │       ├── agent_creator/    #     Agent Creator 模板
│   │       └── scrapling_crawler/ #   爬虫模板
│   │
│   ├── {companyId}/              # 公司实例 (每家公司一个目录)
│   │   ├── company.json          #   公司元数据 + 状态 + 心跳配置
│   │   ├── agents/               #   该公司专属 Agent 池
│   │   │   ├── ceo/              #     公司 CEO
│   │   │   │   ├── agent.md      #       核心身份标识
│   │   │   │   ├── soul.md       #       思维模式
│   │   │   │   ├── identity.md   #       名称/emoji 等
│   │   │   │   ├── tools.md      #       可用工具
│   │   │   │   ├── user.md       #       上级偏好
│   │   │   │   ├── heartbeat.md  #       心跳策略
│   │   │   │   ├── todo.md       #       待办清单
│   │   │   │   ├── plan.md       #       任务计划
│   │   │   │   ├── config.json   #       运行配置
│   │   │   │   ├── cron.json     #       定时任务
│   │   │   │   └── memory/       #       记忆系统
│   │   │   │       ├── memory.md          # 记忆总览
│   │   │   │       ├── hippocampus.md     # 海马体经验索引
│   │   │   │       ├── hippocampus-index.json # 海马体结构化索引
│   │   │   │       ├── cerebellum/        # 小脑 (固化方案)
│   │   │   │       ├── short-term/        # 短期记忆 (session-*.md)
│   │   │   │       └── reflections/       # 反思记录 (reflect-*.json)
│   │   │   ├── cto/
│   │   │   ├── coo/
│   │   │   └── {role-agent}/
│   │   │
│   │   ├── goals/                #   公司级 OKR (可选)
│   │   │   └── _index.json
│   │   ├── pipelines/            #   SOP 流水线定义
│   │   └── workspace/            #   公司共享工作区
│   │       └── {agentId}/        #     Agent 工作产出
│   │
│   ├── goals/                    # 全局 OKR 目标
│   │   ├── _index.json           #   所有 Goal 摘要索引
│   │   └── G-{NNN}/             #   每个 Goal 一个目录
│   │       ├── goal.json         #     完整 OKR 树
│   │       └── progress.json     #     自动计算进度快照
│   │
│   └── agents/                   # (兼容旧路径) 全局 tasks
│       └── .tasks/               #   任务记录
│
├── docs/
│   ├── LEMONBOSS-SYSTEM-DESIGN.md  # 主索引
│   └── system-design/              # 分章节子文档 (01~24.md)
│
├── CLAUDE.md                     # Claude CLI 配置
├── package.json
├── pnpm-workspace.yaml
├── install.sh                    # 安装脚本
└── start.sh                     # 启动脚本

路由挂载路径

挂载路径 路由文件 说明
/api/agent agent-chat.js Agent CRUD + Chat + Dispatch/Report
/api/company company.js 公司 CRUD + 招聘 + OKR + Pipeline
/api/goals goals.js 全局 OKR Goals

数据寻址规则

// 全局 Agent(不属于任何公司)
const agentDir = path.join(DATA_DIR, 'system', 'agents', agentId);
// 即: system/agents/master/

// 公司内 Agent
const agentDir = path.join(DATA_DIR, companyId, 'agents', agentId);
// 即: data/wechatai/agents/ceo/

// 模板库
const templateDir = path.join(DATA_DIR, 'system', 'templates', roleName);
// 即: system/templates/ceo/