Documentation

BitBuddy public alpha guide

Install BitBuddy, connect a model, add optional mail and calendar context, and understand the safety boundaries before you let it live beside your work.

Public alpha expectations

BitBuddy is public alpha software. It is meant for curious users who are comfortable running a local developer-style app and reporting rough edges. It is not a stable 1.0 product yet.

Expect change.

Features, local data shape, setup flows, and UI details may change between releases. Keep backups of anything important under ~/.bitbuddy.

Local first

BitBuddy stores config, memory, chats, projects, and local credentials on your machine.

Single user

There is no hosted account, team workspace, or cloud sync in the alpha.

Model dependent

Quality depends heavily on the local or hosted model you connect.

Requirements

Before installing, make sure the machine has these basics:

  • Python 3.11+ for the BitBuddy backend.
  • Node.js 18+ for the local Svelte dashboard.
  • git so the installer can clone and update the source.
  • A model provider, such as Ollama, llama.cpp, or an OpenAI-compatible endpoint.

Installer commands

The public installer clones BitBuddy into your home directory, creates a Python virtual environment, installs dashboard dependencies, and creates a bitbuddy launcher.

macOS / Linux

curl -fsSL https://getbitbuddy.com/install.sh | bash

Windows PowerShell

irm https://getbitbuddy.com/install.ps1 | iex

If the installer says ~/.local/bin is not on your PATH, add the line it prints, restart the terminal, then run:

bitbuddy doctor

Manual install from source

Use this path if you want to inspect every step or modify the source checkout yourself.

git clone https://github.com/bitbuddy-project/bitbuddy-brain.git ~/.bitbuddy/src/bitbuddy-brain
cd ~/.bitbuddy/src/bitbuddy-brain
python -m venv .venv
source .venv/bin/activate
pip install -e .
cd web
npm install
cd ..
bitbuddy doctor

On Windows, create and activate the virtual environment with PowerShell syntax instead:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .

First run

Run setup once, start the backend, then open the tokenized dashboard URL:

bitbuddy setup
bitbuddy serve
bitbuddy dashboard

The setup wizard asks for a name, base personality, model provider, optional project memory, and optional calendar settings. It shows a summary before writing configuration.

Two processes.

bitbuddy serve runs the local backend. bitbuddy dashboard starts the web UI and opens a URL that includes your local API token.

Model providers

BitBuddy needs a chat-capable model. Local models keep more traffic on your machine, but larger hosted models may be more capable.

ProviderUse whenTypical URL
OllamaYou want a simple local model setup.http://127.0.0.1:11434
llama.cppYou run an OpenAI-compatible local server.http://127.0.0.1:8080
OpenAI-compatibleYou use a hosted or custom compatible endpoint.Your provider base URL
bitbuddy provider check
bitbuddy provider models
bitbuddy provider stream-test --prompt "Say hello briefly."

Dashboard and API token

The backend binds to 127.0.0.1:8787 by default. The dashboard runs on 127.0.0.1:5173 and sends an X-BitBuddy-Token header to protected API routes.

bitbuddy auth token
bitbuddy auth rotate

For LAN testing, start the backend with --allow-lan and keep the token private. Do not expose the plain HTTP backend directly to the internet.

Run as a background service

On Linux with user systemd, BitBuddy can keep the backend running after login.

bitbuddy service install
bitbuddy service enable
bitbuddy service status
bitbuddy service logs -f

The service runs the backend only. Open the UI with bitbuddy dashboard when you want to use it.

Self-hosted Gmail OAuth setup

BitBuddy does not ship a shared Google OAuth app. Each user creates their own Google OAuth client and stores the client credentials locally. This keeps BitBuddy from holding a central Gmail integration for everyone.

Use Desktop app OAuth.

The recommended OAuth client type is Desktop app. BitBuddy uses a local loopback callback during connection.

Google Cloud steps

  1. Open Google Cloud Console and create or select a project.
  2. Enable the Gmail API for that project.
  3. Open Google Auth Platform and configure the OAuth consent screen.
  4. If the app is in testing mode, add your Google account as a test user.
  5. Add the Gmail scope you want BitBuddy to request.
  6. Create an OAuth client with application type Desktop app.
  7. Copy the client ID and client secret.

Choose a Gmail scope

ScopeUse forNotes
https://www.googleapis.com/auth/gmail.modifyRead, search, and move messages to Trash.Recommended default.
https://mail.google.com/Permanent delete and empty Trash.Only enable if you explicitly need full Gmail access.

Connect inside BitBuddy

  1. Open bitbuddy dashboard.
  2. Go to Settings -> Email.
  3. Enable email and choose Gmail.
  4. Paste the Google OAuth client ID and client secret.
  5. Save email settings.
  6. Click Connect Gmail and finish the Google authorization flow.

Gmail troubleshooting

  • Google says "Something went wrong": disable URL-cleaning extensions, redirect cleaners, tracking parameter strippers, container extensions, VPN browser isolation, or try BitBuddy's clean browser OAuth action.
  • Access blocked: confirm the Gmail API is enabled, your account is listed as a test user, and the chosen scope is added in Google Auth Platform.
  • Changed scopes: save settings, then reconnect Gmail so Google issues a token with the new scope.
  • Permanent delete unavailable: enable Full Gmail access in BitBuddy, add https://mail.google.com/ in Google Cloud, save, and reconnect.

Calendar

BitBuddy includes a local calendar view, reminders, holiday overlays, and assistant calendar tools. The authenticated dashboard can manage events; assistant calendar actions are governed by the assistant permission settings.

Configure calendar basics in Settings -> Calendar. If BitBuddy should use calendar context in chat or autonomy, review the assistant calendar access controls there too.

Projects

Project memories let BitBuddy understand explicit project paths without broad home-directory access.

bitbuddy projects add my-project /path/to/project
bitbuddy projects index my-project
bitbuddy projects map my-project
bitbuddy projects list

BitBuddy indexes and summarizes project context into its own data under ~/.bitbuddy. File-writing tools are separate and require the relevant safety gates.

Memory and continuity

BitBuddy keeps memory in layers: conversations, project context, preferences, skills, goals, and self/personality notes. You can inspect memories in the dashboard and use bitbuddy doctor to verify the local database.

Memory is local. There is no hosted BitBuddy account or cloud memory sync in the public alpha.

Skills

Skills are reusable procedures stored locally under ~/.bitbuddy/skills. BitBuddy can list, load, validate, create, patch, and archive skills through confined tools.

Use skills for workflows you want BitBuddy to repeat consistently, such as debugging routines, frontend implementation checklists, or project-specific release steps.

Safety model and permissions

BitBuddy is designed to be useful without silently taking over your machine. The main controls are modes, tool permissions, explicit project paths, and the local API token.

Plan mode

Read-only. It can inspect, search, and reason, but not mutate files or state.

Debug mode

Allows debugging-related changes while blocking unrelated mutations.

Chat mode

Most capable mode. Sensitive shell, file, calendar, email, and MCP actions use permission gates.

Email and calendar permissions describe what BitBuddy's assistant tools may do. They do not block your own authenticated dashboard actions.

Config and data locations

~/.bitbuddy/config.yaml       # local configuration
~/.bitbuddy/api_token         # local API token
~/.bitbuddy/bitbuddy.sqlite   # chats, memories, activity, permissions
~/.bitbuddy/projects          # per-project memory data
~/.bitbuddy/artifacts         # default generated artifact workspace
~/.bitbuddy/skills            # local skills
~/.bitbuddy/workspace         # BitBuddy-owned notes and drafts

Secrets such as provider keys and OAuth tokens are stored locally outside the main config file where possible.

Update BitBuddy

If you installed with the public installer, rerun the installer to update the source checkout and reinstall dependencies. For a manual checkout, pull and reinstall:

cd ~/.bitbuddy/src
git pull
source .venv/bin/activate
pip install -e .
cd web
npm install
cd ..
bitbuddy doctor

Uninstall or reset

To stop a Linux user service:

bitbuddy service disable
bitbuddy service stop

Remove the source checkout and launcher if you only want to uninstall the app code. Remove ~/.bitbuddy only if you also want to delete local memory, chats, config, tokens, and skills.

rm -rf ~/.bitbuddy/src
rm -f ~/.local/bin/bitbuddy
Data deletion is permanent.

Deleting ~/.bitbuddy removes local memory and credentials. Back it up first if you might come back.

Troubleshooting

Start with Doctor. It checks setup, storage, SQLite, ports, provider health, web dependencies, autonomy, and web search.

bitbuddy doctor
bitbuddy doctor fix

bitbuddy: command not found

Add ~/.local/bin to your PATH, then open a new terminal.

Dashboard cannot connect

Make sure bitbuddy serve is running. The default backend is 127.0.0.1:8787.

Model errors

Run bitbuddy provider check. For Ollama or llama.cpp, confirm the local model server is running and the configured model exists.

Port already in use

Use custom ports with bitbuddy serve --port and bitbuddy dashboard --api-port, or stop the process using the default port.

Known limitations

  • BitBuddy is an alpha and will continue changing after release.
  • There is no hosted account, team mode, or cross-device sync.
  • The physical body, desktop app, mobile app, and Devices page are roadmap items.
  • Small local models may struggle with long context, tools, and multi-step work.
  • LAN access is possible but should be treated as advanced local-network use, not internet exposure.