ClickClickClick
用可选的本地或远程模型执行 Android 与 macOS 界面操作任务。
- Star 数
- ★ 716
- 最近更新
- 7 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 23/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要在已配置 adb 的本地环境中,根据自然语言任务操作 Android 应用的自动化开发者。
- 不适合
- 需要稳定生产级自动化、不能接受实验性代码的团队
- 没有安装 adb 的机器上做 Android 自动化
这个 Agent 能做什么,适合哪些场景?
ClickClickClick 是一个用于自主 Android 与电脑界面操作的实验性框架。它将任务处理拆分为 Planner、Finder 和 Executor 三个组件,并可分别选择 OpenAI、Gemini 或 Ollama 作为规划与界面元素定位模型。项目提供命令行运行方式,以及用于提交任务的 POST /execute REST API;README 的目录也列出 Gradio Web 界面。任务结果通过 API 的 result 对象返回,Android 执行依赖运行代码的本机已安装 adb。作者明确说明当前代码高度实验性,建议自行承担使用风险。
用户先在 config/models.yaml 填写模型设置,并导出该文件指定的密钥;也可以运行 python main.py setup 交互选择 Planner 和 Finder。随后使用 python main.py run "<task>" 或 ./click3 run <task-prompt> 提交任务,并通过 --platform=android|osx、--planner-model=openai|gemini|ollama、--finder-model=gemini|openai|ollama 和 --image-quality 控制执行。REST 调用 POST /execute 接收 task_prompt、平台、规划模型、定位模型和图像质量,成功时返回 result 对象;无效参数返回 400,执行错误可返回 500。文档展示的任务包括创建 Gmail 草稿、在 Google Maps 查找公交站,以及在 Lichess 发起 3+2 对局。
- 需要在已配置 adb 的本地环境中,根据自然语言任务操作 Android 应用的自动化开发者。
- 希望把“打开 Google 新闻”一类浏览器操作交给 Gemini、OpenAI 或 Ollama 组合执行的原型团队。
- 需要以 HTTP 服务方式向
POST /execute提交移动端或 macOS 任务的内部工具开发者。 - 想以 Ollama 本地视觉模型测试基础导航、并接受较慢响应和较弱元素定位能力的实验者。
- 需要用不同 Planner 与 Finder 模型组合评估界面自动化效果的工程人员。
如何安装或部署这个 Agent?
克隆 https://github.com/instavm/clickclickclick 并进入目录。创建并激活虚拟环境:python3 -m venv venv,然后 source venv/bin/activate;Windows 使用 venv\Scripts\activate。执行 pip install -r requirements.txt。在 Android 上运行前,需在执行代码的本机安装 adb;在 config/models.yaml 配置模型设置,并导出其中指定的密钥。若要使用本地模型,还需安装并配置 Ollama。
如何使用这个 Agent?
先执行 python main.py setup,按提示选择 Planner、Finder 并提供所需 API 密钥。首次可运行:python main.py run "Open Google news" --platform=android --planner-model=openai --finder-model=gemini。本地 Ollama 示例为:python main.py run "Open Reddit" --platform=android --planner-model=ollama --finder-model=gemini --image-quality=45。启动 API 服务可使用 uvicorn api:app --reload,然后向 http://127.0.0.1:8000/execute 发送包含 task_prompt 的 JSON POST 请求。
这个 Agent 有哪些优点和局限?
- Planner 与 Finder 可独立选择 OpenAI、Gemini 或 Ollama,便于组合云端与本地模型。
- 同时覆盖 Android 与
osx两个明确列出的执行平台。 - 除 CLI 外还记录了
POST /execute服务接口,适合嵌入现有程序。 - 提供图像质量参数;降低图像质量可减小处理量,并为 Ollama 给出
--image-quality=45的建议。
- 项目明确标注为高度实验性,行为和接口可能在后续提交中变化。
- Android 使用依赖本机 adb,部署环境需要具备该运行时条件。
- Ollama 的 qwen3.5:4b 被记录为规划较慢、仅适合基础导航,且不可靠于 Finder 的 UI 元素检测。
- 模型密钥和模型配置需要在
config/models.yaml与环境变量中自行管理。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| ClickClickClick 当前 | 23 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 716 | 7 个月前 | Python | OpenAI API |
| macOS Harness | 55 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1k | 22 天前 | Python | Codex · Claude Code |
| mobile-use:自然语言操控手机的开源智能体 | 33 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 3.4k | 1 天前 | Python | OpenAI API · Claude API |
| Mac Computer Use | 13 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 891 | 2 年前 | Python | Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:仓库未提供任何权限最小化、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的机制。所有信任相关标准均缺失,因此得分为0。
证据显示:测试文件存在,但仅覆盖部分执行器功能,且未覆盖核心LLM交互。依赖列表完整,但未验证可用性。错误处理在测试中有体现,但实际代码中未充分展示。因此自洽性、依赖可用性和失败消息均得1分。
证据显示:README提供了Raspberry Pi和macOS的使用场景,但未明确目标受众。能力边界在测试中有所体现,但未在文档中明确。触发精度未定义。环境适配仅部分说明。因此各得1分。
证据显示:README和pyproject.toml提供了基本安装说明,但缺少FAQ、已知限制、版本变更日志。许可证为MIT,但版权归属不一致。维护责任未明确。因此信息架构、安装说明、命名稳定性、示例和FAQ、维护责任得1分,已知限制和版本变更日志得0分,许可证得2分。
证据显示:输出可用性未明确,边际价值未量化,成本效益未分析。因此各得1分。
证据显示:README中的声明与代码部分一致,但缺乏独立验证。测试文件提供了部分佐证,但未覆盖所有功能。事实与推断未明确区分。因此各得1分。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供任何安全机制,如权限最小化、用户确认或数据流透明,可能允许LLM执行任意操作。
- 依赖列表包含多个未固定版本的包,存在供应链风险。
- 测试覆盖不完整,未覆盖核心LLM交互和错误处理。
- 文档缺少已知限制和版本变更日志,维护责任不明确。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.3.0 Added Molmo support via mlx
发布说明摘录
What's Changed * Local finder support via mlx-vlm and Molmo 7B 4bit model for Apple silicon by @mkagenius in https://github.com/BandarLabs/clickclickclick/pull/4 Full Changelog: https://github.com/BandarLabs/clickclickclick/compare/v0.2.0-alpha...v0.3.0在 GitHub 查看 ↗
常见问题
支持哪些模型提供方?
Android 运行需要什么?
能否作为 HTTP 服务调用?
uvicorn api:app --reload 启动后,向 POST /execute 提交任务参数。本地 Ollama 是否适合界面元素定位?
任务失败时 API 如何响应?
detail 中说明原因。