ti-pote/README.md
ordinarthur 674109ea22 feat: initial project setup — Phase 0
Monorepo pnpm avec NestJS backend en architecture hexagonale.
- Structure hexagonale complète (ports, adapters, domain entities)
- 9 entities TypeORM (Home, User, Device, Credentials, Session, Message, Memory, Timer)
- Migration initiale SQL avec pgvector support
- Docker Compose (PostgreSQL 16 + pgvector + Redis 7)
- Config partagée (tsconfig, ESLint, Prettier)
- Outbound ports définis (STT, TTS, LLM, Cache, Storage, VectorStore)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-27 09:01:52 +01:00

72 lines
3.5 KiB
Markdown

# Ti-Pote 🤖
**Robot animatronique de bureau personnel — modulaire, imprimé en 3D, propulsé par l'IA.**
Ti-Pote est un compagnon de bureau intelligent qui combine un hardware modulaire imprimé en 3D avec un backend cloud puissant. Le robot agit comme un client léger : il capture la voix et l'environnement de l'utilisateur, tandis que toute l'intelligence (compréhension du langage, function calling, mémoire conversationnelle) est traitée côté serveur.
## Vision
Créer un assistant robotique personnel, open-source et modulaire, capable de :
- Converser de manière fluide et naturelle en vocal
- Exécuter des actions concrètes (agenda, emails, recherche web, minuteurs…)
- Apprendre et se souvenir des préférences de l'utilisateur au fil du temps
- S'adapter physiquement grâce à des modules interchangeables (caméra, base mobile, écran…)
## Architecture
Ti-Pote suit une **architecture hexagonale** avec une séparation claire :
```
┌──────────────┐ WebSocket / REST ┌──────────────────────┐
│ Robot │ ◄──────────────────────────► │ Core Backend │
│ (Thin Client)│ │ (NestJS / TypeScript)│
│ - Micro │ │ - STT / TTS │
│ - Speaker │ │ - LLM + Functions │
│ - Caméra │ │ - Services métier │
│ - Wake Word │ │ - Mémoire │
└──────────────┘ └──────────────────────┘
┌─────────┴─────────┐
│ │
PostgreSQL Redis
+ pgvector
```
Le robot ne fait **aucun traitement lourd** — il capture, streame, et restitue.
## Stack technique
| Composant | Technologie |
|-----------|------------|
| Backend (Core) | TypeScript, NestJS, architecture hexagonale |
| Base de données | PostgreSQL + pgvector |
| Cache / Sessions | Redis |
| Communication | WebSocket (audio), REST (config) |
| Frontend / App | React, Next.js |
| Robot (embarqué) | Raspberry Pi, OpenWakeWord, ReSpeaker |
| STT | Deepgram / Whisper |
| LLM | Configurable (OpenAI, Anthropic, etc.) |
| TTS | ElevenLabs / Azure TTS |
## Documentation
| Document | Description |
|----------|-------------|
| [Architecture](docs/architecture.md) | Architecture hexagonale, services, flux de données |
| [Infrastructure](docs/infrastructure.md) | Déploiement cloud, bases de données, monitoring |
| [Fonctionnalités](docs/features.md) | Liste complète des features et cas d'usage |
| [Modèle de données](docs/data-model.md) | Schéma BDD, entités, relations |
| [Mémoire conversationnelle](docs/memory-system.md) | Système de mémoire à 3 niveaux |
| [Hardware](docs/hardware.md) | Propositions de composants et modules |
| [Roadmap](docs/roadmap.md) | Phases de développement et priorités |
## Équipe
- **Arthur** — Software & Backend (TypeScript, API, applications)
- **Juliann** — Hardware & Design (impression 3D, PCB, Arduino)
## Licence
À définir.