{"id":30134564,"url":"https://github.com/botspot/automaton","last_synced_at":"2026-03-08T07:32:20.722Z","repository":{"id":306701251,"uuid":"1026961386","full_name":"Botspot/automaton","owner":"Botspot","description":"Automate any task on linux with computer vision","archived":false,"fork":false,"pushed_at":"2026-02-24T06:51:18.000Z","size":112,"stargazers_count":18,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-03-05T11:49:28.077Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Botspot.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-07-27T02:20:57.000Z","updated_at":"2026-02-24T06:51:21.000Z","dependencies_parsed_at":"2025-09-27T04:08:33.648Z","dependency_job_id":null,"html_url":"https://github.com/Botspot/automaton","commit_stats":null,"previous_names":["botspot/automaton"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Botspot/automaton","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Botspot%2Fautomaton","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Botspot%2Fautomaton/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Botspot%2Fautomaton/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Botspot%2Fautomaton/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Botspot","download_url":"https://codeload.github.com/Botspot/automaton/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Botspot%2Fautomaton/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30248899,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-08T05:41:50.788Z","status":"ssl_error","status_checked_at":"2026-03-08T05:41:39.075Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-10T21:15:22.072Z","updated_at":"2026-03-08T07:32:20.711Z","avatar_url":"https://github.com/Botspot.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Automaton\nAutomate any task on Linux with computer vision\n\n\u003e **au·tom·a·ton  (ô-tŏmʻə-tŏn′, -tən)**  \n\u003e *noun*  \n\u003e A machine or mechanism that operates without human intervention, especially a robot.\n\nLet's say you need a _complex computer task_ to be done so many times that no human would willingly sit down and do it by hand.\n- Every day, check a list of tracking numbers and fill out complaint forms for missing packages.\n- Every hour, check a youtube channel for new videos and download any new ones found.\n- Every minute, refresh a website to track the number of views/likes/comments to a spreadsheet.\n- Every 10 seconds, check the value of a currency/crypto/stock and log it to a file.\n\nHow will you automate it? Most people would try to approach it 1 of 2 ways:\n\n1. Build a custom program, use APIs (assuming they exist), might involve reverse-engineering websites or programs.\n   - Reliability: **HIGH**\n   - Difficulty: **HIGH**\n   - Development time: **HIGH**\n2. Make a shell script that blindly repeats human actions (move the mouse to preset coordinates, wait 2 seconds, click, repeat)\n   - Reliability: **LOW**\n   - Difficulty: **LOW**\n   - Development time: **MEDIUM** (needs continual monitoring and maintenance)\n\n3. Automaton offers a third option: **localized computer vision**. With it, any shell script can \"see\" the screen and perform tasks using the mouse and keyboard.\n   - Reliability: **HIGH**\n   - Difficulty: **LOW**\n   - Development time: **LOW**\n\n### Computer vision? Doesn't that require a cloud API service, or a powerful graphics card?\n- **Nope.**\n### Doesn't computer vision require good programming skills?\n- **Not anymore.** ( ͡° ͜ʖ ͡°)\n\nIn fact, OpenCV's vision algorithm is so lightweight, that even with it running locally on a Raspberry Pi's CPU power alone, it still finds and clicks buttons on the screen quicker than any human can.  \nAutomaton is here to help give this power to anybody, even beginners.\n- Use the full suite of desktop automation functions, all of which work in both X11 and Wayland.\n- Show it regions of the screen to look for, then tell it how to interact with those regions.\n- Blaze through capturing screen regions and coordinates, thanks to a custom photo editor.\n- And use the ChatGPT template to get guided scripting assistance.\n\n## Get started:\n```\ngit clone https://github.com/Botspot/automaton\n./automaton/gui\n```\n## Supported platforms:\n\n- Any Debian flavored Linux distro with a X11 or wlroots Wayland compositor (x86_64, or arm64)\n- Headless/server usage is supported. Just use an invisible subscreen to run everything inside a headless isolated graphics environment.\n- For Wayland compositors not based on wlroots, such as GNOME: Use a subscreen. The functions for simulating the mouse and keyboard would need to be expanded to use a new tool in these environments. (open an issue if you can help with that)\n- This should still work on non-Debian distros, but the script will ask you to install needed dependencies manually.\n\n## Usage:\nIn simple terms, Automaton provides you with a variety of bash functions in the `api` script. These functions run just like normal linux commands, and can work together in a script to do just about anything.  \nHowever, you don't need to be experienced with shell scripting to use this!! For basic automation tasks, the code basically writes itself.\n\nSince nobody enjoys reading documentation, I'm trying a new approach: **the graphical interface *is* the documentation.**  \n![screenshot](https://github.com/user-attachments/assets/bfb2dfea-9fb3-42b0-8dec-8b45ab450ca0)  \nThese buttons help generate premade chunks of working code. Simply click one, adjust any options it may have, then paste the code chunk into your script.  \n![screenshot](https://github.com/user-attachments/assets/673de504-ce40-4c9a-9c5e-4c205cc96b9a)  \nIn this example, here's the code that was generated from those options:  \n![screenshot](https://github.com/user-attachments/assets/1887e1a2-a256-475c-8877-216e13c42463)\n\n## Status:\nThis project is in BETA. It should be in working order, but it's also very new. (Released on August 30, 2025)  \nWas this useful to you? Please give feedback!!! So far not one person has even reported to me that they have even tried it yet. :(  \n[Report bugs here](https://github.com/Botspot/automaton/issues). [Ask questions](https://github.com/Botspot/automaton/issues). [Join the discord server](https://discord.gg/RXSTvaUvuu).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotspot%2Fautomaton","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbotspot%2Fautomaton","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbotspot%2Fautomaton/lists"}