当前位置: 首页 > news >正文

ZeroClaw 目录与关键文件详解

1. 顶层目录总览

以下文件数为当前仓库快照下的递归统计结果。

目录文件数作用
.cargo/2Cargo 构建与审计相关配置
.claude/26面向 Claude/Codex 类协作代理的技能与辅助资料
.gemini/1Gemini 相关风格规范文件
.githooks/2Git 钩子脚本
.github/31CI、Issue/PR 模板、Code Owners、自动化配置
.vscode/4VS Code 工作区建议配置
apps/37桌面应用,目前主要是tauri伴侣应用
benches/1Criterion 基准测试
crates/23工作区子 crate,如robot-kitaardvark-syszeroclaw-macros
dev/14本地开发、CI、Docker、本地测试辅助脚本
dist/3分发清单,如 Scoop/AUR
docs/253文档中心、多语言文档、维护者文档、参考文档
firmware/36微控制器/开发板固件与协议
fuzz/6模糊测试目标
marketplace/8部署市场模板,如 Dokploy、Coolify、Easypanel
scripts/16发布、浏览器、CI、部署脚本
src/386Rust 主工程源码
tests/57组件、集成、系统、live、手工测试
tool_descriptions/31工具描述的多语言 TOML 文本资源
web/68React + Vite Web 控制台

2. 顶层关键文件

文件作用
AGENTS.md仓库级 AI 代理协作说明,定义命令、风险级别、扩展点、开发约束
README.md产品入口文档、功能说明、快速启动
Cargo.toml工作区定义、主包定义、feature、构建 profile
Cargo.lock精确依赖锁定
build.rs自动构建/拷贝前端资源,保证 Gateway 能嵌入 Web 资产
install.sh跨平台一键安装/引导脚本
setup.batWindows 启动与安装脚本
Dockerfile容器化构建与运行镜像定义
docker-compose.yml容器编排入口
Justfile常用开发命令快捷入口
SECURITY.md安全策略与默认安全模型说明
CONTRIBUTING.md贡献指南
.env.example环境变量示例
deny.toml依赖许可/来源约束
clippy.toml/rustfmt.tomlRust 代码质量与格式配置

3.src/根文件

文件作用
src/main.rsCLI 主入口,解析命令并路由到各子系统
src/lib.rs统一导出模块与共享命令枚举,供库/二进制共同使用
src/cli_input.rsCLI 输入辅助逻辑
src/i18n.rs语言与本地化支持
src/identity.rsAgent 身份配置、人格与描述相关逻辑
src/migration.rs从 OpenClaw 等外部运行时迁移数据
src/multimodal.rs图片/多模态消息预处理与限制控制
src/util.rs通用工具函数

4.src/子目录逐项说明

目录文件数作用
agent/18Agent 核心编排层,负责 prompt、上下文、tool loop、历史裁剪、分类、思考流
approval/1对中高风险动作做审批门控
auth/6OAuth、认证资料、Profile、Token 刷新
channels/45消息渠道实现与共享运行逻辑
commands/3updateself_test等辅助命令
config/4配置 schema、序列化、prop 反射、workspace profile 管理
cost/3Token/API 使用成本跟踪与预算控制
cron/5调度任务模型、存储与调度器
daemon/1全量后台运行编排器,监督 gateway/channels/scheduler 等
doctor/1诊断、模型探测、trace 查看
gateway/14HTTP API、SSE、WebSocket、Webhook、静态前端服务
hands/2“手”这一类自主子任务定义与运行上下文存储
hardware/20硬件发现、板卡清单、数据手册、协议与工具注册
health/1进程内组件健康状态注册表
heartbeat/3心跳任务、Dead-man switch、状态文件
hooks/6生命周期 hook 与内置 hook
integrations/2集成目录与状态展示注册表
memory/25记忆后端、召回、衰减、快照、向量检索、缓存
nodes/2节点传输层,供 gateway 节点发现/连接使用
observability/10日志、Prometheus、OTel、Verbose、运行 trace
onboard/2初始配置向导和模型管理入口
peripherals/10外设抽象、串口连接、烧录与板卡集成
plugins/6WASM 插件系统
providers/19LLM Provider 抽象、工厂、回退、路由
rag/1针对硬件数据手册的 RAG 检索层
routines/3轻量事件驱动自动化规则引擎
runtime/5Native/Docker 运行时适配
security/23策略、沙箱、Pairing、OTP、审计、应急停止、密钥管理
service/1系统服务安装与管理
skillforge/4技能发现、评估、集成流水线
skills/6技能加载、审计、改进、创建
sop/7标准操作流程引擎
tools/98所有 Agent 工具实现与工具工厂
trust/3信任评分与类型定义
tui/4终端 UI onboarding
tunnel/8Cloudflare/Tailscale/ngrok/OpenVPN/自定义隧道
verifiable_intent/6Verifiable Intent 凭证链与约束验证

5.src/中最关键的几个目录

src/agent/

这是“脑子”所在。

