Skip to content

mindsdb/anton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

114 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Anton

        ▐
   ▄█▀██▀█▄   ♡♡♡♡
 ██  (°ᴗ°) ██
   ▀█▄██▄█▀          ▄▀█ █▄ █ ▀█▀ █▀█ █▄ █
    ▐   ▐            █▀█ █ ▀█  █  █▄█ █ ▀█
    ▐   ▐

Anton is an advanced AI coworker. You tell it what you need done and it figures out the rest.

Quick start

macOS / Linux:

curl -sSf https://raw.githubusercontent.com/mindsdb/anton/main/install.sh | sh

Windows (PowerShell):

irm https://raw.githubusercontent.com/mindsdb/anton/main/install.ps1 | iex

Open a new terminal, and run it by simply typing the command:

anton

That drops you into a conversation with Anton. Talk to Anton like a person, for example, ask Anton this:

Information about inflation in the US is found on this website:
     https://www.bls.gov/news.release/cpi.nr0.htm
Plot me the consumer price items contributions to inflation, stacked per month.

What happens next is the interesting part. Anton doesn't have any particular skill to begin with. It figures it out live: fetches the page, parses the HTML, writes scratchpad code on the fly, and generates a stacked bar chart with the information you asked for — all in one conversation, with no setup. That's the point: you describe a problem in plain language, and Anton assembles the toolchain, writes the code, and delivers the result.

image

Another example

You don't even need to specify a specific website. For example, whatup with crypto? Try asking Anton this:

Analyze how Bitcoin has evolved over the past 12 months by summarizing the
overall price trend and highlighting major dips and gains (e.g., moves
greater than ~5–10%). For each significant movement, find and briefly
explain relevant news or events that may have influenced the price,
including dates and credible sources. Use only publicly accessible
information and scrape the web as needed, assuming no API keys are available.

How it works

Anton collaborates with people to solve problems, by self-evolving the skills and tools it needs, operating as follows.

Chat + Scratchpad — For most tasks, Anton works directly in conversation. It thinks through the problem, writes and runs Python in a persistent scratchpad (variables, imports, and data survive across steps), installs packages as needed, and iterates until it has your answer.

Task → Memory Recall → Planning → Scratchpad Building (if needed) → Execution

What is a Scratchpad?

Anton's scratchpads are notebook-style environments it drives programmatically.

When you ask Anton for something, it writes and executes Python in the scratchpad. This makes Anton particularly great at data analysis tasks: counting, scraping, parsing, transforming, aggregating, calling API's and exploring datasets with real computation instead of LLM guesswork.

What the scratchpad handles well:

  • Data analysis — Load a CSV, filter rows, compute aggregates, pivot tables, plot distributions
  • Text processing — Parse logs, extract patterns, count tokens, transform formats
  • Math and counting — Character counts, statistical calculations, combinatorics
  • Multi-step exploration — Build up understanding incrementally, inspect intermediate results
  • LLM-powered computation — Call get_llm() inside scratchpad code for AI-assisted analysis (classification, extraction, summarization) over your data

Explainable by default

You can always ask Anton to explain what it did. Ask it to dump its scratchpad and you get a full notebook-style breakdown: every cell of code it ran, the outputs, and errors — so you can follow its reasoning step by step.

Workspace

When you run anton in a directory, it checks for an anton.md file. If the folder has existing files but no anton.md, Anton asks before setting up — it won't touch your stuff without permission.

Once initialized, the workspace looks like:

project/
├── anton.md              # Project context (read every conversation)
└── .anton/
    ├── .env              # Secrets (API keys, tokens — never pass through LLM)
    ├── context/          # Self-awareness files (project facts, conventions)
    ├── skills/           # User and auto-generated skills
    ├── sessions/         # Task transcripts and summaries
    ├── learnings/        # Extracted insights
    └── minions/          # One folder per minion (<id>/status.json, artifacts) WIP

anton.md — Write anything here. Project context, conventions, preferences. Anton reads it at the start of every conversation.

Secret vault — When Anton needs an API key or token, it asks you directly and stores the value in .anton/.env. The secret never passes through the LLM — Anton just gets told "the variable is set."

All data lives in .anton/ in the current working directory. Override with anton --folder /path.

Configuration

.anton/.env              # Workspace-local secrets and API keys
ANTON_ANTHROPIC_API_KEY  # Anthropic API key
ANTON_PLANNING_MODEL     # Model for planning (default: claude-sonnet-4-6)
ANTON_CODING_MODEL       # Model for coding (default: claude-opus-4-6)

Env loading order: cwd/.env.anton/.env~/.anton/.env

Manual install

If you already have uv:

uv tool install git+https://github.com/mindsdb/anton.git

Upgrade / Uninstall

uv tool upgrade anton
uv tool uninstall anton

Prerequisites

  • git — required (macOS / sudo apt install git / winget install Git.Git)
  • Python 3.11+ — optional (uv downloads it automatically if missing)
  • curl — macOS/Linux only, usually pre-installed
  • Internet connection. No admin/sudo required (Windows install will optionally request admin to add a firewall rule for scratchpad internet access).

Windows: scratchpad internet access

The install script adds a Windows Firewall rule so the scratchpad can reach the internet (for web scraping, API calls, etc.). If you skipped that step or installed manually, run this in an admin PowerShell:

netsh advfirewall firewall add rule name="Anton Scratchpad" dir=out action=allow program="$env:USERPROFILE\.anton\scratchpad-venv\Scripts\python.exe"

How is Anton different from Claude Code / Codex?

Anton is a doing tool not a coding tool. Tools like Claude-Code exist for your codebase — they read your repo, edit your files etc. The code they write is the focus. Anton on the other hand, doesn't care or needs a coding repo. Yes, it writes code too, but that code is a means to an end, which is why we introduced the scratchpad logic, so Anton can fetch a page, parse a table, plot a chart, call an API, crunch some numbers, ... whatever it needs to solve a problem. The output is the answer, not the source file.

If you're coding a commercial app, use a coding agent. If you need something done — a dataset analyzed, a report generated, a workflow automated — talk to Anton.

Is "Anton" a Mind?

Yes, at mindsDB we build AI systems that collaborate with people to accomplish tasks, inspired by the culture series books, so yes, Anton is a Mind :)

Why the name "Anton"?

We really enjoyed the show Silicon Valley. Gilfoyle's AI — Son of Anton — was an autonomous system that wrote code, made its own decisions, and occasionally went rogue. We thought it was was great name for an AI that can learn on its own, so we kept Anton, dropped the "Son of".

License

MIT

Releases

No releases published

Packages

No packages published