droidclaw — 把旧手机变成 AI Agent
> 一句话版本:装在你旧安卓手机上的 AI 机器人,你用自然语言告诉它想干什么("打开 YouTube 搜 lofi hip hop"),它自己看屏幕、思考、点击、输入,像人一样操作手机,直到任务完成。
| 项目 | 信息 | |
|---|---|---|
| 来源 | https://github.com/unitedbyai/droidclaw | |
| 作者 | unitedbyai | |
| 创建时间 | 2026-02-06 | |
| 语言 | TypeScript | |
| Stars | 1,361 | Forks 207 |
| 前置要求 | bun、adb、安卓手机(USB 调试) |
核心内容
droidclaw 的核心极其简单:感知 → 推理 → 行动 循环,通过 ADB 控制安卓手机。
工作原理
你的目标:"在 WhatsApp 给妈妈发早安"
│
▼
1. 感知(Perceive)
├── 通过 ADB 导出无障碍树(Accessibility Tree)
├── 解析 XML → 识别可交互的 UI 元素
├── 与上一帧对比(检测屏幕变化)
└── 必要时截图
│
▼
2. 推理(Reason)
├── 屏幕状态 + 目标 + 历史发送给 LLM
└── LLM 返回 {think, plan, action}
"我看到搜索图标在 (890, 156),应该点击它"
│
▼
3. 行动(Act)
├── 通过 ADB 执行:tap / type / swipe
├── 结果反馈给 LLM
└── 目标完成?→ 是 → 退出 | 否 → 回到感知
容错机制(这是亮点)
LLM 控制 UI 听起来脆弱,droidclaw 用 6 种机制处理失败模式:
| 机制 | 说明 |
|---|---|
| 卡死检测 | 屏幕 3 步没变化 → 注入恢复提示 |
| 重复追踪 | 滑动窗口检测重复点击同一坐标 3+ 次 → 强制换策略 |
| 漂移检测 | Agent 一直在滑动/返回而不交互 → 提醒直接行动 |
| 视觉回退 | 无障碍树为空(WebView/Flutter/游戏)→ 截图 + 坐标建议 |
| 动作反馈 | 每步成功/失败反馈给 LLM |
| 多轮记忆 | 跨步骤保持对话历史 |
三种模式
| 模式 | 用途 | 需要 LLM | 速度 |
|---|---|---|---|
| **Interactive** | 一次性任务,即时指令 | ✅ | 慢(LLM 调用) |
| **Workflow** | 多 App 跨应用流程(JSON) | ✅ | 慢(LLM 调用) |
| **Flow** | 固定操作序列(YAML 宏) | ❌ | 即时 |
Workflow 示例——查天气发 WhatsApp:
{
"name": "weather to whatsapp",
"steps": [
{ "app": "com.google.android.googlequicksearchbox", "goal": "search for chennai weather today" },
{ "goal": "share the result to whatsapp contact Sanju" }
]
}
35 个现成 Workflow
按类别分:
- 消息:WhatsApp/Telegram/Slack/邮件(发消息、群播、邮件摘要、standup)
- 社交:Instagram/YouTube(发帖、互动、收藏)
- 效率:日历、笔记、GitHub PR、通知清理、晨间简报
- 研究:搜索、比价、监控
最酷的功能:免 API Key 委托
Agent 可以直接在手机上打开 ChatGPT、Gemini、Google Search 完成任务,把结果带回来。不需要这些服务的 API Key——它像人一样用这些 App。
分析
优势:
- 创意极好:把旧手机废物利用变成 AI Agent
- 不需要任何 API 集成——直接操控 UI,任何 App 都能用
- 免 API Key 委托(用 ChatGPT/Gemini App 而非 API)
- 容错机制完善(6 种失败模式处理)
- 35 个现成 workflow,开箱即用
- 支持本地 LLM(Ollama),完全离线可用
- Groq 免费额度就能跑
风险:
- ADB 需要物理连接或无线 ADB,远程控制受限
- 无障碍树依赖 App 实现,部分 App(游戏、Flutter)可能不兼容
- 速度慢:每步都需要 LLM 调用,简单任务也要 5-30 步
- 安卓独占,不支持 iOS
- 最后更新 2026-02-28,可能已停更
- 安全风险:Agent 有完整的手机控制权(读屏、点击、输入)
- 没有权限模型,无法限制 Agent 操作范围
与 Jay 的关联:
- Jay 有 Mac M3 Air,但如果有旧安卓手机可以当"物理 Agent"用
- 与小虾 Local Agent 对比:droidclaw 是手机级自动化,小虾是电脑级,互补
- 可以把旧手机变成"专属社交 Agent"——自动发消息、刷帖子、检查通知
- 与 OpenClaw Node 类似思路(感知→推理→行动循环),但 droidclaw 用 ADB 而非 exec
评分
| 维度 | 评分 (1-10) | 说明 |
|---|---|---|
| 创新性 | 9 | 旧手机变 Agent + 免 API Key 委托,想法非常棒 |
| 实用性 | 7 | 创意好但速度慢、ADB 限制多、可能已停更 |
| 代码质量 | 7 | TypeScript,结构清晰,但工程化程度一般 |
| 文档 | 8 | README 详细,35 个 workflow 示例丰富 |
| 生态 | 5 | 1.3k stars,单人项目,可能停更 |
| 可维护性 | 4 | 2 月底后无更新,不确定性高 |
| **总分** | **6.7** | 创意满分但执行和持续性存疑 |