Skip to content

Latest commit

 

History

History
72 lines (63 loc) · 3.44 KB

File metadata and controls

72 lines (63 loc) · 3.44 KB

🔄 Reprendre le développement sur un autre poste

Le code et la configuration modèle sont versionnés ; les secrets et l'état local ne le sont pas (cf. .gitignore). Voici comment repartir d'un poste neuf.

1. Installation rapide (recommandée)

install.sh provisionne tout sur un système nu — y compris un conteneur LXC/Docker Debian : sudo, git, curl, outils de build, Docker (script officiel get.docker.com), Python 3.13 via uv, le venv et les dépendances.

# En 1 ligne (clone + installe) :
curl -fsSL https://raw.githubusercontent.com/faelnor92/athena/main/install.sh | bash
# ou, dépôt déjà cloné :
./install.sh

Debian/Ubuntu ne packagent pas Python 3.13 → install.sh l'installe via uv (sans toucher au python système). Lancé en root (conteneur), il se passe de sudo.

2. Installation manuelle

Prérequis

  • git, curl, Docker (sandbox d'exécution de code), et uv (provisionne Python 3.13).
  • Un endpoint LLM (cloud ou local) — par défaut le projet utilise CUSTOM_LLM_API_BASE.

Cloner + dépendances

git clone <URL_DU_DEPOT> athena && cd athena
# uv : installe Python 3.13 + crée un venv ISOLÉ (évite un vieux chromadb 0.5.x système).
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.13
uv venv --python 3.13 .venv
source .venv/bin/activate            # Windows : .venv\Scripts\activate
uv pip install -r requirements.txt
# Optionnel — assistant vocal local « Jarvis » (STT/wakeword) :
#   uv pip install -r requirements-voice.txt
# Optionnel — transcription de réunion + dictée vocale du chat (Whisper local) :
#   uv pip install openai-whisper     # ⚠️ tire PyTorch (~poids important)
#   (sinon : la transcription bascule sur un LLM cloud si GEMINI/OPENAI_API_KEY est défini)
# Sandbox : l'image est tirée au 1er usage, ou manuellement :
docker pull python:3.13-slim

4. Configuration (à recréer — non versionnée)

cp .env.example .env       # puis renseigner CUSTOM_LLM_API_BASE / CUSTOM_LLM_API_KEY, etc.
  • Test local : laisser HOST=127.0.0.1 (aucun mot de passe requis).
  • Accès réseau : HOST=0.0.0.0 et ADMIN_PASSWORD=... (idéalement derrière un reverse-proxy HTTPS).
  • Fichiers optionnels (depuis leurs .example si besoin) :
    • mcp_servers.json (serveurs MCP),
    • channel_policies.json (permissions par canal).

5. Lancer

# (venv activé — cf. étape 3 ; utilise le python du venv, PAS le python3 système)
python server.py           # interface web -> http://localhost:8000
# ou
python main.py             # CLI interactif
python voice_assistant.py  # assistant vocal (serveur lancé à côté)

⚠️ Lance toujours avec le python du venv (venv activé, ou .venv/bin/python server.py). Le python3 système utiliserait d'autres dépendances (potentiellement périmées).

6. Tests

for t in tests/test_*.py; do python3 "$t"; done

7. Ce qui NE transfère PAS par git (état local)

Recréé automatiquement, ou à copier manuellement si vous voulez migrer vos données :

  • conversations*.json (fils de discussion), core_memory.json (faits mémorisés),
  • .chroma_db/ (mémoire vectorielle / RAG), runs.sqlite3 (historique des runs),
  • workspace/ (sauf pricing_config.json), logs/,
  • skills/*.py (compétences générées par les agents).

Pour transporter une compétence précise dans le dépôt : git add -f skills/<nom>.py.