关键内容:

  • agent.rsAgentAgentBuilder
  • loop_.rs:多轮工具调用主循环
  • prompt.rs:系统提示构造
  • memory_loader.rs:记忆上下文装载
  • dispatcher.rs:原生 tool call / XML 风格 tool call 分发
  • classifier.rs:按 query hint 路由模型

src/providers/

这是“模型后端适配层”。

关键内容:

  • traits.rs:统一 Provider 接口
  • mod.rs:Provider 工厂和别名解析
  • reliable.rs:重试、回退、认证错误判定
  • router.rs:按 hint 或路由规则切换模型

src/channels/

这是“消息输入输出总线”。

关键内容:

  • traits.rs:统一 Channel 接口
  • mod.rs:渠道启动、会话管理、共享处理逻辑
  • telegram.rs:Telegram 实现
  • 其他单文件:Discord、Slack、Signal、Email、Matrix 等各自实现

src/tools/

这是“能力库”。

关键内容:

  • traits.rs:统一 Tool 接口
  • mod.rs:工具工厂与装配逻辑
  • 细分工具文件:shell、file、memory、browser、cron、MCP、SOP、project intel 等

src/security/

这是“安全边界层”。

关键内容:

  • policy.rs:权限/风险/路径/命令限制核心逻辑
  • pairing.rs:设备配对与 bearer token 认证
  • otp.rs:OTP 验证
  • audit.rs:安全审计
  • detect.rsdocker.rsbubblewrap.rsfirejail.rslandlock.rs:沙箱后端

src/gateway/

这是“控制平面”。

关键内容:

  • mod.rs:Axum 路由与 AppState 装配
  • api.rs:REST API
  • api_pairing.rs:增强配对与设备管理
  • ws.rs:WebSocket 聊天
  • sse.rs:事件流
  • static_files.rs:嵌入式前端资源服务

6. 其他重要顶层子结构

6.1web/

子目录/文件作用
web/src/pages/页面级功能,如 Dashboard、AgentChat、Tools、Cron、Memory、Config、Cost、Logs、Doctor、Pairing、Canvas
web/src/components/通用组件和布局组件
web/src/hooks/useAuthuseApiuseDraftuseSSEuseWebSocket
web/src/lib/API 客户端、鉴权、SSE/WS 封装、i18n、基础路径工具
web/src/contexts/主题与颜色主题上下文
web/public/静态资源
web/package.json前端依赖与构建脚本
web/src/App.tsx前端路由总入口

结论:生产态 Web UI 不是单独服务,而是被 Rust Gateway 嵌入和托管。

6.2apps/tauri/

子目录/文件作用
src/lib.rsTauri 应用装配、托盘、自动配对、健康轮询
src/commands/Tauri 与前端之间的 invoke bridge
src/tray/系统托盘菜单与事件
src/gateway_client.rs连接 Gateway 的轻量客户端
tauri.conf.jsonTauri 配置,前端地址直接指向 Gateway 的/_app/
capabilities/Tauri 权限能力定义
icons/桌面端图标资源

结论:桌面端是 Gateway 的伴侣壳,不是独立业务后端。

6.3crates/

子 crate作用
crates/robot-kit/面向机器人/树莓派场景的独立工具包
crates/aardvark-sys/Total Phase Aardvark USB 适配器的底层绑定 stub
crates/zeroclaw-macros/Configurable等过程宏,给配置系统做字段反射与 secret 处理

6.4firmware/

子目录作用
arduino/Arduino 草图
esp32/ESP32 固件
esp32-ui/带 UI 的 ESP32 固件样例
nucleo/STM32 Nucleo 固件
pico/RP2040/Pico 固件
uno-q-bridge/Uno Q 桥接工程,含 Arduino 草图和 Python 端
zeroclaw-fw-protocol/固件侧协议 crate

6.5tests/

子目录文件数作用
component/12单组件/单边界测试
integration/14模块联动测试
system/2更完整的系统流测试
live/5需要真实外部依赖的 live 测试
manual/7手工/脚本型测试
support/7测试辅助基建
fixtures/6测试样本数据

6.6docs/

子目录文件数作用
architecture/1架构 ADR
assets/10文档图片与架构图
contributing/18贡献与 CI 规则
getting-started/1入门主题
hardware/8硬件相关说明
i18n/169多语言文档
maintainers/8维护者视角的仓库地图、重构候选等
ops/6运行、排障、资源与部署
reference/10CLI、API、配置参考
security/7安全策略与路线图
setup-guides/8安装/引导指南
superpowers/2特定能力设计文档

7. 当前最关键的文件

以下文件对理解项目最重要。

