- Add centralized welfare config with feature flags for daily bonus, referral, spring campaign, and free rounds promo - Conditionally render welfare-related UI components based on feature flags - Update API routes to respect feature toggles and return early when disabled - Adjust credit failure handling to show user profile instead of share panel when referral disabled - Update group QR code image - Refactor spring campaign logic to check |
||
|---|---|---|
| .shared/ui-ux-pro-max | ||
| public | ||
| scripts | ||
| src | ||
| .env.example | ||
| .gitattributes | ||
| .gitignore | ||
| Dockerfile | ||
| eslint.config.mjs | ||
| LICENSE | ||
| next.config.ts | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| postcss.config.mjs | ||
| README.en.md | ||
| README.md | ||
| README.zh.md | ||
| tsconfig.json | ||
Wolfcha
🙏 Sponsors
Current sponsors:
- ZenMux - Powers the core game flow, roleplay, and summary features with AI models
- Dashscope - Provides additional AI model support
- OpenCreator - Generates AI character portraits
Note
: This project was born at the "Guancha + ModelScope Global Hackathon" as an AI-native game.
"Wolfcha" combines Wolf (Werewolf) + Cha (猹, a character from Chinese literature). It's a nod to the hackathon host while also capturing the fun of watching AI characters interact — like spectating a show.
📖 Background
After graduating, getting 8-12 people together for a proper Werewolf game became nearly impossible. While Werewolf is fundamentally a social game, its core appeal — logical deduction, verbal sparring, and reading between the lines — remains captivating even without the social element.
To enjoy Werewolf anytime, anywhere, we built this AI-powered version. As the name suggests, every player except you (Seer, Witch, Hunter, Guard, Werewolves, etc.) is controlled by AI.
✨ Core Features
1. Dual-Layer AI Roleplay
Thanks to the growing context windows and instruction-following capabilities of large language models (LLMs), we've implemented a sophisticated dual-layer roleplay system:
- Layer 1: The AI plays a "virtual player" with a unique personality and background.
- Layer 2: This virtual player then takes on a Werewolf role (e.g., Seer) and speaks, bluffs, and reasons based on the game state.
Every conversation is generated in real-time, full of unpredictability and fun.
2. AI Model Arena
This isn't just Werewolf — it's a battleground for AI models.
We've integrated multiple top AI models to compete against each other. After each game, you can see which model powered each character. It's a hidden "Turing test" — observe which model reasons sharply, which one seems "adorably clueless," and which one sounds the most human.
Current built-in models (subject to project configuration):
- DeepSeek V3.2
- Qwen3-235B-A22B
- Kimi K2
- Gemini 3 Flash
- Seed 1.8 (ByteDance)
3. Immersive Retro Experience
While we don't have a professional art team, we've crafted a polished UI/UX:
- Retro Design Style: Clean layouts with vintage color palettes.
- Dynamic Interactions:
- Eye-blink transitions for day/night changes.
- Character lip-sync animations during speech.
- Unique character portraits for special roles during night actions.
🧭 Roadmap
We're continuing to improve:
- Mobile Optimization: Play seamlessly on any device.
- Flexible Player Count: Support 8-12 player custom games.
- Post-Game Review / Chat: Reflect on strategies and memorable moments.
- Special Abilities: Unique mechanics like time rewind and AI insight.
- Custom Model Selection: Choose which AI models join your game.
- Multiplayer Mode: Play with friends alongside AI characters.
- Character Ratings: Upvote standout personalities/models to find the best Werewolf players.
🛠️ Tech Stack
Built with modern web technologies:
- Framework: Next.js 16 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS 4
- UI Components: Radix UI, Lucide React
- State Management: Jotai
- Editor: Tiptap (For rich text interactions)
- Animations: Framer Motion
- Avatar Generation: DiceBear (Notionists style)
- AI Integration: ZenMux (Unified interface for LLMs)
🚀 Local Development
To run this project locally:
- Clone the repository
git clone https://github.com/oil-oil/wolfcha.git
cd wolfcha
- Install dependencies
# Using pnpm (recommended)
pnpm install
# Or using npm
npm install
- Configure environment variables
You'll need to set up API keys (ZenMux, etc.) for full functionality. Refer to .env.example and create your .env.local.
- Start the development server
pnpm dev
Open http://localhost:3000 in your browser.
📄 License
MIT
