Installation
Requirements
- Node.js 22+
- A Telegram bot token (from @BotFather) or Discord bot token
- At least one model provider (ollama, OpenRouter, Kiro CLI, Gemini CLI, Codex, or Claude Code)
Agent install
Give this page to your favourite AI agent (Claude, Gemini, Codex, Kiro) and ask it to install abTARS for you. It has all the information it needs right here. 😉
Install channels
| Channel | Command | Who |
|---|---|---|
| Stable | npm install -g abtars abmind | Normal users |
| Alpha | npm install -g abtars@alpha abmind@alpha | Early adopters, testers |
| Dev | git clone + abtars update --from-local | Contributors, developers |
Stable ≤ Alpha ≤ Dev.
One-liner install (recommended)
curl -fsSL https://raw.githubusercontent.com/aksika/abtars/main/scripts/install.sh | bashAlpha channel:
curl -fsSL https://raw.githubusercontent.com/aksika/abtars/main/scripts/install.sh | CHANNEL=alpha bashThe script handles everything: Node.js detection, package install, memory setup, configuration, and prints the final command to start the daemon.
Manual install (npm)
npm install -g abtars abmind
abmind install
abtars install
abtars update
abtars onboard
sudo $(which abtars) daemon installAlpha channel (latest development builds):
bashnpm install -g abtars@alpha abmind@alpha
| Step | What happens |
|---|---|
npm install -g abtars abmind | Installs CLI tools globally |
abmind install | Creates ~/.abmind/, generates encryption key, initializes memory DB |
abtars install | Creates ~/.abtars/ skeleton (config, scripts, skills) |
abtars update | Stages the release (copies bundle to ~/.abtars/releases/) |
abtars onboard | Interactive setup: Telegram token, model, user ID |
sudo ... daemon install | Registers systemd service, starts the bridge |
After daemon install, the bridge is running and responding to messages. No separate restart needed.
Install from source (git clone)
git clone https://github.com/aksika/abtars.git
cd abtars
npm install
npm run bundle
abtars install
abtars update --from-local
abtars onboard
sudo $(which abtars) daemon installTo update after pulling new commits:
git pull
abtars update --from-localThis rebuilds and hot-restarts the bridge in one command.
Memory (abmind)
abmind is optional but recommended. Without it, the bridge responds but forgets between sessions. The abtars onboard wizard installs it automatically if available on PATH.
What memory adds:
- Persistent recall across sessions
- Overnight sleep maintenance (fact extraction, consolidation)
- Emotion tagging and memory promotion
- Searchable memory via tools
- Personalized SOUL (agent identity)
Daemon management
abtars daemon status # show service state
sudo systemctl stop abtars # stop
sudo systemctl start abtars # start
sudo systemctl restart abtars # restart
sudo $(which abtars) daemon uninstall # remove the serviceFor development (no daemon):
abtars start # direct start, foreground watchdog
abtars stop # stopWhat gets created
~/.abtars/
├── config/ # .env, transport.json, models.json, users.json
├── secret/ # API keys (encrypted at rest)
├── current/ # symlink → active release
├── releases/ # versioned bundles
├── logs/ # bridge-YYYY-MM-DD.log
├── scripts/ # watchdog.sh, doctor.sh
├── skills/ # core/ + custom/ + self/
├── workspace/ # agent working directory
└── bridge.pid # PID of running bridge
~/.abmind/ # (only after abmind install)
└── memory/
├── memory.db # SQLite + FTS5 + embeddings
├── core/ # SOUL.md, agent_notes.md, user_profile.md
├── daily/ # daily summaries + retrospectives
└── sleep/ # sleep cycle state + logsProviders
| Provider | Transport | Setup |
|---|---|---|
| ollama | Direct API | ollama serve locally, free |
| OpenRouter | Direct API | API key in ~/.abtars/secret/OPENROUTER_API_KEY |
| Kiro CLI | ACP | kiro-cli installed, AWS account |
| Gemini CLI | ACP | gemini installed, Google account |
| Codex | ACP | codex installed |
| Claude Code | ACP | claude installed |
Configure in ~/.abtars/config/transport.json. The onboard wizard sets this up interactively.
Post-install verification
See Health Check for detailed commands.
abtars status # should show bridge: ● running
abtars doctor # should show all greenSend a message to your bot on Telegram — it should respond.
Updating
npm update -g abtars abmind
abtars updatePlatform-specific notes
Linux (systemd)
Daemon mode installs /etc/systemd/system/abtars.service:
sudo systemctl status abtars
sudo systemctl restart abtarsmacOS (launchd)
Daemon mode installs /Library/LaunchDaemons/com.abtars.daemon.plist:
sudo $(which abtars) daemon stop
sudo $(which abtars) daemon startWSL
Ensure systemd is enabled in /etc/wsl.conf:
[boot]
systemd=trueTroubleshooting
See Health Check and Troubleshooting.