clickclickclick

instavmMIT更新放缓

用任意 LLM(本地或远程)驱动 Android 手机和电脑自动完成点击、输入等操作,适合搭建跨设备的自主 Agent。

Autonomous Android and computer use using any LLM (local or remote)

v0.3.0发布于 2024-12-26 00:41 UTC715star87fork同步于 2026-11-07 07:31 UTC

怎么上手

由 README 提炼,执行前请确认
git clone https://github.com/yourusername/clickclickclick
cd clickclickclick
pip install -r requirements.txt
python main.py setup
硬件要求按 README 说明

README 未说明显存或 GPU 型号要求;本地模型通过 Ollama 运行,需自行满足所选模型(如 Llama 3.2-vision、qwen3.5:4b)的硬件条件,远程模型则依赖 API。

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

用任意 LLM 驱动 Android 与电脑自动操作的开源框架,规划器加元素定位器分工执行任务

用任意 LLM(本地或远程)驱动 Android 手机和电脑自动完成点击、输入等操作,适合搭建跨设备的自主 Agent。

核心能力

  • 拆分为 Planner、Finder、Executor 三个组件协作
  • 支持 Ollama 本地模型与 Gemini、GPT-4o 远程模型
  • 可切换 android 与 osx 两种操作平台
  • 提供 Gradio 网页、CLI、Python API 与 REST 接口
  • 用 --image-quality 降低截图质量以加速处理

容易踩的坑

需在本机安装 adb 才能操作 Android 设备;运行前要在 config/models.yaml 配置模型并导出对应 API key;代码自述高度实验性,本地 Ollama 模型作 finder 时 UI 元素识别不可靠。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

3 个版本v0.3.0
  1. v0.3.0Added Molmo support via mlx最新正式版2024-12-26 · 2024-12-26 00:41 UTC

    What's Changed

    Full Changelog: https://github.com/BandarLabs/clickclickclick/compare/v0.2.0-alpha...v0.3.0

  2. v0.2.0-alphapre-release2024-12-17 · 2024-12-17 09:21 UTC
    查看更新说明
  3. v0.1.0-alphaFirst working cutpre-release2024-12-17 · 2024-12-17 06:12 UTC
    查看更新说明

    First working version.

    click3-0.1.0.tar.gz

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ClickClickClick

    A framework to enable autonomous android and computer use using any LLM (local or remote)

    Demos

    create a draft gmail to [email protected] and ask him if he is free for lunch on coming saturday at 1PM. Congratulate on the baby - write one para.

    https://github.com/user-attachments/assets/7cdbebb7-0ac4-4c20-8d67-f3c07cd4ab01

    Can you open the browser at https://www.google.com/maps/ and answer the corresponding task: Find bus stops in Alanson, MI

    https://github.com/user-attachments/assets/eb5dc968-206b-422d-aa3c-20c48bac3fed

    start a 3+2 game on lichess

    https://github.com/user-attachments/assets/68fc3475-2299-4254-8673-3123356177b5

    Currently supporting local models via Ollama (Llama 3.2-vision, qwen3.5:4b), Gemini, GPT 4o. The current code is highly experimental and will evolve in future commits. Please use at your own risk.

    The best result currently comes from using Gemini 3.1 Flash-Lite as both planner and finder.

    Ollama models: qwen3.5:4b works as planner (slow, basic navigation) but not reliable as finder (poor UI element detection). Use with --image-quality=45 for better performance.

    model recommendations

    How to install

    Clone the repository and navigate into the project directory:

    git clone https://github.com/yourusername/clickclickclick
    cd clickclickclick
    

    It is recommended to create a virtual environment:

    python3 -m venv venv
    source venv/bin/activate  # On Windows use `venv\Scripts\activate`
    

    Install the dependencies:

    pip install -r requirements.txt
    
    How to use

    Put your model specific settings in config/models.yaml and export the keys specified in the yaml file.

    As CLI tool

    Install the tool

    pip install <repo-whl>
    
    ./click3 run open google.com in browser
    

    Setup

    Before running any tasks, you need to configure your planner and finder models using the setup command:

    python main.py setup
    

    You will be prompted to choose the planner and finder models and provide any necessary API keys.

    Running Tasks

    To execute a task, use the run command. The basic usage is:

    pip install <repo-whl>
    
    ./click3 run <task-prompt>
    
    Options
    • --platform: Specifies the platform to use, either android or osx. Default is android.

      python main.py run "example task" --platform=osx
      
    • --planner-model: Specifies the planner model to use, either openai, gemini, or ollama. Default is openai.

      python main.py run "example task" --planner-model=gemini
      
    • --finder-model: Specifies the finder model to use, either openai, gemini, or ollama. Default is gemini.

      python main.py run "example task" --finder-model=ollama
      
    • --image-quality: Image quality percentage (1-100). Lower values reduce image size for faster processing. Default is 100.

      python main.py run "example task" --image-quality=45
      

    Example

    python main.py run "Open Google news" --platform=android --planner-model=openai --finder-model=gemini
    

    With local ollama model and reduced image quality:

    python main.py run "Open Reddit" --platform=android --planner-model=ollama --finder-model=gemini --image-quality=45
    

    Use as an API

    POST /execute

    Description:

    This endpoint executes a task based on the provided task prompt, platform, planner model, and finder model.

    Request Body:
    • task_prompt (string): The prompt for the task that needs to be executed.
    • platform (string, optional): The platform on which the task is to be executed. Default is "android". Supported platforms: "android", "osx".
    • planner_model (string, optional): The planner model to be used for planning the task. Default is "openai". Supported models: "openai", "gemini", "ollama".
    • finder_model (string, optional): The finder model to be used for finding elements to interact with. Default is "gemini". Supported models: "gemini", "openai", "ollama".
    • image_quality (integer, optional): Image quality percentage (1-100). Lower values reduce processing time. Default is 100.
    Response:
    • 200 OK:
      • result (object): The result of the task execution.
    • 400 Bad Request:
      • detail (string): Description of why the request is invalid (e.g., unsupported platform, unsupported planner model, unsupported finder model).
    • 500 Internal Server Error:
      • detail (string): Description of the error that occurred during task execution.
    Example Request:
    curl -X POST "http://localhost:8000/execute" -H "Content-Type: application/json" -d '{
      "task_prompt": "Open uber app",
      "platform": "android",
      "planner_model": "gemini",
      "finder_model": "openai"
    }'
    
    Example Response:
    {
      "result": {
        "status": "success",
        "data": {
          // actual task execution result
        }
      }
    }
    
    Prerequisites

    This project needs adb to be installed on your local machine where the code is being executed.

    Project structure
    How to contribute

    Contributions are welcome! Please open an issue or submit a pull request.

    Things to do

    Three components-

    1. Planner
    2. Finder
    3. Executor

    pip install -r requirements.txt

    uvicorn api:app --reload

    curl -X POST "http://127.0.0.1:8000/execute" -H "Content-Type: application/json" -d '{ "task_prompt": "Open Safari" }'

    Pre-commit -

    pre-commit install pre-commit autoupdate

    pre-commit run --all-files

    License

    This project is licensed under the MIT License. See the LICENSE file for details.