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赳赳老秦19 小时前
语义采集进阶实战:利用 OpenClaw AI 语义识别自动提取网页核心信息,无需手动编写选择器
java·运维·服务器·python·信息可视化·deepseek·openclaw
AC赳赳老秦2 天前
OpenClaw 多源采集公开行业数据:从原始信息到研究报告初稿的自动化实践
java·c语言·c++·python·php·deepseek·openclaw
AC赳赳老秦3 天前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw
AC赳赳老秦4 天前
风控岗应用:OpenClaw 采集公开司法与经营异常数据,自动生成企业风险评估报告
大数据·c语言·数据库·人工智能·python·php·openclaw
海兰4 天前
【应用】ClawPDF 完全指南:安装、部署与使用
人工智能·pdf·openclaw
海兰4 天前
mcporter — 安装部署及使用完全指南(四)
人工智能·agent·openclaw
comedate4 天前
DeepSeek Harness 与 OpenClaw 功能异同对比
openclaw·deepseekharness·差异
AC赳赳老秦6 天前
官方技术文档聚合实践:用 OpenClaw 批量抓取开源项目文档,构建离线可检索技术知识库
java·运维·服务器·python·信息可视化·deepseek·openclaw
七夜zippoe7 天前
OpenClaw + 隐私计算实战:联邦学习场景下的 Agent 数据隔离与安全协作
安全·agent·联邦学习·隐私计算·数据隔离·openclaw
AC赳赳老秦8 天前
网页公开附件自动采集:OpenClaw 批量下载页面内嵌 Word/Excel 附件,统一格式后结构化入库
java·python·word·php·excel·deepseek·openclaw