Repository navigation
Coming from SillyTavern
You don't have to choose. Orbweaver reads your SillyTavern library, so you can try it with your own characters, chats and lorebooks and keep both apps side by side. → Credits
The import is dull by design. It adds, it never updates or deletes anything you already have, and it reports what it skipped.
You don't need a model connected to import. Install first if you haven't. → Install
- Open Settings and go to Backup & Restore, then Import.
- Choose Import a folder... and pick your SillyTavern user folder (the one with
characters,chatsandsettings.jsoninside, usuallydata/default-userin your SillyTavern install). If you pick the wholedatafolder with several profiles in it, they all merge into your one Orbweaver library. - Orbweaver shows a check first. Nothing is sent until you press Import.
- The import runs in the background, with a progress bar while it works.

Before you import:
-
Use the folder, not a zip. A
.zipis read as an Orbweaver backup. If you zip up a SillyTavern profile, only the parts that happen to match Orbweaver's own layout can come in and the rest is skipped. Unzip it and pick the folder instead. → Back up and restore covers Orbweaver's own zips. - Big folders are fine. A folder over the upload cap is sent as several uploads, one after another, and the check says how many. A file the importer can't use, or one over the 64 MB per-file cap, stays on your disk and is listed as skipped with the reason.
- One card? Drop a single character card (PNG or JSON) on the same box, or use Import a character card on the Characters page.
-
Your API keys don't travel.
secrets.jsonnever leaves your browser, and the server drops it if it ever arrives. Add your connection again in Connect a model.
The check states the rules before anything happens:
- Nothing you already have is updated or deleted. The one thing that changes is your settings, which an Orbweaver backup's settings merge into.
- Anything already in your library (the same card, world book, theme, preset or persona, judged by content) is skipped and reported as "already in your library", so running the same import twice doesn't duplicate it.
- A world book, theme or preset that shares a name with a different one of yours lands beside it under a numbered name: "Name 2" for themes and presets, "Name (2)" for world books. Your original isn't touched.
- A persona in your SillyTavern folder that shares a name with a different persona of yours is asked about first. The check says what differs and offers Merge into your existing persona, which is preselected and keeps yours as it is, or Keep both, which adds the import under the next free name such as "Name 2". Chats from that folder follow the persona you kept. A persona restored from an Orbweaver backup still lands beside yours under a numbered name.
- Characters are matched on the card's text plus its art. Two different cards that share a name stay two characters, the same text with different art is a separate alt-art character, and a JSON card followed by its PNG attaches the art to the character you already have.
- Imported presets get "(OpenAI)" after their name and imported themes get "(SillyTavern)".
A folder import shows up under Jobs, in Runs, with how many items it looked at and how many changed.
It also saves a full report as a Markdown file in the reports folder inside your Orbweaver data folder. It counts what landed, lists what was skipped and why, and names the parts of your SillyTavern profile that Orbweaver doesn't import, most with a one-line reason. Open it once after a big import. It's the real answer to "did everything come over?"
If a chat folder had no matching card, Orbweaver makes a placeholder character tagged "orphan import" so the chats aren't lost. The report names each one.
Right after an import, Orbweaver indexes your new characters in the background so search by meaning works. With Memory on, it also indexes the imported transcripts and offers Build memory for imported chats before starting paid summaries. The offer shows the estimated model-call count. Skip it and each chat builds summaries at its next reply, or run Memory backfill from Jobs. Summaries run on your Utility model; indexing uses your Text embedding model, which is local by default but can be hosted. Memory is off until you switch it on. → How memory works
The whole-profile import handles every type below. Several types also have their own button, and some of those buttons only take Orbweaver's own files.
| From SillyTavern | Whole-profile import | Its own button takes a raw SillyTavern file? |
|---|---|---|
| Character cards | Yes | Yes: Import a character card on the Characters page |
Chats (.jsonl) |
Yes | Yes: Import a chat transcript on the Chats page |
| Group chats | Yes | No |
| Personas | Yes | No: Restore a persona from an Orbweaver backup file takes Orbweaver backups only; a SillyTavern persona has no file of its own |
| Chat Completion presets | Yes | Yes: Import a preset on the Presets page |
| World Info files | Yes | Yes: Import a world-info book on the World Info page |
| Regex scripts | Yes (global ones; scripts carried by a card or preset come with it) | Yes: Import a regex script on the Regex page |
| Themes | Yes | Yes: Import a theme file in Looks |
Cards come in as PNG or JSON, one or many at a time (a profile import reads the PNG cards in your SillyTavern characters folder). The lorebook, regex scripts, tags and alternate greetings a card carries come in with it, through every door, and a card you exported from Orbweaver re-imports as the character it came from. Your SillyTavern tags are attached to the matching characters during the profile import. The duplicate check is the card's content and art, never the name. → Characters and personas
Chats keep their swipes and timestamps. In a profile import they also keep the persona you used, as long as that persona was imported too. A chat's Author's Note becomes an injection in the chat's settings, in the Injections section of This chat, with the position and depth you set in SillyTavern. SillyTavern's re-insert interval isn't carried; the injection is always on.
The Chats list import needs the character to exist first, because each transcript lands on the character it names. Import the card, then the chat. If two characters share the same name, the import refuses to guess; rename one and try again. The profile import pairs chats and cards for you.
The profile import rebuilds each group as a room with the same members and its transcripts. Members SillyTavern had disabled are seated muted, so un-mute them in the room to hear from them. SillyTavern's activation strategy isn't carried over; set Who speaks each round under Advanced in Group behavior, in the room's This chat settings (host only). A group set to "Join character cards (exclude muted)" arrives as a Narrator room and every other group as a Per-speaker room, so check the room after import. → Rooms and group chats
Personas come in from the profile import with their descriptions, avatars and where the description sits in the prompt. A SillyTavern persona has no file of its own (it lives in the profile's settings), so it comes through the profile import in Backup & Restore. The Restore a persona from an Orbweaver backup file button on the Personas page is for Orbweaver's own persona files.
Only Chat Completion presets come over, both the saved ones and the setup you had active (it arrives as "OpenAI (active)"). The Presets list import shows a plain list of any SillyTavern fields that had no home, and the profile import writes the same list to the report. In a profile import, regex scripts that rode along on a preset are attached to it. → Presets and prompts
Each file becomes a world book. Orbweaver re-links books to characters by exact name where SillyTavern did, and the report lists any name it couldn't find. SillyTavern's global World Info settings aren't imported; if you had a book active everywhere, switch on Fires in every chat for it. Books embedded in a character card come in with the card.
Entry basics carry over and work: keywords, content, constant (always on) and selective entries, regex keys, order (as priority), position, depth and role, and the enabled flag. Entries with blank or repeated titles import fine; titles are optional, as in SillyTavern. The advanced activation settings come in too, but Orbweaver keeps them on the entry without acting on them yet; the editor shows them under "Kept from SillyTavern, not active yet" and the report counts them. → Lorebooks
Global scripts import with the profile, scripts that rode along on a card or a preset come in with it, and a raw SillyTavern script file goes in through Import a regex script on the Regex page. The report accounts for all three.
Themes are converted to Orbweaver themes, which carry colors: text, background, message bubbles and borders. A single SillyTavern theme file also goes in through Import a theme file in Looks. A text color that wouldn't be readable on its new background is dropped and reported, and custom CSS isn't imported because it targets SillyTavern's own layout. Your background images join your backgrounds, and display preferences such as timestamps, font size and chat width are applied to your settings. Imported themes appear under Looks. → Themes
| In SillyTavern | In Orbweaver |
|---|---|
| Character cards | Characters |
| Persona Management | Personas |
| World Info, lorebooks | World Info; one book in the library is a world book |
| Globally active World Info | A world book with Fires in every chat on |
| Chat Completion presets, Prompt Manager | Presets; the Prompt tab of a preset |
| Text Completion, Context, Instruct | No equivalent |
| Regex extension | Regex scripts |
| Data Bank | Databank |
| Quick Replies | No equivalent; the nearest thing is an example plugin |
| STscript | Macros: 68 built-in, including if/else and chat and global variables, plus your own |
| Extensions | Plugins |
| Author's Note | An injection (Injections in This chat) |
| Join or swap character cards | Each character sees only their own card (the nearest match, under Advanced, Per-speaker only: off puts every card in the prompt, like join; on is like swap) |
| Group generation mode | How the characters reply: Per-speaker or Narrator |
| Group Activation Strategy | Who speaks each round |
| Allow self responses | Let a character reply to itself (under Let characters reply to each other) |
| Branch, Checkpoint | Fork chat here |
| API connection, Connection Profiles | Connections and Model roles |
| Summarize, Vector Storage | Memory (the closest match) |
| UI Themes | Looks |
| Swipes | Swipes |
Fork any chat from any message. Use Fork chat here on a message to copy the chat, up to and including that message, into a new chat. The host can fork any room; a member can fork only a solo room. Use swipes for alternate replies and Fork for alternate timelines. A fork's options menu has Back to parent chat, like SillyTavern's. (Games have Marks in the journal, but those restore the game, not the chat.)
The model belongs to the host. There's no per-chat model picker. Every reply in a chat runs on the host's Chat model from Model roles (Settings, Connections). In your own chats that's you; in a room you've joined, it's whoever runs that room. To change models, the host changes that setting. Games add one room-level setting, GM voice, but it picks a preset, not a model. → Connect a model
The card's {{user}} is pinned. In SillyTavern, {{user}} follows your current persona everywhere. Here, card text (description, personality, scenario, greeting, examples and the card's lore) keeps the persona that opened the chat, and preset text follows your current persona. → Characters and personas
Group chats have two modes. In Per-speaker mode each character replies in its own message and you can swipe each one individually. In Narrator mode one message voices everyone. The choice lives in Group behavior, in the room's This chat settings, and only the host sees it. → Rooms and group chats
Playing with friends is its own setup. Orbweaver can host a room your friends join, live, in the same chat. → Share with friends
- Text Completion, KoboldAI and NovelAI presets, and Context, Instruct and System Prompt templates. There's no text-completion mode, by design: replies go through a chat API. Local models work through the OpenAI-compatible chat endpoint your server already has. Ollama, LM Studio and vLLM have their own entries, and anything else that serves an OpenAI-style chat endpoint goes through Custom OpenAI-compatible. The import report lists these files, and the Presets import refuses a non-Chat-Completion file with a clear message.
- STscript. Your STscripts don't run here. Orbweaver has its own macro language instead: 68 built-in macros including if/else, chat variables (setvar, getvar, addvar, incvar) and global variables, plus macros you write yourself with arguments, typed inputs and seeded random picks. Presets, games and plugins can define macros, a macro can never override a built-in, and the preset editor has a macro browser. For things that should happen on their own, Automation is an event-driven rule engine rather than a script. → Presets and prompts, Automation
- Quick Replies. You can't author buttons in the app. Imported Quick Reply sets are listed in the report as not imported. The closest thing is the example plugin Scene Chips. It ships turned off; once you allow it and switch it on, it offers a few suggested replies after a long narrator beat that you can edit before sending. A plugin is how you'd build your own. Orbweaver's guided replies and steering grew out of the Guided Generations Quick Reply set. → Plugins, Credits
- Some advanced World Info activation settings. The entry editor has title, content, a note, keyword triggers, enabled, always include, priority, fire mode, position, and injection at a depth in history. It has no secondary keys, probability, sticky, cooldown or delay, recursion, inclusion groups, per-entry scan depth, or switch for regex keys (imported regex keys keep working). Importing keeps that data on the entry and exporting hands it back, but nothing uses it, so an imported entry fires on its keywords alone. The scan depth and token budget are global World Info settings, not per entry.
- Data Bank files and character gallery images. The report counts them, but they aren't imported yet. Add the files to Databank by hand.
- Other SillyTavern extras. Extension installs and most of their saved state, expression sprites and assets, SillyTavern's own vector stores (Orbweaver re-indexes locally), usage stats, saved UI layout and API keys aren't imported. Each is named in the report with a reason.
Something wrong or out of date on this page? Open an issue and say which page.
Get started
Guides
- Characters and personas
- Lorebooks
- Presets and prompts
- Rooms and group chats
- RPG mode
- Automation
- Images
- Refinery
- Stats and Insights
- Plugins
- Themes
- Share with friends
- Back up and restore
How it works
Help