将旧 Android 手机变成 AI 代理 | DroidClaw 教程
引言:\nDroidClaw 是一个开源 AI 代理,它可将 Android 手机变成免提助手。利用大型语言模型解释屏幕内容并通过 ADB 产生点击、滑动及键入等操作,它可以执行诸如搜索 YouTube、发送 WhatsApp 消息,或运行完整的多应用工作流等任务——无需任何专用 API。\n\n它是怎样的\nDroidClaw 的核心是感知 → 推理 → 动作循环:\n1. 它通过无障碍树(若树缺失则截取屏幕截图)读取屏幕。\n2. 将屏幕状态、用户用普通英文表述的目标以及之前的动作输入给 LLM。\n3. 模型返回一系列高级动作计划(例如 tap、type、swipe)。\n4. DroidClaw 通过 ADB 执行这些动作,观察结果,然后将其反馈到下一步。\n\n主要功能\n• 自然语言目标设定\n• 自动处理重复动作及卡死循环\n• 无障碍树不可访问时自动回退至视觉识别\n• 多轮对话记忆\n• 本地 Ollama 支持,完全离线使用\n• 通过 Tailscale 实现远程控制\n\n系统需求\n硬件:支持 USB 调试的 Android 手机或可 Wi‑Fi 调试的手机\n软件:ADB(Android Platform Tools),Bun 运行时,Node/npm 不必\nLLM:任何 DroidClaw 支持的服务商(Groq、OpenAI、Ollama、OpenRouter、Bedrock)\n\n安装步骤\n1. 安装 Bun\n curl -fsSL https://bun.sh/install | bash\n2. 安装 ADB\n • Mac: brew install android-platform-tools\n • Linux: sudo apt install android-tools-adb\n • Windows: 从 https://developer.android.com/tools/releases/platform-tools 下载\n3. 克隆仓库\n git clone https://github.com/unitedbyai/droidclaw.git\n cd droidclaw\n4. 安装项目依赖\n bun install\n5. 复制示例环境文件\n cp .env.example .env\n6. 在 .env 配置你的 LLM 提供商\n 示例(免费版 Groq):\n LLM_PROVIDER=groq\n GROQ_API_KEY=YOUR_GROQ_KEY\n 或本地 Ollama:\n LLM_PROVIDER=ollama\n OLLAMA_MODEL=llama3.2-vision\n\n连接手机\n• 开启开发者选项 → USB 调试\n• 通过 USB 连接手机;接受提示\n• 验证:adb devices\n 应显示你的设备。\n\n运行代理\n交互模式(普通英文目标):\n bun run src/kernel.ts\n # 输入你的目标后按 Enter\n\n工作流模式(AI 驱动多应用序列):\n bun run src/kernel.ts --workflow examples/workflows/telegram-send-message.json\n\n确定性流程(无 AI):\n bun run src/kernel.ts --flow examples/flows/send-whatsapp.yaml\n\n使用示例\n- 打开 YouTube 并搜索 “lofi hip hop”:\n $ bun run src/kernel.ts\n enter your goal: open youtube and search for \"lofi hip hop\"\n- 通过预设工作流发送 WhatsApp 消息。\n- 开始夜间晨报,读取日历事件、天气和未读 Slack 消息。\n\n使用 Tailscale 远程控制\n在手机和主机上安装 Tailscale。开启手机设置 → 开发者选项中的无线调试。网络连接:\n adb connect :\n此后 DroidClaw 可以在任何 VPS、笔记本或 cron 任务中启动,让手机在家中保持充电状态,而脚本可在任何地方运行。\n\n高级功能\n• 视觉回退:当无障碍树为空时,代理将截图发送给 LLM。\n• 卡死循环检测:若屏幕在几步后无变化,代理会注入恢复提示。\n• 多轮记忆:保持最近 N 次动作在对话上下文中。\n\n故障排除\n• “adb: command not found” – 确认已安装并在 $PATH 或在 .env 设置 ADB_PATH。\n• “no devices found” – 再次确认 USB 调试已开启且线缆支持数据传输。\n• 重复动作 – 增加 MAX_STEPS 或改用更大模型。\n• 空无障碍树 – 设置 VISION_MODE=always 强制发送截图。\n\n结论\nDroidClaw 展示了现代 LLM 能够在无需专用 API 的情况下 orchestrate UI 自动化。通过结合开源工具(Bun、ADB、Ollama)和简单的感知‑推理‑动作循环,你可以立刻将旧手机变身为强大、持续运行的个人助手。无论你想自动发布社交媒体内容、运行夜间研究工作流,还是单纯实验 AI 驱动的手机控制,安装过程都十分简便,灵活性极高。祝你玩得开心!