iClaw:把 OpenClaw 的 Agent 架构塞进 iPhone——纯端侧、零服务器
> 来源: github.com/samhjn/iClaw
> 网站: iclaw.shadow.mov
> 作者: samhjn / ShadowMov
> 协议: MIT
> 技术栈: Swift + SwiftUI + SwiftData
> 研究时间: 2026-04-02
🎯 一句话版本
一个 iOS 原生 AI Agent 应用——直接受 OpenClaw 启发,把 SOUL.md / MEMORY.md / USER.md、子 Agent、Cron 调度、Skill 系统全部搬到 iPhone 上,纯端侧运行,零服务器依赖。内置 WKWebView 沙箱做 JS 执行和浏览器自动化。
🆚 iClaw vs OpenClaw
这是 README 直接给出的对比,也是理解 iClaw 定位的关键:
| 维度 | OpenClaw | iClaw |
|---|---|---|
| **架构** | Client-Server(需要 Gateway) | 纯 iOS standalone |
| **技术栈** | TypeScript + Node.js | Swift + SwiftUI + SwiftData |
| **渠道** | 29+ 消息平台 | 专用 iOS 原生体验 |
| **代码执行** | 服务端 shell + Docker 沙箱 | WKWebView JS 沙箱,离线可用 |
| **数据存储** | JSONL + vector DB on Gateway | SwiftData 端侧,零云依赖 |
| **设置** | Node ≥22,配置 Gateway | Xcode build,完事 |
| **目标用户** | 跑 VPS/home server 的 power user | 任何 iPhone 用户 |
> "OpenClaw is your AI command center on a server; iClaw puts the same power directly into your pocket."
🧠 共享的 DNA
iClaw 明确致敬 OpenClaw 的 Brain-Body-Soul 模型:
- SOUL.md → Agent 人格
- MEMORY.md → 持久知识
- USER.md → 用户画像
- 子 Agent → 继承父 agent 的 soul 配置
- Cron 调度 → BGTaskScheduler + Deep Link (
iclaw://cron/trigger/{jobId}) - Skill 系统 → 可安装、一个 skill 可服务多个 agent
- 多 LLM Provider → OpenAI / DeepSeek / OpenRouter / Ollama
🔧 核心能力
1. 代码执行(端侧)
WKWebView 沙箱里跑 JavaScript,两种模式:
- repr: 表达式求值(快速计算)
- script: 完整脚本执行
自动崩溃恢复 + 代码片段保存/复用。
2. 浏览器自动化
内置 WKWebView 浏览器,agent 可以通过 function calling 驱动:
browser_navigate / browser_click / browser_input / browser_extract
browser_execute_js / browser_get_page_info / browser_select
browser_wait / browser_scroll
- Mutex 锁保证同时只有一个 agent 控制浏览器
- 用户可随时看到 banner 并接管
- 简化 DOM 提取给 agent 可读的页面结构
3. 上下文管理
- 自动压缩:token 超限时压缩旧消息 + 摘要注入 system prompt
- RAG 就绪的数据模型(为跨 session 检索准备)
- SwiftData 本地持久化
4. 工具系统
| 工具 | 功能 |
|---|---|
| `read_config` / `write_config` | 读写 agent mind files |
| `execute_javascript` | 代码执行 |
| `save_code` / `load_code` / `list_code` | 代码管理 |
| `create_sub_agent` / `message_sub_agent` | 子 agent 生命周期 |
| `schedule_cron` / `unschedule_cron` | 定时任务 |
| `browser_*` × 9 | 浏览器自动化 |
🏗️ 架构
iClaw/Services/
├── LLM/ # API client + SSE parser
├── Agent/ # Agent 管理
├── Session/ # Session + context compression
├── Prompt/ # System prompt 构建
├── FunctionCall/ # Tool 定义 + 路由
├── CodeExecution/ # JS 执行引擎
├── Browser/ # 浏览器自动化
├── CronJob/ # 定时调度
└── Skill/ # Skill 管理
技术栈很 Apple-native:SwiftUI + @Observable + SwiftData + URLSession SSE。用 XcodeGen 管理项目配置。
💡 与我们的关联
1. OpenClaw 生态的重要验证
这不是"参考了 OpenClaw"——是直接采用了 Brain-Body-Soul 模型,SOUL.md / MEMORY.md / USER.md 命名都完全一样。说明 OpenClaw 的 agent 架构哲学正在被其他项目认可和复制。
2. 补足了 OpenClaw 的移动短板
OpenClaw 的官方 iOS app(MyClaw)是 Gateway 的客户端,需要服务器。iClaw 是完全独立的——没有 VPS 的用户也能用 agent。两者定位互补:
Power user (有 VPS) → OpenClaw Gateway + MyClaw
普通 iPhone 用户 → iClaw standalone
3. WKWebView 的巧妙利用
在 iOS 沙箱限制下,用 WKWebView 同时解决了代码执行和浏览器自动化两个问题——这是 iOS 上的 pragmatic 方案。但也意味着只能跑 JS,不能跑 Python/Shell。
4. BGTaskScheduler 的 Cron 限制
iOS 的后台任务调度受系统严格控制(电池优化),不像 OpenClaw Gateway 可以精确定时。Deep Link 触发 (iclaw://cron/trigger/{jobId}) 是一个绕过方案,但可靠性不如服务端 cron。
5. 开源 MIT——可以学习
纯 Swift 实现的 agent 架构,代码结构清晰(Services 目录分工明确),对想在 iOS 上构建 agent 能力的开发者是好参考。
⚠️ 局限
| 局限 | 说明 |
|---|---|
| **只能跑 JS** | WKWebView 沙箱限制,无法执行 Python/Shell |
| **无多渠道** | 只有 iOS 界面,不能像 OpenClaw 对接 WhatsApp/Telegram |
| **后台调度受限** | iOS BGTaskScheduler 不保证精确触发时间 |
| **无 App Store** | 目前只能 Xcode 自编译(需开发者账号) |
| **新项目** | 星标少,社区早期 |
📊 评分
| 维度 | 评分(/10) |
|---|---|
| 创新性 | 7.5 — 概念来自 OpenClaw,创新在于端侧移植 |
| 实用性 | 7.0 — 功能全面但需 Xcode 编译,门槛较高 |
| 技术质量 | 8.0 — 纯 Swift 原生、架构清晰、技术选型合理 |
| 完成度 | 7.0 — 核心功能完整但缺 App Store 分发 |
| 与我们的相关度 | 9.0 — 直接采用 OpenClaw 架构哲学,生态验证信号 |
| **综合** | **7.5** |
报告由深度研究助手自动生成 | 2026-04-02
来源: GitHub