GoForum › 🌐 V2EX
用 ~2,600 行 TypeScript 从零构建一个极简版 AI 助手 Build Your Own OpenClaw
jingzhou ·
2026-03-11 23:13 ·
0 次点赞 · 0 条回复
学习用 ~2,600 行 TypeScript 从零构建一个极简版 AI 助手: Build Your Own OpenClaw 欢迎 star
你是否好奇过 OpenClaw 这样的 AI 助手是怎么同时接入飞书、Telegram 等多个平台的?消息路由、Agent 工具调用循环、通道抽象又是怎么实现的?
本教程通过构建 MyClaw(一个教学用的 OpenClaw 最小实现)来回答这些问题。12 章教程,每章聚焦一个核心模块,带你从零实现一个可运行的多通道 AI 助手。
你将学到什么
- 通道抽象 — 如何设计统一接口,让一套代码同时服务 Terminal 、飞书、Telegram 等多个平台
- Agent 运行时 — LLM 调用、Tool Use 循环、对话历史管理的完整实现
- 消息路由 — 基于规则将不同通道的消息分发到不同 Agent/Provider
- 配置系统 — Zod Schema 验证 + YAML 配置的工程实践
- WebSocket 网关 — 带认证和会话管理的实时通信服务
- Skills 系统 — 基于 Markdown 的 prompt 管理,斜杠命令调用
- 插件架构 — 控制反转( IoC )模式的实际应用
适合谁
- 想深入理解 AI 助手/Agent 架构的开发者
- 想学习 TypeScript 工程实践的中级开发者
- 想为自己的项目构建多通道消息网关的工程师
特性
- 多通道 — Terminal + 飞书 + Telegram ,统一抽象可轻松扩展
- 多 LLM — Anthropic (Claude)、OpenAI (GPT-4o)、OpenRouter (免费模型可用)
- Coding Agent — 基于 pi-coding-agent 的内置工具集 (read/write/edit/bash),支持多轮 Tool Use
- Skills 系统 — 通过 SKILL.md 定义技能,
/skill-name斜杠命令调用 - 消息路由 — 规则引擎,灵活映射通道到 Agent
- WebSocket 网关 — 统一 API 控制面
- 插件系统 — 可扩展的运行时插件
- 开箱即用 —
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 | 整合运行 | 端到端调试、完整数据流 | 全部 |
0 条回复
添加回复
你还需要 登录
后发表回复