Home » GitHub Project tavern-labs-ai/persona-ai-sdk Launches AI Character Memory

GitHub Project tavern-labs-ai/persona-ai-sdk Launches AI Character Memory

By

–

GitHub Project tavern-labs-ai/persona-ai-sdk Launches AI Character Memory

Developers who want an AI character that stays in character and remembers past conversations now have a single package to reach for. The GitHub project tavern-labs-ai/persona-ai-sdk bundles a persona catalog with a provider-neutral memory and response runtime, and it is published to npm as persona-ai-sdk.

The shift is toward characters that persist, not chatbots that reset every session. The SDK’s own framing is blunt about the goal: pick a persona, wire a model, and ship a character that remembers. A single install brings the memory runtime, the persona catalog and the provider adapters together.

What the SDK Actually Does

persona-ai-sdk is a TypeScript SDK for applications where an AI character should remain recognizably itself and remember what matters across conversations. It separates five concerns that are usually tangled together, so a character’s identity and memory are not tied to one model provider.

The runtime does the heavy lifting in one call. It recalls relevant memories, compiles character instructions, asks a model for the next response, ingests the completed turn, evolves relationship state, and returns both text and voice delivery metadata. The response object carries delivery details such as emotion, pace, expressiveness, style and pause duration, plus a trace listing the provider, model, timings and recalled memory IDs.

The Pieces Developers Get

The package ships with eight default personas in version 1.0.3, including Atlas and Sage, the pair used in Tavern Labs demos. Atlas is also the fallback: asking for an unknown persona ID returns Atlas, so developers who need strict handling of unknown IDs are told to call personaIds() first.

Programmer writing code with Unit Tests.jpg
Photo: Joonspoon (CC BY-SA 4.0)

Each persona card maps onto a manifest with its prompt, traits, greeting and starting memories. Traits are advisory, passed alongside the system prompt so a host application can adapt tone without rewriting the prompt. A card’s suggested model is a recommendation, not a guarantee that the model is enabled on a given provider.

On memory, the SDK accepts seed memories through the same extraction and validation pipeline as ordinary conversation turns. Seeds are suggestions, not privileged records: the configured extractor may normalize, merge or reject them under confidence and provenance rules.

Provider support covers both OpenAI and AWS Bedrock. The adapters use the Responses API for extraction and character generation and the Embeddings API for vectors. Bedrock runs on the standard AWS SDK credential chain, and the execution identity needs permission to invoke the configured models. Extraction, embeddings and generation are independent ports, so an application can mix Bedrock generation with OpenAI embeddings or swap in a local adapter.

Storage is similarly modular. The SQLite adapter relies on better-sqlite3, and a JSON file store is available for simpler setups. For horizontally scaled deployments, the documentation points developers to the MemoryStore contract, which can be implemented on a tenant-partitioned database such as PostgreSQL or DynamoDB. The runtime also supports SillyTavern compatibility and a service adapter, widening the range of front ends a character can live in.

Who It Is For

The target is any developer building a chat, voice, game or SillyTavern experience where continuity matters. The package is released under the MIT License, and version 1.0.3 includes the memory runtime, both provider adapters, the SQLite store, the persona layer with relationship state, SillyTavern compatibility, the service adapter and the eight default personas.

Getting started requires an OpenAI API key or AWS credentials with Bedrock model access, plus better-sqlite3 when using the SQLite adapter. The project’s check command verifies formatting, TypeScript, deterministic tests and the distributable build, while live provider tests are opt-in because they consume paid API quota.

What’s changing underneath is the packaging. Character memory, persona identity and provider plumbing have typically been assembled piece by piece. Here they share one versioned package, so a bundled character can be adopted without coupling its identity or memory to a single provider.

Contributions are welcome, and the project asks that any reference to the software cite the package name, semantic version and exact Git commit so results can be reproduced. The current reference is persona-ai-sdk, version 1.0.3, under the MIT License.

Sources

Photo: Raysonho @ Open Grid Scheduler / Grid Engine (CC0)

Get breaking stories first on our Telegram channel.

More stories by

Most read

Crime & Fraud

People in the News

News

World News