⛩️ 동방환유기 東方幻遊記 ~ Wanderer of Gensokyo 🦋
By fkdlwm7 ⛩️ 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.
<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>