# OpenClaw 源码解读（1）：项目概览与快速上手

> OpenClaw 火爆之后，老金通过源码解读系列，带你深入剖析这个「长了手的 Claude」背后的技术原理。第一篇从项目概览入手。

- 原文链接: https://laojin.blog/blog/20260304_openclaw_source_code_1
- 作者: 老金
- 发布日期: 2026-03-04
- 标签: OpenClaw, 源码解读, AI Agent, 开源项目

---

OpenClaw 自从年前火爆之后，各大软件开发公司内部开始广泛使用，独立开发者也通过它来实现自动化工作，大大提升效率。但老金觉得，任何工具想使用得好，还是要深入地剖析它的技术原理，最直接的方式，就是源码解读，后面老金通过一系列文章来分享对 OpenClaw 源码的解读。

## 从本地中枢到万物互联

OpenClaw 的设计理念可以概括为："网关只是控制平面，助手本身才是真正的产品"。它不仅是一个聊天机器人，更是一个高度自动化的生活与工作管家。它的核心特性包括：

- **本地优先的网关（Local-first Gateway）**：OpenClaw 提供了一个基于单一 WebSocket 网络的控制平面中枢，集中负责会话、频道接入、工具调用以及系统事件的统一调度。

- **多渠道收件箱（Multi-channel inbox）**：它打通了我们在日常生活中使用的几乎所有通讯工具，支持直接在 WhatsApp、Telegram、Slack、Discord、Google Chat、Signal、iMessage 等多达 20 余种消息渠道中与你的助手对话。

- **多智能体路由（Multi-agent routing）**：系统能够将不同渠道、不同账户或对等节点的入站请求，精准路由到彼此隔离的专属 Agent 工作区中，实现多会话的独立管控。

- **跨端节点机制（Nodes）**：不仅仅是文本对话，OpenClaw 允许将 macOS、iOS 或 Android 设备作为网络中的"节点（Node）"进行配对，从而能够直接调用设备的摄像头（拍照/录像）、屏幕录制、获取地理位置，甚至执行诸如 `system.run` 的系统底层命令。

## TypeScript 主导，原生语言赋能

为了满足跨平台互通与设备底层的强控制力，OpenClaw 在技术选型上十分务实：

- **运行环境**：它的网关守护进程依赖于现代化的运行时环境，官方推荐使用 **Node.js ≥ 22** 来保证最佳性能。

- **前端与网关主逻辑**：仓库语言统计显示，核心代码中有高达 **86.5% 的 TypeScript**，这些代码构成了项目的基石，涵盖了后端路由、WebSocket 通信以及 Agent 运行时的相关逻辑。

- **多端原生能力**：为了让助手能够真正在移动端和桌面端执行设备级操作（例如实现持续语音拾音、调用原生的系统 TTS 等），项目还辅以 **8.9% 的 Swift** 用于构建 macOS 和 iOS 节点，以及 **2.1% 的 Kotlin** 用于打造 Android 节点应用。

## 模块化架构

克隆 OpenClaw 的源码后，你会发现其工程结构具有极高的模块化水准。以下是核心代码目录的功能划分概览：

- **`src/`**：包含 Gateway（网关）的主干逻辑与核心网络路由，是整个后端的"控制大脑"。

- **`packages/`**：各类通用的基础代码包，用于沉淀与抽象核心模块，供各个子项目调用。

- **`apps/`**：伴随应用（Companion apps）的温床，包含了不同操作系统的原生节点应用源码，比如 macOS 状态栏控制程序、iOS 和 Android 端的节点应用。

- **`ui/`**：存放由 Gateway 直接提供服务的 Web 界面资源，例如 Control UI 仪表盘与内嵌的 WebChat 前端代码。

- **`skills/`**：技能扩展（ClawHub）的脚本与注册表存放处，包含了用于强化 Agent 能力的打包技能（Bundled skills）与脚本框架。

---

从工程的架构和设计思想可看出，OpenClaw 的作者开发功力不同一般。

项目发起人 Peter Steinberger 及开源社区不仅赋予了它有趣的产品灵魂，更在底层构建了一个极具扩展性和安全性的工程奇迹。

在下一篇文章中，我们将正式深入源码，探究这个万物互联的强悍中枢——**OpenClaw Gateway 控制平面**究竟是如何运作的。
