Skip to content

Latest commit

 

History

History
80 lines (55 loc) · 4.91 KB

droidclaw-notes.md

File metadata and controls

80 lines (55 loc) · 4.91 KB

DroidClaw 蒸馏笔记

原始记录:2026-04-10;设备实践补记:2026-04-16。

这是私人笔记的公开脱敏整理版。真实设备地址、序列号、主机名、账号和内部路径已移除。历史结论不代表上游项目当前状态;实际执行以 SKILL.md 为准。

目标:提炼方法,而非复制运行时

DroidClaw 探索让 AI 根据自然语言目标操作 Android:读屏、判断、点击或输入,再观察结果。

本项目把这一方法整理成已有 Agent 可以加载的技能,不另建服务端、MCP Server 或执行引擎。最初面向 Claude Code,现提供 Pi、Codex、Claude Code 和 OpenCode 的接入说明。

原始应用场景之一是经授权的联系人资料整理。这个背景不意味着技能可以默认读取或导出所有联系人。

核心方法

现行循环:

观察 → 选择单个动作 → 执行 → 有限等待 → 再观察并验证

原笔记将等待放在验证之后;现行技能调整顺序,避免把尚未完成的页面跳转误判为失败。

故障信号与预算

项目 原始建议 现行处理
卡住 连续 3 步画面不变 结合预期效果、焦点和控件状态判断进展
重复 最近 8 步同一动作至少 3 次 同时考虑目标与界面状态;有效滚动不算无效重复
漂移 最近 5 步中至少 4 步为导航 仅在导航没有带来目标进展时复核
最大步数 30 默认 30 个状态变更动作,包含重试与设置变更
等待 0.5–2 秒 按点击、页面切换和网络响应分层等待
总时限 未明确 默认 5 分钟,为恢复预留预算
视觉模式 fallback XML 不足时使用截图,要求真实图像读取能力

这些是启发式参数,不是跨设备实验得出的最优值。长任务应预先约定有限预算与检查点。

程序化操作和 Intent 可以更可靠,但不能绕过授权。打开草稿和直接发送、打开拨号器和立即呼叫,是不同的副作用。

历史触发方案

方式 当时笔记的记录 本仓库
手动目标 REST API POST /goals 用户向 Agent 提出任务,不提供该 API
定时执行 QStash 调度回调 不提供调度器
通知触发 当时记为 v2 设计,未实现 不监听通知,不运行后台服务

这些记录没有绑定可核验的上游 commit,不能当作当前功能清单。原笔记对早期通知方案的复盘也未经本次逐项复核;可保留的设计原则是:用户显式定义工作流、限定 App 和数据范围、确认外部动作、记录必要结果并限制频率。

任何通知自动化都应单独设计权限、留存、幂等性与停止机制,不直接扩展本技能去读取全部通知。

2026-04-16 的设备实践

当时在一台 Redmi 测试手机上尝试过 Google 服务、USB、局域网和 Tailscale 连接。以下是可迁移的教训,而非所有 ROM 的通用配置:

  • Google 服务:当时直接启用包因权限不足失败,需要先检查系统界面的总开关。这不是 ADB 的前提;现行技能不批量启用系统包。
  • 多条连接路径:历史记录有远程打开 App 的成功尝试,但不能作为修订版全流程已测试的证据。
  • VPN 冲突:Android 通常在同一用户/配置文件中只允许一个活动 VPN 服务。切换前必须确认当前 ADB 是否依赖它,并保留 USB 或人工恢复路径。
  • 重启恢复:传统 TCP 调试常需重新启用;配对式无线调试应另行检查当前端口与状态。
  • OEM 开关:基础 USB 调试、触摸注入安全设置、USB 安装可能分开。命令退出码为 0 不证明点击已生效。

现行文档不保存真实连接地址,不把 VPN 当作所有 ADB 接口的保护,也不未经批准停止 VPN。

从旧版修正了什么

旧问题 现行规则
命令成功就假定操作成功 区分确认成功、确认失败和结果未知
连续扫描坐标、串联点击和输入 每次一个交互,再观察
清空字段的组合键不可靠 使用可见操作或经验证的输入法能力
原始 Unicode 直接嵌入 Shell 经授权的 UTF-8 base64 输入,随后验证
同名项目就去重或判定结束 使用标识、视口变化、加载与终点证据
默认改休眠时间和输入法 默认不改;必要时授权、记录原值并恢复
只限定设备,不明确用户 用户相关设置与安装显式限定 Android 用户
泛泛提示辅助输入法风险 说明广播接收器暴露及临时使用边界
界面变化后一律要求截图 刷新有效观察;XML 足够时不强制视觉
用完预算才考虑恢复 预留恢复预算,停止任务后有限收尾

下一步应优先完成真机验收,而不是继续增加后台自动化或跨平台功能。