antiBot · docs · alpha

How to use antiBot.

Many agents, one table, all on your computer.

01

Overview

antiBot is a local multi-agent desktop assistant. Each agent is a persistent chat backed by an AI coding CLI you already have installed and signed in to: Claude Code, OpenAI Codex CLI, Gemini CLI, or any other command. Different agents can use different providers. There is no server to rent and no API key field.

The window is Tauri v2. Process management, schedules, memory, SQLite and agent-to-agent messaging run in a Rust backend. The command-line tool is called openbot.

02

Install

Installers for Windows, macOS and Linux are not published yet. planned Until then, run it from source.

You need Rust 1.85 or newer, Node.js 20+ for the window's build, and a C toolchain. On Debian or Ubuntu:

sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file \
  libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev patchelf pkg-config

macOS needs the Xcode command line tools. Windows needs the Tauri prerequisites.

Install the CLIs you want and sign in with their own login. antiBot never asks for an API key.

03

Quick start

npm install && npm run tauri dev

The window opens. The local API listens on http://127.0.0.1:47221. Then:

  1. Create an agent and pick its provider. antiBot shows which CLIs it found on your PATH.
  2. Choose its folder, or choose full computer access (shown with a red badge).
  3. Write to it in the chat. Replies stream in as Markdown.

04

Agents and providers

Each agent gets a workspace folder under ~/.openbot/workspaces/, created as a git repo when git is available.

ProviderCommandDefault extra argument
Claude Codeclaude -p --output-format stream-json--permission-mode bypassPermissions
Codex CLIcodex exec --json--full-auto
Gemini CLIgemini -p --output-format stream-json--yolo

The extra arguments let a headless run proceed without a prompt; you can remove them in Settings. Session ids are stored and passed back with each CLI's resume flag.

Custom command

Any CLI that prints text works. Put placeholders in the arguments: {prompt}, {message}, {system} and {session}. Arguments are not run through a shell.

05

Memory

Every turn starts with a preamble built from the agent's instructions, your shared memory, the agent's own memory notes and the list of other agents. Claude Code receives it with --append-system-prompt; Codex and Gemini receive it in the prompt.

06

Routines

Routines are cron schedules (UTC) that run an agent in the background and post the result into its chat. Disabled routines are skipped, and a missed one-shot routine catches up.

Routines and agent-to-agent turns run a CLI with no one at the prompt. Check that each provider's terms allow unattended use on your account.

07

Agents working together

Each agent is told how to reach the others:

openbot send --to "Other Agent" --body "your message"

That calls POST /v1/send on the local API. The message appears in the recipient's chat and that agent takes a turn. After 4 hops the API refuses to deliver, so two agents cannot loop forever. An agent cannot message itself.

08

Tasks, usage and skills

Every turn an agent takes becomes a task with an id like OB-123, a status, a priority, an assignee and an audit log. You can create tasks too. A message with a title and at least two numbered or bulleted steps becomes a task with sub-tasks. List, board, activity, projects and cycles sit next to the inbox.

KeyAction
Ctrl+K or /Search
CCreate a task
1–6Change the open task's status

Token use and cost are recorded per turn when the CLI reports them; ~/.openbot/pricing.json prices the rest. The Usage view charts it. Built-in role skills (SKILL.md) are picked per call, up to four.

09

MCP connectors and folder scope

Each agent has its own MCP connectors, from the built-in catalog or added as a stdio, SSE or HTTP server. Secrets go to the OS keychain, not SQLite.

A folder scope sets the working directory and adds the provider's own limits: --add-dir for Claude Code, --sandbox workspace-write for Codex, --sandbox for Gemini. This is not a perfect jail; a container sandbox is on the roadmap. planned

10

Configuration and data

Everything lives in ~/.openbot: the SQLite database openbot.db, workspaces and pricing. Override the folder with OPENBOT_DATA_DIR and the port with OPENBOT_PORT.

openbot serve     # API without the window
openbot doctor    # check CLIs and setup
openbot agents    # list agents
openbot send --to Ada --body "look at the workspace"

11

Troubleshooting

A provider shows as missing

The CLI is not on your PATH. Install it, sign in, and restart antiBot.

The agent replies with a login error

antiBot shows the CLI's own error. Sign in with that CLI in a terminal, then try again.

12

Roadmap

  • Installers for Windows, macOS and Linux. planned
  • A container sandbox so a folder scope is also a kernel boundary. planned
  • Voice in and out. planned
  • A mobile client for the same local API. planned