## ⛩️ 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>