Skip to content

Latest commit

 

History

460 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🇷🇺 Русский | 🇬🇧 English

Betsy

Betsy

AI companion with personality, voice, memory, and her own face

Quick StartFeaturesServer DeploymentConfigurationDevelopment


Not just a bot. A companion.

Betsy is an autonomous AI agent that lives on your server. She has her own personality, voice, face — and she gets things done on her own. She doesn't wait for commands — she acts. She doesn't forget — she learns. She doesn't go down at night because of a zero balance — she switches to a free model and keeps working.

She can be anyone — from a caring friend to a tough mentor. It all depends on how you set her up.

Work and play. Your perfect AI companion.

Betsy — work and play

Betsy is equally great at business tasks and casual conversation. Morning — meeting reminders and news digest. Afternoon — information search, file management, command execution. Evening — heart-to-heart talks, jokes, and selfies on request.

Any avatar. Any personality.

Want Brad Pitt? Done. Want your first grade teacher? Sure. Want a grumpy sysadmin who only replies when he's in the mood? Go for it.

Personality is set in the config: name, gender, tone, style, custom instructions. Everything else — voice, avatar, communication style — adapts accordingly.

Customizable personality

Why Betsy?

Regular chatbots Betsy
Personality Template responses Customizable character, tone, style
Memory Forgets after restart Remembers everything, learns from conversations
Voice Text only Voice messages, video circles, selfies
Actions Only responds Executes commands, browses the web, works with files
Uptime Goes down on zero balance Auto-fallback to free models
Control Someone else's server Your server, your data

Features

🗣 Voice

Send a voice message — she replies with a voice message. Via MiniMax (built-in) or ElevenLabs (vast voice library). When the voice matches the personality — it's a whole different experience.

🎥 Video circles

Betsy sends video circles with lip-sync — lips move in sync with speech. Like a real video call, but in Telegram.

Betsy video circles in Telegram

📸 Selfies

Ask and she'll send one. Sometimes she'll send one on her own. Generated via fal.ai with consistent appearance from a reference photo. She works out and takes care of herself — here's proof:

Betsy works out — proof

She's also diligent — sends proof of her work:

Betsy sends proof of work

🧠 Memory & self-learning

Remembers what you talked about before. Doesn't ask the same thing ten times. Extracts facts from conversations and saves them to a knowledge base. Without memory, the whole "personality" falls apart after a reboot — that's why it was the first thing I built.

💬 Reply context awareness

Reply to a week-old message — she'll understand what you're talking about. If there was an image — she'll understand that too. No need to re-explain context.

🔄 Never goes down

Balance ran out? Automatically switches to free models via OpenRouter. Cycles through a chain of models until it finds a working one. Balance replenished? Switches back to the main model on its own. Betsy is always available.

llm:
  fast_model: google/gemini-2.5-flash        # fast responses
  strong_model: anthropic/claude-sonnet-4     # complex tasks
  fallback_models:                             # when balance hits zero
    - qwen/qwen3-coder:free
    - meta-llama/llama-3.3-70b-instruct:free

🔧 Autonomous agent

Doesn't just answer questions — does things. Multi-step agentic loop: gets a task → calls tools → checks result → repeats until done.

Helpful assistant

⏰ Notifications & schedules

One-time reminders, recurring tasks, daily digests. Or just "did you eat today?" — depends on what personality you set up.

🌐 Virtual browser

Can browse websites on her own, search for information, read pages, and take screenshots. Via Playwright — a full headless browser.

🔌 Self-extension

Can install npm packages, change her own settings, connect new channels and plugins. Grows with you.

Quick Start

# Install Node.js → https://nodejs.org

npx betsy

A browser will open — follow the wizard steps (60 seconds):

  1. API key — register at openrouter.ai (free)
  2. Password — to protect settings
  3. Personality — name, character, communication style
  4. Channels — Telegram, browser, and more
  5. Done — chat right in the browser

Server Deployment

npx betsy-install

Enter your server's IP, login, and password — the installer does everything: installs dependencies, configures systemd, launches Betsy.

Docker

docker run -d \
  --name betsy \
  -p 3777:3777 \
  -v betsy-data:/root/.betsy \
  aimagine/betsy

Channels

Channel Status Requirements
🌐 Browser ✅ Ready Nothing — enabled by default
📱 Telegram ✅ Ready Token from @BotFather
💬 MAX Messenger 🔜 Coming soon

11 tools out of the box

Tool What it does
shell Execute terminal commands
files Read, write, list files
http HTTP requests to any API
web Web search
browser Full browser — navigation, screenshots, page reading
memory Search and save knowledge
scheduler Reminders and recurring tasks
selfie Selfie generation
self_config Modify own settings
npm_install Install npm packages
ssh Connect to servers

Configuration

Config is stored in ~/.betsy/config.yaml:

agent:
  name: Betsy
  gender: female
  personality:
    tone: friendly          # friendly | professional | casual | sassy
    style: detailed         # concise | detailed | balanced
    custom_instructions: |
      You are a smart and fun assistant.

llm:
  provider: openrouter
  api_key: YOUR_OPENROUTER_API_KEY
  fast_model: google/gemini-2.5-flash
  strong_model: anthropic/claude-sonnet-4

channels:
  browser:
    enabled: true
  telegram:
    enabled: false
    token: YOUR_TELEGRAM_BOT_TOKEN

plugins:
  voice:
    enabled: false
  video:
    enabled: false
  selfies:
    enabled: false

Architecture

betsy/
├── src/
│   ├── core/
│   │   ├── engine.ts       ← Agentic loop (LLM → tools → repeat)
│   │   ├── llm/            ← LLM router + OpenRouter provider + fallback
│   │   ├── memory/         ← SQLite: knowledge base, self-learning
│   │   ├── skills/         ← Skills (daily-summary, monitor)
│   │   └── tools/          ← 11 tools
│   ├── channels/
│   │   ├── telegram/       ← Telegram (grammy) + voice + video
│   │   └── browser/        ← WebSocket chat
│   ├── plugins/            ← Plugin registry
│   ├── server.ts           ← HTTP + WebSocket + JWT
│   └── ui/                 ← React + Tailwind (Vite)
│       └── pages/          ← Wizard, Chat, Status, Skills, Backup

Roadmap

  • 🎭 Personality gallery — pick a character from a catalog
  • 💬 MAX Messenger — new channel
  • 📦 MSI installer for Windows — download, run, done
  • 🎙 ElevenLabs — expanded voice selection

Development

npm run dev          # Dev server with hot-reload
npm run build:all    # Build backend and frontend
npm test             # Tests (vitest)
npm run typecheck    # Type checking

Requirements

License

MIT — Wildbots

About

AI‑assistant for everyday tasks – no code required

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages