SillyInnkeeper is an application for convenient work with character cards for SillyTavern. It provides powerful tools for searching, filtering, and sorting thousands of cards, as well as integration with SillyTavern for quick character launching.
π Languages: English | Π ΡΡΡΠΊΠΈΠΉ
π SillyTavern Extension: ST-Extension-SillyInnkeeper β Install this extension in SillyTavern to integrate with SillyInnkeeper.
π’ Telegram Channel: @SillyInnkeeper β news, updates, and project discussions.
If you have a large collection of character cards (hundreds or thousands of files), you've likely encountered problems when working with them:
- Lag and freezing β SillyTavern's built-in tools can't handle large volumes of cards
- Slow search β Searching through cards takes a long time or doesn't work at all
- Inconvenient filtering β Limited filtering and sorting capabilities
- Navigation difficulties β Hard to find the right card among thousands of files
- Missing metadata β Difficult to understand what's in a card without opening it
SillyInnkeeper solves all these problems by providing a fast and convenient way to work with your card collection.
- View and edit cards: Full access to character card content from SillyTavern
- Chat management: View information about chats associated with cards, filter by user profiles
- Data synchronization: Automatic synchronization of metadata between SillyInnkeeper and SillyTavern
- One-click launch: The "Play" button instantly imports the card into SillyTavern
- Automatic import: The SillyTavern extension automatically receives cards from SillyInnkeeper
- Search by name: Quick search for cards by character name
- Text search: Full-text search through card content with two modes:
- "LIKE" mode β simple substring search
- "FTS" mode β full-text search with relevance ranking
- Search fields: description, personality, scenario, first message, message examples, creator notes, system prompts, post history instructions, alternate greetings, group-only greetings
- Metadata filtering:
- By creator (single or multiple)
- By specification version (V1/V2/V3)
- By tags (multiple selection)
- By patterns (customizable rules)
- Date filtering: Date range for card creation
- Size filtering: Search by approximate number of prompt tokens (min/max)
- Field presence filtering: Find cards with or without specific fields:
- Creator notes
- System prompts
- Post history instructions
- Personality
- Scenario
- Message examples
- Character Book (lorebook)
- Alternate greetings filtering: Presence and minimum count
- Source filtering: Cards from SillyTavern, from folder, or all
- Status filtering: Hidden, favorite cards
- SillyTavern chats filtering:
- Chat count (equal/greater than/less than)
- User profiles
- Hide cards without chats
- Flexible sorting:
- By creation date (newest/oldest first)
- By name (A-Z / Z-A)
- By prompt tokens count (descending/ascending)
- By SillyTavern chats count (descending/ascending)
- By last chat date (newest/oldest first)
- By first chat date (newest/oldest first)
- By relevance (when using full-text search)
- Automatic scanning: Just specify the folder with cards β the application will find and index all PNG files automatically
- Automatic updates: When new cards are added or existing ones are changed, the application will automatically update the information
- Duplicate management: Automatic detection of identical cards and convenient management of them
- All information in one place: View all card data without needing to open the file
- Tab organization: Information is divided into categories for convenience:
- Main information (name, description, personality, scenario, first message)
- Alternate greetings
- System prompts
- Raw JSON (for advanced users)
- Image viewing: Zoom card images with optional blur (censorship)
- Metadata: View ID, specification version, creation date, and other useful information
- Card export: Download PNG files with correct metadata for use in other applications
- Fast performance: The application is optimized to work with thousands of cards without lag
- Automatic thumbnails: All cards are displayed with thumbnails for quick viewing
- Themes: Light, dark, and automatic theme (follows system settings)
- Two languages: Support for Russian and English
- Support for Character Card V1, V2, and V3 β work with cards of any format
- Node.js: version 18.x or higher (recommended 20.x or 24.x)
- Yarn: version 4.12.0 (or npm 9.x+)
- Operating system: Windows 10/11, Linux, macOS
Make sure you have installed:
- Clone the repository:
git clone https://github.com/dmitryplyaskin/SillyInnkeeper.git
cd SillyInnkeeper- Run the installation script:
start.batThe script will automatically install all dependencies, build the project, and start the server. The browser will open automatically.
- Clone the repository:
git clone https://github.com/dmitryplyaskin/SillyInnkeeper.git
cd SillyInnkeeper- Install server dependencies:
cd server
yarn install
# or
npm install- Install client dependencies:
cd ../client
yarn install
# or
npm install- Build the project:
Build the client:
cd client
yarn build
# or
npm run buildBuild the server:
cd server
yarn build
# or
npm run build- Start the server:
cd server
yarn start
# or
npm start- Open your browser and navigate to:
http://127.0.0.1:48912
You can configure host/port and SillyTavern integration via a root .env file.
- Copy
env.exampleto.env(in the repository root, next topackage.json) - Variables:
INNKEEPER_HOSTβ bind interface (default127.0.0.1). Use0.0.0.0to allow access from your local network.INNKEEPER_PORTβ server port (default48912)ST_PORTβ SillyTavern port for default CORS allowlist (default8000)CORS_ALLOW_ORIGINSβ extra allowed origins (comma-separated), e.g.http://192.168.1.50:8001
-
Start the application (see Installation section)
-
Configure the path to the cards folder:
- Open settings (the "Settings" button in the top panel)
- Specify the path to the folder where your PNG card files are stored
- Save the settings
-
Wait for scanning to complete:
- On first launch, the application will automatically start scanning the specified folder
- Scanning progress is displayed in the interface
- After completion, all cards will be available for search and viewing
-
Start using:
- Use search and filters to find the cards you need
- Click on a card to view detailed information
- Use the "Play" button to launch the card in SillyTavern (if integration is configured)
-
Install the ST-Extension-SillyInnkeeper extension in SillyTavern
-
In the extension settings, specify the SillyInnkeeper URL:
http://127.0.0.1:48912If SillyTavern is opened on a different machine, use the Innkeeper machine IP/hostname instead (e.g.
http://192.168.1.10:48912). -
Enable "Auto-connect" for automatic connection
-
Now you can use the "Play" button in SillyInnkeeper to automatically import the card into SillyTavern
The main screen of the application consists of:
- Top panel: Header, theme switcher, view settings, settings and filters buttons
- Card grid: List of all cards with thumbnails
- Filters sidebar: Opens with the "Filters" button
-
Open the filters panel (the "Filters" button in the top panel)
-
Use search:
- Search by name: Enter the character name for quick search
- Text search: Enter text to search through card content
- Choose search mode: "LIKE" (simple search) or "FTS" (full-text search with ranking)
- Select fields to search: description, personality, scenario, first message, message examples, creator notes, system prompts, post history instructions, alternate greetings, group-only greetings
-
Apply filters:
- Metadata: Creator, specification version (V1/V2/V3), tags, patterns
- Creation date: Specify a date range
- Prompt tokens: Minimum and maximum number of tokens
- Alternate greetings: Presence and minimum count
- Field presence: Select fields that should be present/absent (creator notes, system prompts, post history instructions, personality, scenario, message examples, Character Book)
- Source: All cards, only from SillyTavern, only from folder
- Status: Hidden, favorite cards
- SillyTavern chats: Chat count (equal/β₯/β€), user profiles, hide cards without chats
-
Choose sorting: By creation date, name, token count, chat count, last/first chat date, or by relevance (when using full-text search)
-
Results update automatically when filters change
-
Reset filters: Use the "Reset" button to clear all filters
-
Click on a card in the grid to open detailed information
-
Explore the information:
- "Main" tab: Main information about the character
- "Alternate Greetings" tab: All alternate greetings
- "System" tab: System prompt and post history instructions
- "Raw JSON" tab: Full card JSON for editing
-
Use actions:
- Play: Launch the card in SillyTavern
- Download: Download the PNG file of the card
- Rename: Change the name of the main file
- Delete: Delete the card or duplicate
SillyInnkeeper integrates with SillyTavern through the ST-Extension-SillyInnkeeper extension.
- Open SillyTavern
- Go to Extensions β Extension Installer
- Paste the repository URL:
https://github.com/dmitryplyaskin/ST-Extension-SillyInnkeeper - Click "Install"
- Open Extensions β SillyInnkeeper in SillyTavern
- Specify SillyInnkeeper URL:
http://127.0.0.1:48912(or your port) - Enable Auto-connect (recommended)
- Optionally enable Report import result back to SillyInnkeeper
- Optionally enable Open imported character to automatically open the imported character
- Open a card in SillyInnkeeper
- Click the "Play" button in the detailed view
- The card will automatically be imported into SillyTavern
- If the "Open imported character" option is enabled, the character will open automatically
-
Lorebook Support (Character Book)
- Viewing and managing lorebooks from cards
- Editing lorebooks
- Export/import lorebooks
- This functionality will be redesigned to improve UX/UI
-
Native Desktop Application
- Possible implementation of a native desktop application for improved performance and usability
This project is licensed under AGPL-3.0.
Dmitry Plyaskin
- GitHub: @dmitryplyaskin
- Telegram Channel: @SillyInnkeeper
- Project: SillyInnkeeper
- SillyTavern Extension: ST-Extension-SillyInnkeeper
