OpenClaw 学习系列之二:项目地图

项目地图

打开代码前先看这份地图,快速定位你想找的东西。

顶层目录

复制代码
openclaw/
├── src/                 # 核心源码(TypeScript ESM)
├── extensions/          # 渠道和功能插件(独立 npm 包)
├── apps/                # 原生应用(iOS / Android / macOS)
├── ui/                  # Web 前端
├── packages/            # 工作区共享包
├── scripts/             # 构建和运维脚本
├── docs/                # 文档(Mintlify)
├── test/                # 测试工具
└── dist/                # 编译输出

src/ 核心结构

按功能分组,列出你最可能需要看的目录:

消息入口和路由

目录 作用 关键文件
src/gateway/ Gateway 服务器主体 server.impl.ts (主入口), server-channels.ts
src/gateway/server-methods/ RPC 方法处理器 chat.ts, send.ts, types.ts
src/routing/ 消息路由决策 resolve-route.ts, session-key.ts
src/channels/ 渠道抽象与注册 plugins/types.plugin.ts, plugins/types.adapters.ts
src/auto-reply/ 自动回复分发 dispatch.ts, reply/

Agent 和 AI 调用

目录 作用 关键文件
src/agents/ Agent 运行时 pi-tools.ts, context.ts
src/agents/pi-embedded-runner/ 嵌入式 Agent 执行器 run.ts

配置和状态

目录 作用 关键文件
src/config/ 配置加载与校验 types.ts (类型导出), types.base.ts, io.ts
src/sessions/ 会话持久化 session-key-utils.ts
src/memory/ 长期记忆 (SQLite + 向量)

基础设施

目录 作用 关键文件
src/cli/ CLI 入口和命令路由 entry.ts, run-main.ts, deps.ts
src/commands/ 各 CLI 子命令实现
src/plugins/ 插件注册表和运行时 registry.ts, types.ts
src/plugin-sdk/ 插件开发公共 SDK
src/infra/ 底层工具(日志、错误、进程) agent-events.ts
src/shared/ 共享工具函数 lazy-runtime.ts
src/media/ 媒体处理管道

extensions/ 插件目录

每个插件是独立的 npm 包,有自己的 package.jsonopenclaw.plugin.json

常见渠道插件:feishumatrixmsteamsbluebubbleszalovoice-call 等。

核心渠道(src/ 内置):telegramdiscordslacksignalimessageweb(WhatsApp)。

运行时数据位置

数据 路径 格式
配置文件 ~/.openclaw/openclaw.json JSON5
会话记录 ~/.openclaw/sessions/ JSONL (追加写)
记忆数据库 ~/.openclaw/memory/ SQLite + 向量嵌入
凭据 ~/.openclaw/credentials/ 各类 token (权限 0600)
Agent 日志 ~/.openclaw/agents/<id>/sessions/*.jsonl JSONL

开发命令速查

bash 复制代码
pnpm install          # 安装依赖
pnpm build            # 类型检查 + 编译
pnpm tsgo             # 仅类型检查
pnpm check            # lint + format 检查
pnpm format:fix       # 自动格式化
pnpm test             # 运行测试 (vitest)
pnpm test -- src/routing/resolve-route.test.ts  # 运行单个测试
pnpm dev              # 开发模式运行 CLI
pnpm openclaw ...     # 以 dev 模式执行 CLI 命令
相关推荐
AC赳赳老秦2 小时前
OpenClaw text-translate技能:多语言批量翻译,解决跨境工作沟通难题
大数据·运维·数据库·人工智能·python·deepseek·openclaw
Swift社区2 小时前
Guardrails 实战:如何为 OpenClaw 构建 AI 行为护栏系统
人工智能·安全·openclaw
arvin_xiaoting3 小时前
OpenClaw学习总结_IV_认证与安全_5:Secret管理与轮换详解
ai agent·openclaw·认证安全
小手智联老徐4 小时前
OpenClaw 2026.4.10 发布:主动记忆系统登场,多平台集成与安全能力全面升级
安全·ai编程·openclaw
feasibility.4 小时前
OpenClaw+LibTV视频生成实测(含安装+配置+分析):ai生成工作流很规范,但画面在“打架“
人工智能·aigc·音视频·内容运营·短剧·openclaw·libtv
量子炒饭大师5 小时前
【OpenClaw修炼宝典】——【Windows安装篇】想玩《爪子船长》复刻版却卡在安装?OpenClaw 从零环境搭建与编译全攻略 (小白避坑指南)
windows·openclaw
yuzhucu7 小时前
ClawHub 切换国内镜像解决速率限制问题
openclaw
飞凌嵌入式8 小时前
如何用JishuShell在RK3588核心板上快速部署OpenClaw?
arm开发·人工智能·嵌入式硬件·openclaw
skilllite作者9 小时前
自进化 Agent 的 skills 别长成烟囱:从多入口分叉到统一发现与 spec 防火带
人工智能·算法·rust·openclaw·agentskills