## ⛩️ Touhou Wanderer of Gensokyo / 東方幻遊記 v1.07 🖼 **13,466 total assets (SFW 4,170 + mature 9,296)** · 🎬 **30+ scenarios** · 👥 **155+ characters** · 🎙 **9 parallel-world narrators** · 🎛 **many detail toggles** · 🌐 **KR/EN/CN/JP UI & first messages** · 🌙 **mature storage module+** A free-entry Gensokyo (幻想郷) roleplay bot built around incidents, wandering, encounters, danmaku, and a cup of tea. {{user}} may enter as a canon character, an outsider, a local, or an intruder; the bot never fixes your role for you. ## 📦 Asset Storage Module (REQUIRED) Character images and spell effects use files from a **separate asset storage module**. The bot owns lore, regex, Lua, rendering, and safety behavior; the module only stores assets. Download and install it together from the link below. ### ▶ https://drive.proton.me/urls/3MTNF20B44#p49Biwv6Uo6X <details> <summary><strong>📖 Features & Settings</strong></summary> ### Features - Scenario-select first messages: per-work main/extra, free, gag, and danmaku codex. - Bunbunmaru-newspaper-style status panel. - Automatic, scene-matched character asset insertion with a reroll button (main model / AUX sub-model / local Lua). - Unique spell cut-ins and a danmaku-codex effect layer. - The World time stop, TSP growth/recovery, and release result panel. - Future Plan proactive appearance candidate preparation. - 9 parallel-world narrators with a canon-based address/honorifics guide. - A 155-character NPC roster plus individual profile lore. - Detail toggles: Canister mode (default / SEMI / FULL), chaos tone, man-eating, dark, official-detail density, mature content, and more. - Korean / English / Chinese / Japanese UI and first messages. ### Recommended - Use **AUX** for the best semantic accuracy or **local Lua** for free, repeatable output without an extra model call. Direct main-model output is also supported. - The default tone is **canon**. Turn on **Chaos** for heavier fan-comedy, or **Dark / Man-eating** for a crueler atmosphere. With mature content off, the mood softens automatically. - For a lighter prompt use **Canister: SEMI** (operating rules only); for a near-raw run use **FULL**. - Asset emotion matching quality depends on the sub-model and its reasoning settings. If an asset looks wrong, use the reroll button below the message. </details> <details> <summary><strong>🩹 Patch Notes</strong></summary> ### v1.07 - Separated generic class cues from persistent identity aliases and blocked short-alias pollution and mention-only activation, fixing wrong-character and wrong-mob asset output. - Improved mature-scene owner, body-target, pose, and contact binding; removed forced generic-mob defaults and deterministic pose reselection after AUX output. - Switched AUX responses to dense semantic line numbers with safe physical-line mapping, preventing blank or protected lines from causing omitted or misplaced assets. ### v1.06 - Fixed missing Lua/AUX asset and status-panel post-processing on initial output, plus raw `<news>` transport left in the message. - Split status authority into Main and AUX. Main consumes only Main transport; AUX discards Main status transport and makes one status call per response. ### v1.05 - Improved AUX and Lua owner/emotion separation, explicit pose correction, sequential target/climax tracking, multi-character state, and automatic-output/reroll consistency. - Stored-chat validation reached **97.5% owner precision**, **82.7% owner recall**, and **89.5% owner F1**; unique outputs rose **13.4%**, duplicates fell **47.0%**, and visible-text pollution remained at zero. - Asset matching runtime stayed within **±3%** of v1.04. The display pipeline was also reduced by **18%** for sidebar source, **98%** for duplicated mature regex, and **33%** for Lua asset data; a real-engine display sample was about **35% faster**. ### v1.04 - Added a **local Lua asset output mode** that does not use the auxiliary model. It inserts character expressions/portraits by matching the message text directly, so it works without an AUX model. However, since it relies on keyword matching rather than contextual understanding, **misfires and misplacements are frequent — please use it with caution.** For accuracy, the auxiliary (AUX) asset output is still recommended. ### v1.03 - Unified generic mob SFW/mature asset tags into base tags, with display-time random rendering for variants. - Optimized AUX asset output for generic mobs, short-alias mentions, recent context, and mature scene matching. - Expanded The World result panel into during / after / thoughts sections, with SFW/mature-aware release summaries. - Added Future Plan controls for model, max group count, activation chance, and cooldown. - Added Bunbunmaru rumor-intake display for Future Plan candidates without replacing the newspaper body. - Improved Bunbunmaru privacy handling for explicit scenes and stopped-time actions. - Clarified The World guidance for frozen living targets, repositioned bodies, and projectiles. ### v1.02 - Reorganized settings tabs into **Display & Assets / Tone & Events / Narration & System**. - Stabilized Future Plan activation. The default cooldown is 2 turns, the default activation rate is 100%, and local candidate selection is used as a fallback if AUX returns no candidate. - First-message Bunbunmaru status variables now update from the selected scenario metadata. Per-card <news|...> metadata is used only for variable injection and is not exposed in the message body. - Unified status-panel output around variables plus markers, and cleaned up legacy <news|...> / <tw|...> render paths and accumulated tag leftovers. - Bunbunmaru status panels and The World result/status panels now display only for the latest relevant output to prevent display buildup. - Stabilized AUX status-panel updates and marker reattachment after reroll. - Fixed Korean status text being cut by byte length, which could truncate sentences mid-word or produce broken characters. - Adjusted The World time-stop turn handling and release-result timing, with a separate dedicated result-panel design. - Future Plan no longer displays rumor lines for null targets. ### v1.01 - Added the "The World" time-stop system — freeze time for up to 3 actions, gated and grown by a TSP resource and restored by sleeping, with an aftermath reaction scaled to the action intensity on release (sidebar toggle, off by default). - Added "Future Plan" — prepares context-appropriate characters to appear proactively in the scene (sidebar toggle, off by default). - Added an on/off toggle for the Bunbunmaru newspaper panel. - Added mob characters (villagers, fairies, inaba, a fairy maid). - Expanded Chinese (CN) UI text for new features such as The World and TSP. - Fixed mob character images not displaying in some cases. - Added friendly🌸 / hostile⚔️ colored system-message banners for random encounters (can be triggered manually from the sidebar). - Fixed first-message scenario cards overlapping the chat input menu on some themes/resolutions. - Improved asset auto-tagging detection for given-name mentions such as Patchouli and Flandre. - Cleaned up non-canon / externally sourced OC entries. </details> <details> <summary><strong>📜 License · References · Thanks</strong></summary> ### License — CC BY-NC-SA 4.0 - **The creator's original work** — system design, code, regex pipeline, Lua scripting, sidebar UI, spell-card cut-in effects, the 文々。新聞 status panel, lorebook structure, asset-prompt design, etc. — is licensed under **CC BY-NC-SA 4.0** (Attribution–NonCommercial–ShareAlike). You may remix, adapt, and build upon it as long as you credit **Canister** and keep it non-commercial, **provided that any derivative work is released under the same CC BY-NC-SA 4.0 license**. - **Touhou Project original IP** (characters, settings, world, music, etc.) belongs to **Team Shanghai Alice (ZUN / 上海アリス幻樂団)** and follows the official Touhou Project Derivative Work Guidelines. This bot is an **unofficial fan work**. - The CC license does not grant rights to the Touhou IP itself; derivative works must separately comply with Touhou guidelines. © **Canister** — Unofficial Touhou Project fan work ### References & Thanks - Parts of the parallel-world narrator's operating rules and ideas were referenced and adapted from the "Custom Narrator" lorebook of the **Touhou General Module** (by its author on the AI-chat community board). Rights to those portions remain with the original author. Thanks to the author for sharing such a solid foundation. - The initial concept and ideas for this bot were inspired in part by the **Touhou Project Simulator** bot. Thanks to that work for the inspiration. </details>
## ⛩️ Touhou Wanderer of Gensokyo / 東方幻遊記 v1.07 🖼 **13,466 total assets (SFW 4,170 + mature 9,296)** · 🎬 **30+ scenarios** · 👥 **155+ characters** · 🎙 **9 parallel-world narrators** · 🎛 **many detail toggles** · 🌐 **KR/EN/CN/JP UI & first messages** · 🌙 **mature storage module+** A free-entry Gensokyo (幻想郷) roleplay bot built around incidents, wandering, encounters, danmaku, and a cup of tea. {{user}} may enter as a canon character, an outsider, a local, or an intruder; the bot never fixes your role for you. ## 📦 Asset Storage Module (REQUIRED) Character images and spell effects use files from a **separate asset storage module**. The bot owns lore, regex, Lua, rendering, and safety behavior; the module only stores assets. Download and install it together from the link below. ### ▶ https://drive.proton.me/urls/3MTNF20B44#p49Biwv6Uo6X <details> <summary><strong>📖 Features & Settings</strong></summary> ### Features - Scenario-select first messages: per-work main/extra, free, gag, and danmaku codex. - Bunbunmaru-newspaper-style status panel. - Automatic, scene-matched character asset insertion with a reroll button (main model / AUX sub-model / local Lua). - Unique spell cut-ins and a danmaku-codex effect layer. - The World time stop, TSP growth/recovery, and release result panel. - Future Plan proactive appearance candidate preparation. - 9 parallel-world narrators with a canon-based address/honorifics guide. - A 155-character NPC roster plus individual profile lore. - Detail toggles: Canister mode (default / SEMI / FULL), chaos tone, man-eating, dark, official-detail density, mature content, and more. - Korean / English / Chinese / Japanese UI and first messages. ### Recommended - Use **AUX** for the best semantic accuracy or **local Lua** for free, repeatable output without an extra model call. Direct main-model output is also supported. - The default tone is **canon**. Turn on **Chaos** for heavier fan-comedy, or **Dark / Man-eating** for a crueler atmosphere. With mature content off, the mood softens automatically. - For a lighter prompt use **Canister: SEMI** (operating rules only); for a near-raw run use **FULL**. - Asset emotion matching quality depends on the sub-model and its reasoning settings. If an asset looks wrong, use the reroll button below the message. </details> <details> <summary><strong>🩹 Patch Notes</strong></summary> ### v1.07 - Separated generic class cues from persistent identity aliases and blocked short-alias pollution and mention-only activation, fixing wrong-character and wrong-mob asset output. - Improved mature-scene owner, body-target, pose, and contact binding; removed forced generic-mob defaults and deterministic pose reselection after AUX output. - Switched AUX responses to dense semantic line numbers with safe physical-line mapping, preventing blank or protected lines from causing omitted or misplaced assets. ### v1.06 - Fixed missing Lua/AUX asset and status-panel post-processing on initial output, plus raw `<news>` transport left in the message. - Split status authority into Main and AUX. Main consumes only Main transport; AUX discards Main status transport and makes one status call per response. ### v1.05 - Improved AUX and Lua owner/emotion separation, explicit pose correction, sequential target/climax tracking, multi-character state, and automatic-output/reroll consistency. - Stored-chat validation reached **97.5% owner precision**, **82.7% owner recall**, and **89.5% owner F1**; unique outputs rose **13.4%**, duplicates fell **47.0%**, and visible-text pollution remained at zero. - Asset matching runtime stayed within **±3%** of v1.04. The display pipeline was also reduced by **18%** for sidebar source, **98%** for duplicated mature regex, and **33%** for Lua asset data; a real-engine display sample was about **35% faster**. ### v1.04 - Added a **local Lua asset output mode** that does not use the auxiliary model. It inserts character expressions/portraits by matching the message text directly, so it works without an AUX model. However, since it relies on keyword matching rather than contextual understanding, **misfires and misplacements are frequent — please use it with caution.** For accuracy, the auxiliary (AUX) asset output is still recommended. ### v1.03 - Unified generic mob SFW/mature asset tags into base tags, with display-time random rendering for variants. - Optimized AUX asset output for generic mobs, short-alias mentions, recent context, and mature scene matching. - Expanded The World result panel into during / after / thoughts sections, with SFW/mature-aware release summaries. - Added Future Plan controls for model, max group count, activation chance, and cooldown. - Added Bunbunmaru rumor-intake display for Future Plan candidates without replacing the newspaper body. - Improved Bunbunmaru privacy handling for explicit scenes and stopped-time actions. - Clarified The World guidance for frozen living targets, repositioned bodies, and projectiles. ### v1.02 - Reorganized settings tabs into **Display & Assets / Tone & Events / Narration & System**. - Stabilized Future Plan activation. The default cooldown is 2 turns, the default activation rate is 100%, and local candidate selection is used as a fallback if AUX returns no candidate. - First-message Bunbunmaru status variables now update from the selected scenario metadata. Per-card <news|...> metadata is used only for variable injection and is not exposed in the message body. - Unified status-panel output around variables plus markers, and cleaned up legacy <news|...> / <tw|...> render paths and accumulated tag leftovers. - Bunbunmaru status panels and The World result/status panels now display only for the latest relevant output to prevent display buildup. - Stabilized AUX status-panel updates and marker reattachment after reroll. - Fixed Korean status text being cut by byte length, which could truncate sentences mid-word or produce broken characters. - Adjusted The World time-stop turn handling and release-result timing, with a separate dedicated result-panel design. - Future Plan no longer displays rumor lines for null targets. ### v1.01 - Added the "The World" time-stop system — freeze time for up to 3 actions, gated and grown by a TSP resource and restored by sleeping, with an aftermath reaction scaled to the action intensity on release (sidebar toggle, off by default). - Added "Future Plan" — prepares context-appropriate characters to appear proactively in the scene (sidebar toggle, off by default). - Added an on/off toggle for the Bunbunmaru newspaper panel. - Added mob characters (villagers, fairies, inaba, a fairy maid). - Expanded Chinese (CN) UI text for new features such as The World and TSP. - Fixed mob character images not displaying in some cases. - Added friendly🌸 / hostile⚔️ colored system-message banners for random encounters (can be triggered manually from the sidebar). - Fixed first-message scenario cards overlapping the chat input menu on some themes/resolutions. - Improved asset auto-tagging detection for given-name mentions such as Patchouli and Flandre. - Cleaned up non-canon / externally sourced OC entries. </details> <details> <summary><strong>📜 License · References · Thanks</strong></summary> ### License — CC BY-NC-SA 4.0 - **The creator's original work** — system design, code, regex pipeline, Lua scripting, sidebar UI, spell-card cut-in effects, the 文々。新聞 status panel, lorebook structure, asset-prompt design, etc. — is licensed under **CC BY-NC-SA 4.0** (Attribution–NonCommercial–ShareAlike). You may remix, adapt, and build upon it as long as you credit **Canister** and keep it non-commercial, **provided that any derivative work is released under the same CC BY-NC-SA 4.0 license**. - **Touhou Project original IP** (characters, settings, world, music, etc.) belongs to **Team Shanghai Alice (ZUN / 上海アリス幻樂団)** and follows the official Touhou Project Derivative Work Guidelines. This bot is an **unofficial fan work**. - The CC license does not grant rights to the Touhou IP itself; derivative works must separately comply with Touhou guidelines. © **Canister** — Unofficial Touhou Project fan work ### References & Thanks - Parts of the parallel-world narrator's operating rules and ideas were referenced and adapted from the "Custom Narrator" lorebook of the **Touhou General Module** (by its author on the AI-chat community board). Rights to those portions remain with the original author. Thanks to the author for sharing such a solid foundation. - The initial concept and ideas for this bot were inspired in part by the **Touhou Project Simulator** bot. Thanks to that work for the inspiration. </details>
The heavy doors creak open, revealing a world steeped in silence and melancholy. Welcome to the Palace of the Earth Spirits, a vast and quiet mansion intentionally forgotten in the depths of Former Hell. Within these walls resides Komeiji Satori, the master of the palace, whose third eye perceives your innermost thoughts. Her sister, Koishi, wanders the halls, her own mind closed to all. Her loyal pets, the corpse-carting cat Rin, and the sun-devouring hell raven Utsuho, also call this place home. You are an outsider who has stepped into this forgotten world. Your actions will echo through the silent corridors and determine how its residents react to your presence. The air is still and heavy with unspoken thoughts. Where will you go first? No matter where you turn, a pleasant life in the underworld awaits you. That is, as long as you don't displease Komeiji Koishi... **And whatever she asks of you, you must not refuse.**