11-directory-structure.md
9.73 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);
// 即: data/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);
// 即: data/system/templates/ceo/