Operator access only.
Per-character prompt injection — rendered as <personality_update> in the leading system prompt. Additive: refines the character card, never replaces it. Max 1000 chars each. personality_overlays
Behavior corrections, rendered as <additional_guidelines> after the immutable bundled safety floor — can only tighten, never weaken it. Max 800 chars. safety_additions
Casual one-liners the characters can reference naturally in chat (<current_events>). One per line, max 12 × 160 chars. current_events
Overlays the app's bundled defaults. Blank a field to fall back to the bundled value. Doc: config/live
USD per user per day before the cooldown card gates chat, calls & LLM games. The app picks this up on next launch / foreground (≤5 min). Doc: config/freemium
TRY-ONLY: the proxy tries this override on each chat turn; any failure (unreachable, error status, or an empty reply) silently falls back to the hardcoded deepseek/deepseek-v4-flash + the audited provider allowlist within the same request — users never see a broken override. 3 consecutive failures trip a 5-minute breaker. Applies to standard chat turns only (vision + the app's own emergency fallback are never touched). Takes effect within ~1 min; no app update.
User-submitted message reports, newest first. Read-only. Doc: message_reports
Live spend (OpenRouter) + the AI Gateway request rollup, pulled by the proxy's operator-only /telemetry endpoint. Engagement (DAU / retention / installs) lives in GA4; downloads / revenue / subscribers in App Store Connect — both deep-linked below.
The rich analytics already collecting — open a source console for full drill-down.
AI Gateway — chat volume / tokens / cost / latency / errors / providers ↗
App Store Connect — downloads, revenue, subscribers, conversion ↗
Firebase / GA4 — DAU / MAU, retention, sessions, events ↗
Per-user attribution lights up once the app sends the x-nariyume-user header (gateway groups by the user metadata key).
Every save from this dashboard, newest first. Revert restores the doc exactly as it was before that save (the revert is itself logged — history is immutable). Doc: config_audit