⛩️ 동방환유기 東方幻遊記 ~ Wanderer of Gensokyo 🦋
By canister ⛩️ Touhou Wanderer of Gensokyo / 東方幻遊記 v1.10
🖼 16,117 total assets (base 5,083 + optional extension 11,034) · 🎬 30+ scenarios · 👥 155+ characters · 🎙 9 parallel-world narrators · 🎛 many detail toggles · 🌐 KR/EN/CN/JP UI & first messages · 🌙 optional extension 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.
> ### ⚠️ Required update for v1.09
> Remove every previously installed asset storage module, then re-download and install both the base module and the optional extension module from the link above. Both files were republished.
<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).
- 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 Main for direct main-model output with no extra model call. Both modes follow the same placement and coverage rules.
- 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.10
- Optimized bot performance.
v1.09
Added the hot-spring, dozing, and sleeping-scene suffixes to the direct-main-model asset index, aligning the Main, AUX, and Lua output paths with the same scene catalog.
Extended local Lua routing so natural Korean sleeping-foreplay prose selects sleeping sex foreplay.
Moved the optional-extension block ahead of scene rendering while retaining the renderer's inline block for defense in depth.
Replaced the optional extension module's public filename, name, description, and namespace with neutral labels.
Recalculated totals from physical package payloads. The total now includes 229 variant/random physical assets omitted from the previous statistic; the actual new-scene addition in v1.09 was 2,060 assets.
Both asset storage modules were republished. Remove every previously installed copy, then re-download and install both files from the link above.
Replaced all 83 Kikuri assets (27 base + 56 optional extension).
Added 2,060 hot-spring and sleeping-scene assets (322 base + 1,738 optional extension), normalized the hotspring naming rule, corrected Minoriko Aki identifiers, and removed filename extensions from logical asset names.
Connected the new scene families to AUX and local Lua routing, added wide-scene rendering, and strengthened optional-extension display gating.
Removed 50 obsolete numbered mob tags with no backing files and resynchronized the runtime catalog with both storage modules.
Both asset storage module files changed. Remove all previously installed copies, then re-download and install both files from the link above.
v1.08
- Rebuilt every spell card asset from NAI v5 and replaced the whole set: normal spell cards, unique cut-ins, and the three mob types (fairy maid, fairy, inaba). The sidebar V5 assets toggle switches back to the older artwork.
- Reworked all 36 unique spell cut-in effects around their canon danmaku: quarter-note bullets for Pristine Beat, counter-rotating rings for Hourai Elixir, holed bullets for Anarchy Bullet Hell, bullets turning into knives for Asylum of Danmaku, descending butterflies for Resurrection Butterfly, and so on.
- Added Shanghai / Hourai doll assets in two generations (v5, v5.1) with a separate toggle independent from the spell card one. The original artwork is still available as a third option.
- Added a Doll Free Will tone setting: Canon (Alice's tools), Mute (they have a will but no words, only name-like cries and gestures), and Full (independent characters who talk back).
- Fixed AUX routing. Unified the unique spell asset names and cleaned stale or missing entries from the allowlist, so unique spells that could never be called are now reachable.
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>