Skip to content

profff/francine

Repository files navigation

Francine

Agent IA conversationnel en CLI avec support de tools (function calling). Une alternative locale/légère à Claude Code.

Features

  • 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

Quick Start

# 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

Configuration (.env)

# 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-xxx

Presets disponibles : claude, claude-haiku, gpt4, gpt4o, gateway, qwen3b, qwen1.5b, gemma3, phi3, llama3.2, lmstudio

Commandes

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

Tools disponibles

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

Architecture

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

Utilisation avec la Gateway

Pour partager l'acces sans exposer ta cle API :

  1. Lancer openai-gateway
  2. Configurer LLM_PRESET=gateway dans .env

Limitations

  • Pas de streaming (reponses completes)
  • Machine de dev avec 4GB VRAM : max modeles 3B-4B en local

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published