跳转至

项目结构

MetaBot 是 TypeScript ESM 项目("type": "module",所有导入使用 .js 扩展名)。

目录布局

metabot/
├── src/
│   ├── index.ts                    # 入口
│   ├── config.ts                   # 配置加载器
│   ├── bridge/
│   │   ├── message-bridge.ts       # 核心调度器
│   │   ├── rate-limiter.ts         # 卡片更新节流
│   │   └── outputs-manager.ts      # 输出文件生命周期
│   ├── claude/
│   │   ├── executor.ts             # Agent SDK 封装
│   │   ├── stream-processor.ts     # SDK 消息 → 卡片状态
│   │   └── session-manager.ts      # 会话存储
│   ├── feishu/
│   │   ├── event-handler.ts        # 飞书事件解析
│   │   ├── card-builder.ts         # 交互卡片构建器
│   │   ├── message-sender.ts       # 飞书 API 客户端
│   │   └── doc-reader.ts           # 文档 → Markdown
│   ├── telegram/
│   │   └── ...                     # Telegram Bot 集成
│   ├── web/
│   │   └── ws-server.ts            # WebSocket 服务 + 静态文件
│   ├── api/
│   │   ├── http-server.ts          # REST API 服务
│   │   ├── voice-handler.ts        # 语音 API(STT + Agent + TTS)
│   │   ├── bot-registry.ts         # Bot 注册表
│   │   └── peer-manager.ts         # 跨实例联邦
│   ├── memory/
│   │   ├── memory-client.ts        # MetaMemory HTTP 客户端
│   │   └── memory-events.ts        # 变更事件发射器
│   ├── sync/
│   │   ├── doc-sync.ts             # 知识库同步服务
│   │   ├── sync-store.ts           # SQLite 持久化
│   │   └── markdown-to-blocks.ts   # MD → 飞书块
│   ├── skills/
│   │   └── metabot/
│   │       └── SKILL.md            # Agent 总线 skill
│   └── utils/
│       └── logger.ts               # 日志
├── bin/
│   ├── metabot                     # 服务管理 CLI
│   ├── mb                          # Agent 总线 CLI
│   ├── mm                          # MetaMemory CLI
│   └── fd                          # 飞书文档阅读 CLI
├── web/                            # Web UI 源码(React + Vite)
│   ├── src/
│   │   ├── components/             # React 组件
│   │   ├── hooks/                  # 自定义 Hook(WebSocket)
│   │   ├── store.ts                # Zustand 状态管理
│   │   └── theme.css               # 设计系统
│   └── vite.config.ts
├── tests/                          # Vitest 测试文件
├── docs/                           # 文档(MkDocs)
├── dist/                           # 编译输出(含 dist/web/)
├── mkdocs.yml                      # MkDocs 配置
├── bots.example.json               # 多 Bot 配置示例
├── .env.example                    # 环境配置示例
└── package.json

核心依赖

用途
@anthropic-ai/claude-agent-sdk Claude Code Agent SDK
@anthropic-ai/claude-code Claude Code CLI(peer 依赖)
@larksuiteoapi/node-sdk 飞书 SDK
tsx TypeScript 执行(开发)
vitest 测试框架