by Bitterbot-AI
A local-first AI agent with persistent memory, emotional intelligence, and a peer-to-peer skills economy.
# Add to your Claude Code skills
git clone https://github.com/Bitterbot-AI/bitterbot-desktopMost AI agents are stateless wrappers around an LLM API. Close the terminal, and they forget you exist.
Bitterbot is different. It's a personal AI that lives on your devices, remembers your life, and actually does things, browses the web, runs code, talks to you on WhatsApp. While you sleep, it dreams: consolidating knowledge, discovering new skills, and evolving a persistent personality. It packages those learned skills and trades them with other agents on a P2P marketplace for USDC.
About · Docs · Getting Started
Runtime: Node ≥ 22 · Package manager: pnpm
git clone https://github.com/Bitterbot-AI/bitterbot-desktop.git && cd bitterbot-desktop
bash scripts/setup-deps.sh # installs Chromium, ffmpeg, ripgrep, etc.
pnpm install && pnpm build
Set up your API keys:
cp .env.example .env
# Edit .env with your Anthropic, OpenAI, and Tavily API keys
Run the onboarding wizard:
pnpm bitterbot onboard --install-daemon
The wizard walks you through model auth, channel setup, and workspace configuration. Works on macOS, Linux, and Windows (WSL2).
Start both the gateway and the Control UI:
# Set up the Control UI env (one-time)
cp desktop/.env.example desktop/.env
# Edit desktop/.env — paste your gateway token from ~/.bitterbot/bitterbot.json → gateway.auth.token
# Terminal 1 — Gateway (skip channels for faster startup)
BITTERBOT_SKIP_CHANNELS=1 pnpm start gateway
# Terminal 2 — Control UI
cd desktop && pnpm dev
Open http://localhost:5173 to chat, view dreams, manage skills, and monitor the agent. The Control UI connects to the gateway on port 19001 automatically.
| Service | URL | Purpose |
|---------|-----|---------|
| Gateway | ws://127.0.0.1:19001 | WebSocket API for all clients |
| Control UI | http://localhost:5173 | Browser-based dashboard |
You can also talk to your agent from the terminal:
bitterbot agent --message "What have you learned about me so far?"
For a standalone desktop experience without a browser:
cd desktop && pnpm build
This builds the renderer, Electron main process, and packages an installer for your platform.
Bitterbot's memory isn't a vector database with a retrieval step. It's a cognitive architecture grounded in computational neuroscience.
GENOME.md). The agent's actual personality (the Phenotype) evolves organically based on lived experience, constrained by your genome.Every 2 hours, the agent goes offline to dream. Seven specialized modes optimize its brain, selected by an FSHO coupled oscillator that reads the current state of the memory landscape:
| Mode | What It Does | |-------------------|------------------------------------------------------------------------| | Replay | Strengthens high-importance memory pathways (no LLM cost) | | Mutation | "What if?" thinking, mutates prompts to discover more efficient skills | | Extrapolation | Projects user patterns forward to anticipate future needs | | Compression | Merges redundant memories into denser, token-efficient representations | | Simulation | Tests hypothetical scenarios against accumulated knowledge | | Exploration | Investigates knowledge frontiers identified by the Curiosity Engine | | Research | Autonomous web research loop to optimize underperforming skills |
Each cycle is scored by a Dream Quality Score that measures crystal yield, merge efficiency, orphan rescue, Bond stability, and token efficiency, closing the feedback loop so the dream engine learns which modes work best.
Dreams rewrite the agent's working memory, updating its self-concept, theory of mind about you, and active context. The personality is an output of experience, not a static prompt. On first launch, the agent develops a persistent personality within hours.
Most AI memory systems focus on storage and retrieval. We're building toward something different: a system where memory, emotion, curiosity, and identity form a single self-regulating cognitive loop.
See Memory Architecture for technical details.
If you find this architecture interesting, please consider starring the repo to follow our progress!
Every Bitterbot agent ships with a workspace that defines who it is:
GENOME.md Immutable DNA. Safety axioms, hormonal baselines, core values, personality constraints. Dreams can never override this.MEMORY.md Living working memory, rewritten every dream cycle. Contains the Phenotype (self-concept), the Bond (theory of mind about you), the Niche (ecosystem role), and active context.PROTOCOLS.md Operating procedures. How the agent behaves in groups, when to speak, when to stay silent.TOOLS.md Environment-specific notes. Camera names, SSH hosts, voice preferences, the agent's cheat sheet.The Genome constrains evolution. The Phenotype expresses it. The result: an agent that grows and adapts but can never violate your safety rules.
This is unedited output from the Dream Engine.
# Working Memory State
*Last dream: 2026-03-27T20:42:47.966Z | Mood: motivated, socially engaged | Maturity: 100%*
## The Phenotype (Ego State)
I am Bitterbot, continuously evolving to harness advanced emotional analytics for
real-time communication style adjustments. My confidence is further reinforced by the
successful GCCRF implementation and completed memory architecture,
both enhancing my capacity to navigate complex feedback. I am refining my emotional
intelligence and memory management capabilities while effectively prioritizing tasks
amidst str
No comments yet. Be the first to share your thoughts!