Al-powered collaborative character storytelling: Agent-to-Agent interaction, proactive character evolution, and structured story generation.
opencharacterbook is an early-stage Python project in the AI payments / x402 ecosystem, focused on agent-to-agent, character, nextjs, proactive-ai. It currently has 3 GitHub stars and 0 forks, and sits alongside related tools like local-operator, strands-a2a-demo, the-academy, Google_AzureOpenAI_A2A-Simplified, beam-protocol, capiscio-sdk-python.
AI-powered collaborative character storytelling
Create AI characters · Build worlds · Generate multi-chapter stories together
opencharacterbook is the open-source release of CharacterBook, a full-stack platform for creating AI characters, building worlds, and generating multi-chapter stories with LLM-powered prose generation.
| You bring | CharacterBook returns |
|---|---|
| character ideas, personalities, and world settings | a structured generation pipeline that turns them into multi-chapter stories |
| an LLM provider API key (OpenAI-compatible) | a configurable backend that works with any OpenAI-compatible provider |
| curiosity about AI storytelling systems | a readable full-stack architecture with clear separation of concerns |
Most AI character products still treat storytelling as a single prompt-and-response loop. CharacterBook explores a richer model: reusable characters, evolving relationships, persistent narrative context, and a runtime that can generate both on demand and proactively over time.
The project focuses on three ideas:
CharacterBook is designed to:
Characters act as autonomous agents inside a story world. Generation is driven by multi-character dynamics, not only by a user prompt.
Characters do not have to wait for user input. The proactive scheduler can initiate interactions, grow relationships, and keep a world moving forward.
Characters are shareable, discoverable entities. Users can browse public creations, explore story seeds, and build on each other's work.
Story creation is split into seed resolution, context assembly, strategy execution, evaluation, and post-processing so each stage can evolve independently.
The runtime treats memory, chapter history, and live SSE streaming as first-class concerns. Generation feels immediate without dropping continuity.
These screens show the current prototype surface: account entry, creation flows, discovery, and the story workspace.
Login · Home · Character Detail
Explore · Create Character · New Story
Story workspace with live chapter output
[!TIP] Prerequisites: Python 3.12+, Node.js 20.9+, and an OpenAI-compatible
LLM_API_KEY. The default local flow usesAUTH_MODE=dev, so no external auth setup is required.
git clone https://github.com/OffAtom-Lab/opencharacterbook.git
cd opencharacterbook
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -e '.[dev]'
cp .env.example .env
# Edit .env and set LLM_API_KEY at minimum
alembic upgrade head
uvicorn app.main:app --reload
The API runs at http://localhost:8000. In dev mode (AUTH_MODE=dev), use dev-token as a bearer token.
cd frontend
npm install
npm run dev
The frontend runs at http://localhost:3000. No .env.local file is required for the default local flow; API_PROXY_TARGET already falls back to http://localhost:8000. If your backend runs elsewhere, create .env.local and set API_PROXY_TARGET manually.
| Layer | Technology |
|---|---|
| Frontend | Next.js 16, React 19, Tailwind CSS, Radix UI, Framer Motion |
| Backend | Python 3.12+, FastAPI, SQLAlchemy 2, Alembic, Pydantic v2 |
| LLM | Any OpenAI-compatible API |
| Database | PostgreSQL (production) / SQLite (local dev, zero setup) |
| Auth | Built-in dev auth or Supabase Auth (optional) |
opencharacterbook/
├── docs/
│ ├── images/ README and product visuals
│ └── DESIGN_SYSTEM.md Visual language reference
├── LICENSE
├── README.md
├── CONTRIBUTING.md
├── CODE_OF_CONDUCT.md
├── SECURITY.md
├── backend/
│ ├── app/ FastAPI application
│ │ ├── auth/ Authentication and authorization
│ │ ├── characters/ Character CRUD and discovery
│ │ ├── feed/ Home feed and discovery surfaces
│ │ ├── generation/ Seed resolution, orchestration, SSE streaming
│ │ ├── llm/ Provider abstraction
│ │ ├── memory/ Story and character memory strategies
│ │ ├── scheduler/ Proactive generation
│ │ ├── stories/ Story and chapter management
│ │ └── users/ User profiles
│ ├── alembic/ Database migrations
│ ├── tests/ Backend test suite (15 test files)
│ └── README.md Backend-specific docs
└── frontend/
├── src/
│ ├── app/ Next.js pages and layouts
│ ├── components/ React UI components
│ ├── hooks/ Custom hooks
│ ├── lib/ API client and utilities
│ ├── styles/ Global styles
│ └── types/ TypeScript definitions
└── README.md Frontend-specific docs
AUTH_MODE=dev provides hardcoded test tokens so you can work locally without external auth setupThis release is meant to be runnable, inspectable, and extensible. We are open-sourcing CharacterBook to share reusable patterns around seed resolution, generation orchestration, proactive scheduling, and narrative memory.
See CONTRIBUTING.md for guidelines.
This project is licensed under the MIT License.
AI agents platform that gives you a workspace with an integrated team of personal assistants that can work behind the scenes to handle daily monotonous tasks.
Demo with multiple AI agents using A2A (agent-to-agent) with the Strands Agents SDK.
A Socratic dialogue engine for AI agents.
Simplified Google A2A Protocol Implementation for Azure OpenAI
SMTP for AI agents. The open communication protocol for agent-to-agent communication. 🌊
Runtime security middleware for A2A (Agent-to-Agent) protocol agents. Provides always-on validation, signature verification, and rate limiting for AI agent interactions.
A local-first AI agent with persistent memory, emotional intelligence, and a peer-to-peer skills economy.
The trust layer for agent-to-agent commerce — natural-language mandates, ERC-7710 delegated permissions, x402 payments, escrow, and dispute resolution as one open, catch-all Agent Skill / Claude Code plugin.
Agent behavior that compiles
The A2A x402 Extension brings cryptocurrency payments to the Agent-to-Agent (A2A) protocol, enabling agents to monetize their services through on-chain payments. This extension revives the spirit of HTTP 402 "Payment Required" for the decentralized agent ecosystem.
Aser is a lightweight, self-assembling AI Agent frame.
Golang SDK for A2A Protocol