Agent IA conversationnel en CLI avec support de tools (function calling). Une alternative locale/légère à Claude Code.
- Multi-backend : Anthropic Claude, OpenAI, ou LLM local (Ollama, LM Studio)
- Tools natifs : lecture/écriture fichiers, grep, glob, git, bash, analyse de code
- Détection automatique du workspace et des projets
- Modes d'affichage : verbose, debug, complete
# Installer
git clone git@github.com:profff/francine.git
cd francine
python -m venv venv
./venv/Scripts/pip install -r requirements.txt # Windows
# ou: source venv/bin/activate && pip install -r requirements.txt
# Configurer
cp .env.example .env
# Editer .env avec ta clé API ou ton preset
# Lancer
./venv/Scripts/python francine/main.py# Methode simple : utiliser un preset
LLM_PRESET=claude # Anthropic Claude (defaut)
LLM_PRESET=gateway # Via openai-gateway local
LLM_PRESET=qwen3b # Ollama local
LLM_PRESET=lmstudio # LM Studio local
# Cle API (si preset cloud)
ANTHROPIC_API_KEY=sk-ant-xxxPresets disponibles : claude, claude-haiku, gpt4, gpt4o, gateway, qwen3b, qwen1.5b, gemma3, phi3, llama3.2, lmstudio
| Commande | Description |
|---|---|
/help |
Affiche l'aide |
/verbose |
Toggle affichage des tools |
/debug |
Toggle payloads API complets |
/complete |
Toggle sortie complete des tools |
/workspace |
Affiche le contexte workspace |
/quit |
Quitter |
| Tool | Description |
|---|---|
think |
Reflexion interne (chain of thought) |
read_file |
Lire un fichier |
edit_file |
Editer un fichier |
write_file |
Creer un fichier |
list_directory |
Lister un repertoire |
grep |
Recherche regex dans les fichiers |
glob |
Recherche par pattern de fichiers |
git |
Operations git (status, diff, log, commit...) |
bash |
Executer une commande shell |
analyze |
Analyser l'architecture du projet |
francine/
├── main.py # Point d'entree, boucle agent
├── display.py # Affichage terminal
├── presets.py # Presets de config LLM
├── workspace.py # Detection multi-projets
├── llm/
│ ├── base.py # Interface abstraite
│ ├── anthropic.py # Backend Claude
│ └── openai_compat.py # Backend OpenAI/local
└── tools/
├── base.py # Interface Tool
├── filesystem.py # read_file, edit_file, write_file
├── shell.py # bash
├── search.py # grep, glob
├── git.py # git
├── analyze.py # analyze
└── think.py # think
Pour partager l'acces sans exposer ta cle API :
- Lancer openai-gateway
- Configurer
LLM_PRESET=gatewaydans.env
- Pas de streaming (reponses completes)
- Machine de dev avec 4GB VRAM : max modeles 3B-4B en local