Initial commit: Ajarbot with optimizations

Features:
- Multi-platform bot (Slack, Telegram)
- Memory system with SQLite FTS
- Tool use capabilities (file ops, commands)
- Scheduled tasks system
- Dynamic model switching (/sonnet, /haiku)
- Prompt caching for cost optimization

Optimizations:
- Default to Haiku 4.5 (12x cheaper)
- Reduced context: 3 messages, 2 memory results
- Optimized SOUL.md (48% smaller)
- Automatic caching when using Sonnet (90% savings)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-13 19:06:28 -07:00
commit a99799bf3d
58 changed files with 11434 additions and 0 deletions

59
SETUP.md Normal file
View File

@@ -0,0 +1,59 @@
# Ajarbot Setup Guide
## Quick Start
1. **Clone the repository**
```bash
git clone https://vulcan.apophisnetworking.net/jramos/ajarbot.git
cd ajarbot
```
2. **Set up Python environment**
```bash
python -m venv venv
venv\Scripts\activate # Windows
pip install -r requirements.txt
```
3. **Configure credentials**
```bash
# Copy example files
copy .env.example .env
copy config\scheduled_tasks.example.yaml config\scheduled_tasks.yaml
copy config\adapters.yaml config\adapters.local.yaml
```
4. **Add your API keys**
- Edit `.env` and add your `ANTHROPIC_API_KEY`
- Edit `config\adapters.local.yaml` with your Slack/Telegram tokens
- Edit `config\scheduled_tasks.yaml` with your user/channel IDs
5. **Run the bot**
```bash
python bot_runner.py
```
## Important Files (NOT in Git)
These files contain your secrets and are ignored by git:
- `.env` - Your API keys
- `config/adapters.local.yaml` - Your bot tokens
- `config/scheduled_tasks.yaml` - Your user IDs
- `memory_workspace/memory_index.db` - Your conversation history
- `memory_workspace/memory/*.md` - Your daily logs
## Model Switching Commands
Send these commands to your bot:
- `/haiku` - Switch to Haiku (cheap, fast)
- `/sonnet` - Switch to Sonnet (smart, caching enabled)
- `/status` - Check current model and settings
## Cost Optimization
- Default model: Haiku 4.5 (12x cheaper than Sonnet)
- Prompt caching: Automatic when using Sonnet (90% savings)
- Context optimized: 3 messages, 2 memory results
- Max tool iterations: 5
See [README.md](README.md) for full documentation.