/sdcard/.androidforclaw/ ← 项目数据根目录 (对齐 OpenClaw ~/.openclaw/)
├── config/
│ └── openclaw.json ← 主配置文件
├── workspace/
│ ├── .androidforclaw/
│ │ └── workspace-state.json
│ ├── skills/ ← 用户自定义 Skills (优先级最高)
│ ├── sessions/ ← 会话历史 (JSONL)
│ └── memory/ ← 持久化记忆
├── skills/ ← 托管 Skills (ClawHub 安装)
└── logs/
┌──────────────────────────────────────────┐
│ Gateway (已实现) │ WebSocket RPC + 多渠道 + 会话路由
├──────────────────────────────────────────┤
│ Agent Runtime (核心) │ AgentLoop · Tools · Skills · Memory
├──────────────────────────────────────────┤
│ Android Platform │ Accessibility · Termux · MediaProjection
└──────────────────────────────────────────┘
核心循环: agent/loop/AgentLoop.kt
LLM 推理 (Extended Thinking) → Tool Calls → Observations → LLM → ... → stop
关键文件:
core/MainEntryNew.kt— 主入口agent/context/ContextBuilder.kt— 22 段系统提示词构建(对齐 OpenClaw)agent/tools/ToolRegistry.kt— 工具注册中心agent/skills/SkillsLoader.kt— Skills 三层加载器
19 个工具,分为以下类别:
| 类别 | 工具 | 实现文件 |
|---|---|---|
| 设备操作 | device (snapshot/tap/type/scroll/press/open) |
agent/tools/device/DeviceTool.kt |
| 文件 | read_file / write_file / edit_file / list_dir |
*FileTool.kt / ListDirTool.kt |
| 执行 | exec |
agent/tools/ExecFacadeTool.kt (自动路由 Termux 或内置 Shell) |
| JavaScript | javascript |
QuickJS 引擎 |
| 网络 | web_search / web_fetch |
WebSearchTool.kt / WebFetchTool.kt |
| 技能 | skills_search / skills_install |
SkillsHubTool.kt |
| 记忆 | memory_search / memory_get |
agent/tools/memory/ |
| 配置 | config_get / config_set |
ConfigGetTool.kt / ConfigSetTool.kt |
| Android | list_installed_apps / install_app / start_activity / stop |
各自独立文件 |
Skills = 教 Agent 如何使用工具的 Markdown 文档。三层优先级:
- 工作区 Skills (最高) —
/sdcard/.androidforclaw/workspace/skills/ - 托管 Skills (中等) —
/sdcard/.androidforclaw/skills/(ClawHub 安装) - 内置 Skills (最低) —
app/src/main/assets/skills/
当前内置 Skills: browser · debugging · data-processing · weather · feishu (含 8 个子技能) · clawhub · model-usage · session-logs · install-app · channel-config · model-config · skill-creator
基于 OpenClaw Protocol v3 的 WebSocket RPC 服务,运行在 ws://127.0.0.1:8765。
架构:
┌──────────────────────────────────┐
│ Gateway Server │
│ ┌──────────┐ ┌──────────┐ │
│ │ Feishu │ │ Discord │ ... │ 6 个渠道 Channel
│ └────┬─────┘ └────┬─────┘ │
│ └──────┬───────┘ │
│ Session Router │
│ │ WebSocket RPC │
└──────────────┼───────────────────┘
│
┌──────────────┼───────────────────┐
│ Agent Runtime (本地) │
│ AgentLoop + Tools + Skills │
└──────────────────────────────────┘
关键文件:
gateway/GatewayWebSocketServer.kt— WebSocket 服务端gateway/GatewayController.kt— RPC 方法注册与路由gateway/GatewayService.kt— 服务管理gateway/methods/— 各 RPC 方法实现 (Agent, Config, Health, Models, Sessions, Skills, Tools, Cron)
openclaw-android/ 模块提供 OpenClaw 的 Android 原生实现:
NodeRuntime.kt— 连接管理(operator + node session)ChatController.kt— 聊天状态管理(health、bootstrap、history)- UI 组件:
ChatSheetContent、RootScreen、PostOnboardingTabs
- 用途: UI 操作(点击、滑动、输入)和 UI 树遍历
- 实现:
accessibility/AccessibilityProxy.kt(独立模块extensions/observer/)
- 用途: 屏幕截图
- 实现:
accessibility/MediaProjectionHelper.kt
- 用途: Shell 命令执行
- 实现:
extensions/termux/(内嵌 Termux 运行时,无需独立安装) - 路由:
ExecFacadeTool.kt自动判断 Termux 可用性
- 用途: 暴露无障碍/截屏能力给外部 Agent (端口 8399)
- 实现:
mcp/
com.xiaomo.androidforclaw/
├── core/ # 应用核心
│ ├── MainEntryNew.kt # Agent 主入口
│ ├── MyApplication.kt # Application 生命周期
│ └── ForegroundService.kt # 保活服务
├── agent/
│ ├── loop/AgentLoop.kt # 核心执行循环
│ ├── context/ContextBuilder.kt # 系统提示词 (22 段)
│ ├── tools/ # 19 个工具 + device/ + memory/
│ ├── skills/SkillsLoader.kt # Skills 三层加载
│ └── session/SessionManager.kt # 会话管理
├── gateway/ # Gateway WebSocket RPC
│ ├── GatewayWebSocketServer.kt
│ ├── GatewayController.kt
│ └── methods/ # RPC 方法实现
├── channel/ # 多渠道管理
├── providers/ # LLM Provider (OpenRouter, Anthropic, etc.)
├── config/ # 配置加载 (ConfigLoader, ProviderRegistry)
├── ui/
│ ├── activity/ # 15 个 Activity (Compose)
│ ├── compose/ # Compose UI 组件
│ └── float/ # 悬浮窗
├── service/ # 系统服务 (ClawIME 输入法)
├── updater/ # 应用更新
└── util/ # 工具类
extensions/
├── feishu/ # 飞书渠道 (含 8 个 Skill)
├── discord/ # Discord 渠道
├── telegram/ # Telegram 渠道
├── slack/ # Slack 渠道
├── signal/ # Signal 渠道
├── whatsapp/ # WhatsApp 渠道
├── observer/ # 无障碍 + 截屏 (独立 APK)
├── termux/ # 内嵌 Termux 运行时
└── BrowserForClaw/ # AI 浏览器
openclaw-android/ # OpenClaw Android 原生实现
self-control/ # AI 自我管理模块
主配置文件: /sdcard/.androidforclaw/config/openclaw.json
包含:模型 Provider 配置、Agent 默认参数、渠道配置。
模型配置 UI: ModelConfigActivity + ModelSetupActivity(首次启动引导)
- README.md — 项目概览
- MAPPING.md — OpenClaw ↔ AndroidForClaw 源码映射
架构版本: v3.0 最后更新: 2026-03-22 对齐 OpenClaw 版本: v0.9.x