核心资源汇总
| 资源类型 | 名称/链接 | 简介 | 推荐用途 |
|---|---|---|---|
| 官方源码仓库 | 主仓库:petersteinberger/openclaw 基金会仓库:openclaw-foundation/openclaw | 项目源码所在地。前者是创始人维护的主库,后者是移交基金会后的长期维护版。 | 一切阅读的起点。请务必先访问这两个地址,确认您能顺利访问代码。 |
| 深度系统学习 | 《深入OpenClaw》 :GitBook 链接 | 全网第一本OpenClaw源码专著,从项目哲学到代码实现,分章节详细讲解,内容非常扎实。 | 核心阅读路线图。建议按照此书的目录结构,系统地啃下源码。 |
| 入门与架构解析 | CSDN 源码指南:OpenClaw 源码指南:解锁目录结构与模块划分 “地图” 阿里云调用链分析:OpenClaw核心源码解读:从Gateway到Pi-embedded的完整调用链分析 | 前者是绝佳的“源码地图”,帮你快速理解src/下每个目录的职责;后者深入剖析了核心调用流程。 | 建立全局认知。在深入细节前,先通过这两篇文章把握整体架构和数据流转。 |
| 开发与调试环境 | CSDN 工作流指南:OpenClaw 源码安装后的日常开发工作流 | 详细介绍了如何在Ubuntu下搭建开发环境、更新代码、区分编译产物,非常实操。 | 动手实践基础。在开始阅读前,先在自己的机器上把项目跑起来,边运行边调试。 |
| 特定主题深挖 | 火山引擎安全架构:解析 OpenClaw 源码架构-安全与权限 博客园群聊机制:OpenClaw怎么做到不串台、能并行、还总回对群 cubic.dev 安全漏洞分析:We found and fixed critical security vulnerabilities in OpenClaw | 分别深入探讨了项目的安全设计、群聊会话管理逻辑,以及真实的代码漏洞案例。 | 进阶与专题研究。当你想深入了解某个具体模块(如安全、会话管理)或学习代码审计思路时,这些是极佳的素材。 |
OpenClaw 源码结构
OpenClaw的源代码遵循清晰的模块化设计,所有核心业务代码均位于 src/ 目录下。以下是其主要模块的划分与职责:
| 核心目录 | 核心职责与关键文件 |
|---|---|
gateway/ | 统一调度中心。负责处理所有连接、身份认证、全局路由和服务启动。 - server.ts: WS+HTTP双协议主服务器入口。 - server-startup.ts: 服务启动核心流程(加载配置、模块、通道)。 - auth/: 挑战-应答式身份认证模块。 - sessions/: 基于SQLite的会话管理。 |
agents/ | AI核心执行引擎。负责核心业务逻辑处理、沙箱执行和子Agent管理。 - pi-embedded-runner/run.ts: 嵌入式Agent运行时主入口 (runEmbeddedPiAgent())。 - tool-policy-pipeline.ts: 工具调用的安全策略管道。 - sandbox/: 封装安全的沙箱执行环境。 |
channels/ | 多平台适配器。实现与外部平台(如Telegram, WhatsApp, Slack, Discord等20+平台)的消息收发与事件解析。 |
memory/ | 向量记忆存储。基于sqlite-vec实现轻量级、本地化的长期记忆功能,支持AI的上下文理解。 |
skills/ | 内置原生技能库。提供可直接调用的基础能力,如time.ts(时间)、weather.ts(天气)等。 |
plugins/ | 插件系统。通过plugin-sdk/提供SDK,支持第三方开发者扩展项目能力。 |
cli/ | 命令行工具集。包含gateway启动、onboard初始化等子命令及交互式配置向导,方便快速操作。 |
routing/ | 消息路由。负责模块间的消息转发与分发,实现模块解耦。 |
security/ | 安全工具集。提供加解密、权限校验、风险检测等通用安全功能。 |
ui/ | Web UI前端组件。实现可视化控制界面,包含canvas-host/(画布宿主)等核心组件。 |
顶级关键文件:
openclaw.mjs: CLI工具的全局入口文件。Dockerfile.sandbox*: 多个沙箱运行环境的Docker镜像定义。VISION.md: 项目的设计哲学与发展规划(理解项目初衷的必读文件)。SECURITY.md: 项目安全规范。