文件当前行数作用为什么重要
src/main.rs2809CLI 主入口所有命令的实际路由都在这里
src/lib.rs547模块导出与共享命令枚举二进制与库层的连接点
src/config/schema.rs14917全局配置 schema、默认值、加载/保存、校验是整个系统的配置中枢
src/agent/agent.rs1883Agent结构与 BuilderAgent 实例装配中心
src/agent/loop_.rs8702Tool loop 和主推理流程决定 Agent 的真实运行行为
src/providers/mod.rs3442Provider 工厂与别名体系决定模型接入广度和复杂性
src/channels/mod.rs11136渠道启动与共享运行逻辑消息系统的总装配层
src/tools/mod.rs1308工具工厂和全量工具注册Agent 行为上限由它定义
src/security/policy.rs3092安全策略与执行限制真正的安全边界核心
src/gateway/mod.rs3316HTTP 路由与 Gateway 组装Web/API/Webhook 的总入口
src/onboard/wizard.rs7220引导安装与配置流程首次使用体验关键文件
src/daemon/mod.rs1097后台运行监督器生产运行模式核心
build.rs163Web 构建与资源注入决定前端是否被正确嵌入二进制
web/src/App.tsx235前端路由总入口决定控制台信息架构
apps/tauri/src/lib.rs120桌面伴侣主装配决定桌面端与 Gateway 的耦合方式

8. 从目录设计看出的几个结论

8.1 这是一个“平台型仓库”

不是单一业务目录,而是:

  • Runtime
  • Web
  • Desktop
  • Firmware
  • Docs
  • Marketplace
  • Test/Fuzz/Bench

全部放在一个 monorepo/workspace 内。

8.2src/已经明显进入中后期复杂度

单看src/就有386个文件,而且多个关键文件行数已经非常高,后续维护一定要重视拆分。

8.3 Web 和桌面端都依赖 Gateway

这是一个很重要的设计点。它意味着:

  • 后端控制面是统一的
  • Web/桌面不是两套不同产品
  • Gateway 是控制中枢

8.4 文档体系非常重

docs/253个文件,i18n/占了其中绝大多数。说明项目已经进入“对外传播 + 多语言运营 + 维护治理”阶段。

http://www.zskr.cn/news/1431228.html

相关文章:

  • AI工具更新总被截胡?揭秘头部AI团队内部使用的“语义变更检测”技术:基于Diff-BERT的增量日志理解模型(含开源权重)
  • 长沙专业的GEO品牌找哪家?3家正规企业实测推荐
  • 零基础玩转AI图像生成:GPT-Image-2完全指南
  • 不只是机械革命:从ACPI DSDT错误看Linux内核升级的硬件兼容性“暗礁”
  • MH Markets迈汇的沟通效率表现怎么样?
  • 别再死磕公式了!用Python+NumPy手把手模拟MCMC采样(附完整代码)
  • 80251扩展数据与位变量声明及Keil C251应用
  • 腾讯云Windows Server上,如何一劳永逸地关闭Defender SmartScreen弹窗(附详细步骤与风险说明)
  • 3分钟解锁网页视频自由:VideoDownloadHelper免费插件实战手册
  • STM32F103用USART3连陶晶串口屏实时显示PA1采集的电压值(附TFT同步对比)
  • 2026年5月性价比高的慢速静音粉碎机实力厂家哪家好 - 2026年企业资讯
  • 凸限制算法在计算流体力学中的IDP性质实现
  • 从一次炼丹(训练模型)失败说起:我是如何为Linux服务器配置OOM策略来保住我的Python进程的
  • 实盘导向的Python股票交易工具包:整合AKShare数据、QMT直连下单与因子模板
  • YOLOv5结合双目相机实现实时目标三维定位与距离输出(含训练部署全流程代码)
  • 书匠策AI写毕业论文有多野?一个教育博主带你拆解这条“论文流水线“的科普实验
  • Claude Code 100个真实案例 - 用AI绘制CAD机械图纸(工程师看了直呼内行)
  • 手把手教你将DOTA遥感数据集转成COCO格式(附完整Python代码与可视化对比)
  • 别再手动分区了!用targetcli在CentOS 7上快速配置iSCSI共享存储(附防火墙和开机自启设置)
  • Go2 ROS2 SDK终极指南:让四足机器人实现智能导航与避障
  • 2026年厦门精益生产与数字化转型管理咨询服务推荐指南 - 精选优质企业推荐官
  • LizzieYzy:3个核心功能,带你从围棋新手到AI分析高手
  • 别再只备份系统了!用Timeshift+BackInTime打造Linux Mint双保险数据安全方案
  • 花生米炒货机核心技术参数解析与场景适配指南:燃气炒货机/电磁炒货机厂家/胡麻炒货机/花生米炒货机/五谷杂粮炒货机/选择指南 - 优质品牌商家
  • 手把手教你用OSX-KVM项目搞定macOS虚拟机:从下载镜像到virt-manager配置避坑指南
  • 2026年唐果子市场价格盘点 - mypinpai
  • Keil MDK开发板USB RNDIS协议栈实战指南
  • 企业级AI应用隐私防护实战指南(GDPR/CCPA/《个人信息保护法》三重合规对照表)
  • 英雄联盟效率革命:LeagueAkari如何用5大智能模块为你节省90%操作时间?
  • AI4Math 综述:人工智能如何重塑数学研究