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.json 和 openclaw.plugin.json。

常见渠道插件:feishu、matrix、msteams、bluebubbles、zalo、voice-call 等。

核心渠道(src/ 内置):telegram、discord、slack、signal、imessage、web(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赳赳老秦3 天前
公开音频转写信息提取:OpenClaw 处理发布会与听证会文本并提取核心决策信息
大数据·开发语言·汇编·数据库·人工智能·deepseek·openclaw
AC赳赳老秦3 天前
财报附注表格精准提取:OpenClaw 从 PDF 年报附注挖掘隐藏明细,补齐财务分析维度
java·汇编·c++·python·青少年编程·deepseek·openclaw
鬼手点金3 天前
Claude Code示范案例-修复 Bug 工作流
java·服务器·前端·javascript·bug·openclaw
AC赳赳老秦4 天前
公开 CSV 数据集批量处理实战:用 OpenClaw 高效完成下载、清洗与标准化分析样本生成
java·开发语言·汇编·c++·python·deepseek·openclaw
猿小猴子14 天前
主流 Agent 之「OpenClaw」与「Hermes-Agent」介绍
ai·agent·openclaw·hermes·hermes-agent
倔强的小石头_16 天前
把 Mac mini 变成远程 AI 工作台:OpenClaw + 飞书 + cpolar 实战
飞书·mac·openclaw
宇文仲竹17 天前
docker agent 代替 openclaw 的 本地 简化 agent
openclaw
AC赳赳老秦24 天前
文旅市场公开数据分析:基于 OpenClaw 采集景区客流与门票公示数据,生成区域文旅热度监测报告
java·c语言·python·php·symfony·deepseek·openclaw
AC赳赳老秦24 天前
环保监测公开数据应用:OpenClaw 抓取空气与水质公开监测数据,开展区域环境质量趋势分析
大数据·数据库·人工智能·python·php·deepseek·openclaw
Blockbuater_drug24 天前
MCP Server 接入实战: 9种平台配置差异与凭证安全
claude·cursor·mcp·openclaw·hermes agent·dsh·agent 配置