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