Skip to content
TomoriBot
Search
Ctrl
K
Cancel
GitHub
Discord
Select theme
Dark
Light
Auto
Select language
English
日本語
Introduction
What is TomoriBot?
How do I use TomoriBot?
Features
Overview
Chatting & Personality
Overview
Chatting & Triggers
Multiple Personas
Behavior Tweaking
Knowledge
Knowledge
Memory
Personalization
Data Handling
Capabilities
Overview
Tools & Extensions
Scheduled Tasks
Media Generation
Overview
Image Generation
Video Generation
Voice: TTS & STT
Setup & Administration
Overview
Providers & Models
Server Moderation
Age-Restricted Commands
Stats & Insights
Integrations
Overview
Matrix Bridge
SillyTavern Support
Command Reference
Self-Hosting
Overview
Setup Wizard
Manual Setup
Docker Compose
Local & Self-Hosted Endpoints
Overview
Setup: Local LLM
Setup: ComfyUI
Setup: SearXNG (Sidecar)
Setup: Crawl4AI (Sidecar)
Setup: Codex CLI via ChatMock
Setup: Local MCP Server
Text-to-Speech
Overview
Chatterbox TTS
IrodoriTTS
Qwen3-TTS
Speech-to-Text
Overview
WhisperX Transcription
whisper.cpp Transcription
KoboldCPP Transcription
Maintenance & Backups
Safe Migration Guide
Local Grafana Monitoring
Contributing
Overview
Getting Started with TomoriBot Development
Docs Authoring Conventions
Adding a Built-In Tool
Adding a DB Column
Adding an Event Handler
Adding a Feature Flag-Controlled Tool
Adding a New Locale
Add a New AI Provider
Adding a Persona Preset
Adding a Setup Module
Adding a Slash Command
Development Tasks
Raw SQL Boundary
Testing Chat Changes
Testing DB Changes
Architecture
Overview
Entry Point and Initialization Flow
Pipelines
Overview
Chat
Overview
01: Input Normalization
02: Admission Check
03: Chat Disposition
04: Channel Lock
05: Turn Planning
06: Per-Turn
Overview
06.1: Build Context
06.2: Response Sink
06.3: Generation Turn
06.4: Post-Turn Effects
Context Build
Overview
01: Preset Routing
02: Native Assembly
Overview
02.1: Prompt Items
02.2: Server Info
02.3: Server Memories
02.4: Server Emojis
02.5: Server Stickers
02.6: Participants
02.7: Short-Term Memory
02.7b: Verbatim Tool Definitions
02.8: RAG Documents
02.9: Conditioning
02.10: Sample Dialogues
02.11: Dialogue History
Tool Loop
Overview
01: Stream Once
02: Execute Tool Call
03: Enhanced Context Restart
04: Build Result
Provider
Overview
01: Context Assembly
02: Raw Chunk Generation
03: Chunk Normalization
04: Orchestrator State Machine
05: Buffer Management
06: Segment Normalization
07: Discord Delivery
Memory
Overview
STM
Overview
STM 01: Passive Capture
STM 02: Summary Upgrade
LTM
Overview
LTM 01: Memory Creation
LTM 02: Memory Update & Delete
Subsystems
Overview
In-Memory Caching System
Command System
Cooldown System
Database Schema and Data Model
Event System
Localization System
Logit Bias
Multi-Persona System
Persona Presets
Prompt Snapshot
Security & Privacy
Stats Infographic
Tool Status Command
Strict Chat-Completion Compatibility
Thinking Level
Tool System
Utils and Helpers
Video Generation
Integrations
Overview
Discord
Discord Message Components V2
Modal Input Components
Matrix
Matrix Bridge & Bridge Utilities
NovelAI
NovelAI Inpainting Pipeline
NovelAI Provider Limitations
NovelAI GLM 4.6 Tool Calling
SillyTavern
SillyTavern Card Import Support
SillyTavern Preset System
Voice
Overview
Cloud
Overview
Azure Application Logs
Production Deployment
Terraform State Recovery
Vertex AI Authentication
Meet Tomori
Overview
Rose, the Boyish
Zaya, the Prideful
Aphel, the Gloomy
Lilya, the Shy
Nerine, the Loyal
Locke, the Unhinged
GitHub
Discord
Select theme
Dark
Light
Auto
Select language
English
日本語
Locke, the Unhinged
[REDACTED FOR BEING TOO LEWD]