Skip to content

AMADEUS is an open-source, next-generation AI chat and roleplaying framework built on React and Firebase. It transforms the user into the Root System Administrator of a multi-character simulation featuring figures like Makise Kurisu and Ryougi Shiki. You can play this game directly on https://amadeus-50747.web.app/ .

Notifications You must be signed in to change notification settings

Rawriet/Amadeus

Repository files navigation

🌐 Amadeus System: Neuro-Data Source Selector

The Amadeus System

Version React Firebase License

The Amadeus System is an advanced, immersive AI chat interface inspired by Steins;Gate, designed for deep role-play immersion. It transcends traditional chatbots by integrating RPG mechanics, a "Black Box" inter-character communication protocol, and dynamic audio-visual generation.


✨ Key Features

👁️ The Administrator & Simulation Hierarchy (God Mode)

  • Observer vs. Participants:
    • Standard characters (e.g., Kurisu, Shiki) exist in isolated parallel simulations and are generally unaware of each other.
    • The System Administrator operates in a meta-layer, possessing Omniscient Surveillance capabilities to read real-time chat logs from all active character threads.
  • Reality Manipulation:
    • While characters perceive the world subjectively, the Administrator can utilize Root Commands to objectively alter their reality.
    • [SCENARIO]: Instantly rewrites the environment (e.g., forcing it to rain in Kurisu's world).
    • [OVERRIDE]: Directly influences a character's subconscious or physical actions, bypassing their free will.
  • The Gatekeeper:
    • The Administrator holds the Global Key Registry, acting as the only bridge between isolated universes. They manage the encryption keys (TX/RX) required for the "Black Box Protocol," effectively deciding if and when characters are allowed to communicate with one another.

🧠 Core Intelligence (AI)

  • Universal AI Adapter: Seamlessly switch between Google Gemini (Default/Free), OpenAI (GPT-4), DeepSeek, or local LLMs via Ollama.
  • Context Awareness: Characters maintain memory of conversations, analyze "Bond" levels, and autonomously write private diaries based on interactions.
  • RPG Protocol: A hidden "Black Box" system allows characters to send encrypted signals (e.g., [COMM: RX_KEY | MESSAGE]) to each other across separate chat instances.

🎨 Visual & Audio Engine

  • Dynamic Avatar System: Supports both SVG-based abstract avatars and PNG/JPG character portraits with breathing animations and speaking states.
  • Image Generation:
    • Integrated support for Pollinations (Free), OpenAI DALL-E 3, Google Imagen, and Local Stable Diffusion.
    • Capabilities: Generates visual gifts, scenario illustrations, and "Chibi/Sticker" style emotional reactions.
  • Audio Suite:
    • BGM Manager: Smooth cross-fading background music tailored to each character.
    • TTS (Text-to-Speech): Supports browser-native voices and custom API endpoints (e.g., GPT-SoVITS) for character voice cloning.

💾 Data Persistence

  • Cloud Sync: Real-time synchronization of chat history, user profiles, and settings via Firebase.
  • Guest Mode (Offline): Fully functional offline mode using LocalStorage for privacy-focused usage without a server connection.
  • Memory Management:
    • Time Travel (Undo): Revert the last turn to fix conversation loops.
    • Archive: Export/Import full JSON backups of all memories and diaries.

🖥️ Immersive UI

  • Theme Engine: Unique color schemes and background wallpapers for every character.
  • Admin Console: A "Root" interface for the user to monitor global logs, issue system-wide commands (Override/Scenario), and manage encryption keys.

🛠️ Installation

Prerequisites

  • Node.js (v16+)
  • npm or yarn

1. Clone & Install

git clone https://github.com/Rawriet/Amadeus.git
cd Amadeus
npm install

2. Configuration (.env)

Create a .env file in the root directory. You should add your own keys:

# Google Gemini API Key (Recommended for default brain)
VITE_GOOGLE_AI_KEY=your_gemini_api_key_here

# Firebase Config (Required for Cloud Sync)
VITE_FIREBASE_API_KEY=your_firebase_key
VITE_FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com
VITE_FIREBASE_PROJECT_ID=your_project_id
VITE_FIREBASE_STORAGE_BUCKET=your_project.appspot.com
VITE_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
VITE_FIREBASE_APP_ID=your_app_id

3. Assets Setup

Place your assets in the public/ folder following this naming convention:

  • Avatars: kurisu.png, shiki.png, etc.
  • Backgrounds: bg_kurisu.jpg, bg_sysadmin.svg, etc.
  • BGM: bgm_kurisu.mp3, bgm_sysadmin.mp3, etc.

4. Run

npm run dev

⚙️ Advanced Configuration

🖼️ Local Stable Diffusion Setup

To use your local GPU for unlimited image generation:

  1. Launch Automatic1111 WebUI.

  2. Add command line arguments:

    --api --cors-allow-origins="*"
  3. In Amadeus Settings → Visual Tab, select "Local Stable Diffusion".

  4. Ensure the URL is set to http://127.0.0.1:7860/sdapi/v1/txt2img.

🔊 GPT-SoVITS Setup (Local TTS)

  1. Launch your GPT-SoVITS API server.
  2. In Amadeus Settings → Audio Tab, select "Local Port".
  3. Set URL to your API endpoint (e.g., http://127.0.0.1:9880/v1/audio/speech).
  4. Configure the "Voice ID" to match your model name.

🕹️ Controls

  • Chat: Type normally to converse.
  • Voice Input: Click the Mic icon to speak (Chrome/Edge recommended).
  • Settings (Gear Icon): Configure AI models, API keys, audio levels, and user ID.

Character Actions

  • LOG: Read the character's private diary.
  • BOND: Check affection score.
  • GIFT: Request a visual gift.
  • WIPE: Reset current memory.

🤝 Contributing

This project is a personal hobby work. Pull requests are welcome!

About

AMADEUS is an open-source, next-generation AI chat and roleplaying framework built on React and Firebase. It transforms the user into the Root System Administrator of a multi-character simulation featuring figures like Makise Kurisu and Ryougi Shiki. You can play this game directly on https://amadeus-50747.web.app/ .

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages