A shared host for character agents

Many voices.
One coherent system.

Build persistent character conversations with distinct identities, lore, and permissioned memory. Run them through the shared Chorus host, connect Discord, and shape their behavior in Character Studio.

In development · Public access is not open yet

The shared Chorus hostEngineering preview

Characters, scenes, and history belong to the host

Character instancesScenesConversations
HostContextModelResult
How they connect
Discord bridge
What they remember
Authorized memory spaces
How turns are built
Selected plugin boards
What stays
Authorized history + results

Architecture overview · Discord is the first I/O bridge.

The latest build

A shared foundation for every voice.

Implemented in local development.
Reviewed October 16, 2026.

01

Persistent character conversations

Characters, instances, scenes, and conversations now belong to the shared Chorus host. Character and out-of-character turns can retain history across process restarts without a Discord account or connection.

02

Behavior you can compose

Context assembly, memory retrieval, and memory selection are supplied by typed plugin boards. Reviewed assemblies can nest, with published revisions, explicit grants, and one shared lifecycle for their configuration.

03

Rehearsal with real context

Select a host instance, conversation, saved draft, and memory mode in Studio. Preview the selected context assembly or request private inference, with protected sources checked under your own access.

The current platform

Character systems deserve systems engineering.

The creative pieces and the operational controls belong together. These capabilities are implemented in the development system; public hosting is still ahead.

01Create

Characters worth keeping

Import native, V2, and V3 character JSON. Edit identity, dialogue, and behavior in Character Studio, then validate and publish an immutable revision. Export cards with their unknown extension fields preserved.

02Remember

Continuity by permission

Give characters long-term memory through logical memory spaces. Explicit, revocable bindings let authorized instances share continuity. Current retrieval uses canonical keyword matches with relevance or recency ordering, preserving source permissions.

03Ground

Lore that knows its cue

Author and publish lorebooks with configurable activation, ordering, cooldowns, and token budgets. Inspect which entries activated, why they matched, and what reached the conversation.

04Direct

A cast with direction

Coordinate a cast with scene rosters, speaker rules, and ordered response plans. The Discord bridge adds exact server, channel, and thread routes, per-character presentation, and bounded replies.

05Personalize

Your side of the story

User-owned personas describe how characters perceive you. Activate a persona for a server, assign its audience, and set a conversation’s situation. Your persona stays separate from the characters who speak.

06Extend

Models and tools, on your terms

Configure local or remote model providers, generation settings, and output checks. Connect MCP servers, webhooks, or configured isolated tools through scoped policies, live probes, and approval controls.

Character Studio

Make it yours.
Know what ran.

One console for character drafts, lorebooks, personas, scenes, and Discord routing. Host-native rehearsal and selected-board memory inspection bring the actual context path into view, alongside model settings, tools, and operational evidence.

Read the preview FAQ
  1. 01

    Shape the character

    Start with a card or a new draft. Add lore, review the draft, validate the result, and publish the version you want to run.

  2. 02

    Choose its context

    Choose a character instance, its memory bindings, model, and tools. Set scene participation and Discord routes where that bridge is used.

  3. 03

    Rehearse, then inspect

    Use host-native rehearsal to preview context or run private inference without delivery, tools, or conversation and memory writes. Inspect actual runs and the Discord delivery path separately in Studio.

Built for trust

Knobs, lights, and hard boundaries.

Creative freedom works better when identity, permissions, and provenance stay clear.

  1. 01

    Sharing is explicit

    Placing a character in another server does not grant access to history or memory. Memory bindings and source-data permissions are separate, revocable decisions.

  2. 02

    Published means pinned

    Characters, configuration, and selected plugin assemblies use immutable revisions. A running turn keeps its selected pins, while permission changes are checked again before protected use.

  3. 03

    Tools have boundaries

    Tool execution is denied by default. Capabilities and approval rules govern actions; model output alone cannot authorize a side effect.

  4. 04

    Context respects its source

    Edited or deleted messages are fenced out of new context, with downstream memory and delivery cleanup. For Discord delivery, characters classified as age-restricted require channels Discord marks age-restricted.

Engineering preview

Built locally.
Opening carefully.

Feature review ·

The shared host, Discord bridge, canonical memory retrieval, and host-native rehearsal are implemented in local development. Public access is not open yet; integrated acceptance and reliability work continue.

The next layers are browser participation, independent identity, richer authoring, and broader extensions. Semantic retrieval, automatic summaries, and POV simulation remain planned capabilities.

What the preview includes

A few useful answers

Before the curtain rises.

Is Chorus still for Discord?

Yes. Discord is the first conversation bridge, with character presentation, routing, scenes, and delivery controls. Character identity and conversation state now belong to the shared host, which can execute without Discord. General browser participant chat is still planned.

Can I use Chorus today?

Chorus is in active local development. The shared host, Discord bridge, Studio, and memory workflows are implemented in source, with acceptance and reliability work continuing. Public sign-up and a hosted application are not available yet.

Can I bring my existing character cards?

Native, V2, and V3 character JSON can be imported and exported. PNG and CHARX packages can also be inspected for character metadata. Storing their embedded images and other media through the product is still being developed.

Do characters have to use the same model?

Model and provider profiles are configurable, including local MLX and remote OpenAI-compatible endpoints. Support depends on the provider’s declared capabilities; quality checks and retries follow the configured processing path.

Does memory automatically follow a character everywhere?

Continuity follows authorized memory-space bindings, not a server placement. Instances can share a logical memory space only when explicitly bound, and access to the original conversation evidence is checked separately.

What kind of memory works now?

The current runtime retrieves authorized canonical keyword matches, ordered by relevance or recency. Selected-board inspection can show source and selection metadata for an exact saved message without running a model. Semantic retrieval, query embeddings, generated summaries, and POV beliefs remain separate future capabilities.

What is coming next?

The shared host already supports conversations without Discord. Browser participation, independent browser identity, richer authoring, semantic memory, automatic summaries, and full imported-media workflows remain ahead. Bounded POV simulation and optional domain integrations are later layers; no launch dates are announced.