Add README.md with project overview
Visual documentation optimized for Forgejo with ASCII diagrams, feature table, command reference, architecture overview, and roadmap. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
9651bd4166
commit
1b55df508c
1 changed files with 166 additions and 0 deletions
166
README.md
Normal file
166
README.md
Normal file
|
|
@ -0,0 +1,166 @@
|
||||||
|
<h1 align="center">
|
||||||
|
🗿 MoAI
|
||||||
|
</h1>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<strong>Master of AIs</strong><br>
|
||||||
|
<em>Multi-model AI roundtable for collaborative brainstorming</em>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<img src="https://img.shields.io/badge/python-3.11+-blue?style=flat-square&logo=python&logoColor=white" alt="Python 3.11+">
|
||||||
|
<img src="https://img.shields.io/badge/status-Phase%201-orange?style=flat-square" alt="Status: Phase 1">
|
||||||
|
<img src="https://img.shields.io/badge/license-MIT-green?style=flat-square" alt="License: MIT">
|
||||||
|
</p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 💡 The Idea
|
||||||
|
|
||||||
|
Instead of asking **one** AI a question, ask a **team** of AIs.
|
||||||
|
|
||||||
|
```
|
||||||
|
You: "How should we architect our new microservice?"
|
||||||
|
|
||||||
|
┌─────────┐ ┌─────────┐ ┌─────────┐
|
||||||
|
│ Claude │ │ GPT │ │ Gemini │
|
||||||
|
└────┬────┘ └────┬────┘ └────┬────┘
|
||||||
|
│ │ │
|
||||||
|
▼ ▼ ▼
|
||||||
|
"Event "Start "Consider
|
||||||
|
sourcing simple, the team's
|
||||||
|
gives you monolith experience
|
||||||
|
audit first..." level..."
|
||||||
|
trails..."
|
||||||
|
│ │ │
|
||||||
|
└────────────┼────────────┘
|
||||||
|
▼
|
||||||
|
🤝 Discussion Rounds
|
||||||
|
▼
|
||||||
|
📋 Consensus Summary
|
||||||
|
```
|
||||||
|
|
||||||
|
Models see each other's responses, debate, agree, disagree, and build upon ideas. You get richer, more diverse insights—then export everything as clean markdown.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## ✨ Features
|
||||||
|
|
||||||
|
| Feature | Description |
|
||||||
|
|---------|-------------|
|
||||||
|
| 🔀 **Open Mode** | Ask all models in parallel—get diverse initial takes |
|
||||||
|
| 💬 **Discuss Mode** | Sequential rounds where models respond to each other |
|
||||||
|
| 🎯 **@Mentions** | Direct questions to specific models: `@claude explain more` |
|
||||||
|
| 🤝 **Consensus** | Auto-generated summary of agreements & disagreements |
|
||||||
|
| 📁 **Projects** | Organize discussions by topic with persistent context |
|
||||||
|
| 📤 **Export** | Beautiful markdown documents of entire discussions |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Quick Start
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clone & setup
|
||||||
|
git clone https://git.example.com/mikkel/moai.git
|
||||||
|
cd moai
|
||||||
|
uv sync # or: pip install -e ".[dev]"
|
||||||
|
|
||||||
|
# Configure
|
||||||
|
cp .env.example .env
|
||||||
|
# Edit .env with your tokens
|
||||||
|
|
||||||
|
# Run
|
||||||
|
python -m moai.bot.main
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🤖 Telegram Commands
|
||||||
|
|
||||||
|
### Projects
|
||||||
|
```
|
||||||
|
/projects List all projects
|
||||||
|
/project new "Name" Create project
|
||||||
|
/project select <id> Switch project
|
||||||
|
/project models claude,gpt,gemini
|
||||||
|
```
|
||||||
|
|
||||||
|
### Discussion
|
||||||
|
```
|
||||||
|
/open <question> Ask all models (parallel)
|
||||||
|
/discuss [rounds] Start discussion (default: 3 rounds)
|
||||||
|
@claude <message> Direct message to Claude
|
||||||
|
@gpt <message> Direct message to GPT
|
||||||
|
/stop End current discussion
|
||||||
|
```
|
||||||
|
|
||||||
|
### Output
|
||||||
|
```
|
||||||
|
/consensus Generate agreement summary
|
||||||
|
/export Export as markdown
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🏗️ Architecture
|
||||||
|
|
||||||
|
```
|
||||||
|
┌──────────────────┐ ┌──────────────────────────────────┐
|
||||||
|
│ Telegram Bot │────▶│ Python Backend │
|
||||||
|
│ (thin client) │ │ │
|
||||||
|
└──────────────────┘ │ ┌────────────┐ ┌─────────────┐ │
|
||||||
|
│ │ Handlers │ │ Orchestrator│ │
|
||||||
|
│ └─────┬──────┘ └──────┬──────┘ │
|
||||||
|
│ │ │ │
|
||||||
|
│ ▼ ▼ │
|
||||||
|
│ ┌──────────┐ ┌───────────┐ │
|
||||||
|
│ │ SQLite │ │ AI Client │ │
|
||||||
|
│ └──────────┘ └─────┬─────┘ │
|
||||||
|
└───────────────────────┼─────────┘
|
||||||
|
│
|
||||||
|
┌───────────────────────┼─────────┐
|
||||||
|
│ Requesty / OpenRouter │
|
||||||
|
│ ┌─────────┬─────────┬────────┐ │
|
||||||
|
│ │ Claude │ GPT │ Gemini │ │
|
||||||
|
│ └─────────┴─────────┴────────┘ │
|
||||||
|
└─────────────────────────────────┘
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📍 Roadmap
|
||||||
|
|
||||||
|
- [x] **M1** Bot basics (`/help`, `/status`)
|
||||||
|
- [ ] **M2** Project CRUD
|
||||||
|
- [ ] **M3** Single model Q&A
|
||||||
|
- [ ] **M4** Open mode (parallel)
|
||||||
|
- [ ] **M5** Discuss mode (sequential)
|
||||||
|
- [ ] **M6** Consensus generation
|
||||||
|
- [ ] **M7** Markdown export
|
||||||
|
- [ ] **M8** @mention support
|
||||||
|
- [ ] **Phase 2** Web UI
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🛠️ Tech Stack
|
||||||
|
|
||||||
|
| Layer | Technology |
|
||||||
|
|-------|------------|
|
||||||
|
| Bot | `python-telegram-bot` (async) |
|
||||||
|
| Backend | Python 3.11+, FastAPI |
|
||||||
|
| Database | SQLite → PostgreSQL |
|
||||||
|
| AI Routing | Requesty / OpenRouter |
|
||||||
|
| Linting | Ruff |
|
||||||
|
| Testing | pytest |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📄 License
|
||||||
|
|
||||||
|
MIT © 2026
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<p align="center">
|
||||||
|
<sub>Why ask one AI when you can ask them all? 🗿</sub>
|
||||||
|
</p>
|
||||||
Loading…
Add table
Reference in a new issue