droidclaw — 把旧手机变成 AI Agent

> 一句话版本:装在你旧安卓手机上的 AI 机器人,你用自然语言告诉它想干什么("打开 YouTube 搜 lofi hip hop"),它自己看屏幕、思考、点击、输入,像人一样操作手机,直到任务完成。

项目信息
来源https://github.com/unitedbyai/droidclaw
作者unitedbyai
创建时间2026-02-06
语言TypeScript
Stars1,361Forks 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

按类别分:

最酷的功能:免 API Key 委托

Agent 可以直接在手机上打开 ChatGPT、Gemini、Google Search 完成任务,把结果带回来。不需要这些服务的 API Key——它像人一样用这些 App。

分析

优势

风险

与 Jay 的关联

评分

维度评分 (1-10)说明
创新性9旧手机变 Agent + 免 API Key 委托,想法非常棒
实用性7创意好但速度慢、ADB 限制多、可能已停更
代码质量7TypeScript,结构清晰,但工程化程度一般
文档8README 详细,35 个 workflow 示例丰富
生态51.3k stars,单人项目,可能停更
可维护性42 月底后无更新,不确定性高
**总分****6.7**创意满分但执行和持续性存疑