学习用 ~2,600 行 TypeScript 从零构建一个极简版 AI 助手: Build Your Own OpenClaw 欢迎 star
你是否好奇过 OpenClaw 这样的 AI 助手是怎么同时接入飞书、Telegram 等多个平台的?消息路由、Agent 工具调用循环、通道抽象又是怎么实现的?
本教程通过构建 MyClaw(一个教学用的 OpenClaw 最小实现)来回答这些问题。12 章教程,每章聚焦一个核心模块,带你从零实现一个可运行的多通道 AI 助手。
/skill-name 斜杠命令调用onboard 引导配置,doctor 健康诊断本教程共 12 章,每章聚焦一个核心模块。建议按顺序阅读,每章都附有完整的代码实现和设计解析。
| 章节 | 主题 | 你将学到 | 关键文件 |
|---|---|---|---|
| 01 | 项目初始化 | TypeScript + ESM 项目搭建 | package.json, tsconfig.json, myclaw.mjs |
| 02 | CLI 框架 | Commander.js 命令系统、依赖注入 | src/cli/program.ts, src/entry.ts |
| 03 | 配置系统 | Zod Schema 验证、YAML 配置管理 | src/config/schema.ts, src/config/loader.ts |
| 04 | 网关服务器 | WebSocket 服务、会话管理、认证 | src/gateway/server.ts, src/gateway/protocol.ts |
| 05 | Agent 运行时 | LLM 抽象、Agent Loop 、InteractiveMode TUI | src/agent/runtime.ts, src/agent/model.ts, src/cli/commands/agent.ts |
| 06 | 通道抽象 | 接口设计、EventEmitter 、多态 | src/channels/transport.ts, src/channels/terminal.ts |
| 07 | 消息路由 | 分层匹配、多 Agent 调度 | src/routing/router.ts |
| 08 | 飞书通道 | 外部平台集成、WebSocket 长连接 | src/channels/feishu.ts |
| 08b | Telegram 通道 | grammY 集成、Long Polling 、消息分块 | src/channels/telegram.ts |
| 09 | 插件系统 | 控制反转、运行时扩展 | src/plugins/registry.ts |
| 09b | Skills 系统 | SKILL.md 定义、斜杠命令、prompt 管理 | src/skills/loader.ts, src/skills/registry.ts |
| 10 | 整合运行 | 端到端调试、完整数据流 | 全部 |