Documentation
Le site, le mode local, les crédits en ligne, et le détail technique de l’agent. Une demande, des actions sur les fichiers du dossier ouvert, puis un résultat.
Assistant CLI local : Ollama, neuf outils fichiers, une boucle identique pour chaque modèle. Après une écriture sans run réussi, une seule relance, puis le texte est la réponse. Les commandes / et le shell passent à côté du modèle. Le mode en ligne est optionnel et consomme des crédits.
run (par défaut) · mode --read-only/ et verbes shell passent à côté du LLMBinaire ou scripts : mini-agentic (alias miniagentic).
Marque affichée : Mini Agentic. Paquet Python : miniagentic. URL : mini-agentic.com.
run par défaut, mode --read-only, pas de chargeur de plugins. Mode en ligne optionnel.
Sur la page Crédits : ce qui fait monter la consommation, un estimateur, le catalogue des modèles en ligne, un sélecteur par intention, des exemples et une FAQ.
Page Tarifs, aussi résumée sur l’accueil. Le prix est celui de l’abonnement. Les crédits indiquent le volume inclus, pas un second montant en euros.
Le compte sert à se connecter, voir les crédits restants et l’activité. Après mini-agentic login ou /cloud login, le navigateur confirme l’autorisation du terminal.
Affiche l’usage de la période. Quand les crédits sont épuisés, les nouvelles demandes en ligne s’arrêtent ; le mode sur votre ordinateur continue.
Le mot de passe reste dans le navigateur. Le terminal reçoit seulement un jeton de session.
Depuis la section Essayer de l’accueil, ou avec les commandes ci-dessous.
curl -fsSL https://mini-agentic.com/install.sh | shirm https://mini-agentic.com/install.ps1 | iexMode local : Ollama + un modèle. Mode en ligne : compte, formule, puis connexion du terminal. Détail des modèles et des crédits : page Crédits.
Feature-Based sous product/miniagentic/. Survole mentalement : chaque nœud s’allume.
Règle : la couche 1 ne connaît pas Ollama. Les couches 4–5 peuvent ignorer le LLM.
main() → Agent.files() → workspace → prompt → outils → banner → REPL.
/ ne passent pas par ce filtre. Le shell tapé (hors builtins) utilise le même sandbox que run.
Priorité stricte : vide → quit → / → shell → sinon agent.ask. Une frappe pendant ask annule le tour et enchaîne.
Toute la boucle est dans agent/agent.py · ask(). Le modèle décide des outils. Après une écriture sans run réussi, une seule relance. Le texte suivant est la réponse. Pas de plan persistant.
CONTEXT_CHAR_BUDGET (défaut 120 000)ÉTATtools.for_llm()tool_calls → exécution → on recommencerun réussi : une seule relanceUne signature déjà vue depuis la dernière écriture n’est pas réexécutée. Au deuxième doublon, un dernier appel sans outils clôt. Un JSON d’outil cassé est retenté trois fois. Un HTTP 500 est retenté deux fois après réduction de l’historique. Tours épuisés : un résumé sans outils. cancel retire les messages de la requête.
Le nom du modèle ne change ni les tours, ni le budget, ni les outils. La taille change ce que le modèle arrive à mener. Il n’existe pas de MINIAGENTIC_PROFIL.
| Variable | Défaut | Effet |
|---|---|---|
MAX_TOOL_ROUNDS | 40 | tours d’outils, puis un résumé sans outils |
CONTEXT_CHAR_BUDGET | 120 000 | les vieux résultats d’outils deviennent compacté: |
MAX_MALFORMED_RETRIES | 3 | reprises après un JSON d’outil rejeté |
/ls, /find, /grepLe prompt demande de ne pas relire un fichier juste après un edit réussi. Ce n’est pas un filtre du runtime.
/model list sépare le local et le catalogue en ligne. Un nom absent des deux listes est refusé. Choisir un nom présent seulement en ligne bascule vers l’API Mini Agentic (/cloud login). Au démarrage, un nom du catalogue part aussi vers Mini Agentic s’il n’est pas installé en local. Le chemin par défaut reste l’Ollama local. Consommation et choix de modèle : page Crédits.
Deux couches : filesystem/outils/ (LLM) vs filesystem/operations/ (disque pur, aussi utilisé par /).
| Outil LLM | Ops |
|---|---|
tree | explore_tree |
find | find_paths |
grep | grep_paths |
read | read_text |
edit | replace_text — extrait unique, ou plage de lignes |
write | write_text |
mkdir | mkdir |
ls | list_entries |
run | run_command — shell sandboxed si backend dispo, && et pipes, cd éphémère |
read, edit, write, mkdir, tree, ls, find et grep refusent un chemin hors du workspace. run : confirmation interactive par défaut en CLI (--yes pour sauter) · mode --read-only · sandbox multi-backend (bwrap → macos → docker → podman) lorsqu’un backend est installé. Un échec ne défait pas les fichiers. Détail : page Sécurité.
Neuf closures, les mêmes pour chaque modèle. filesystem_tools les enregistre dans Tools. Ollama lit la signature et le bloc Args:. Il n’y a pas de chargeur de plugins.
from miniagentic.filesystem.outils.adaptateurs import filesystem_tools tools = filesystem_tools(".") tools.names() # tree find grep read edit write mkdir ls run # Un chemin hors du workspace : # {"error": "hors du workspace", "path": "…"}
{"error": …}, sans remonter au modèle/tools liste ces neuf noms, rien d’autrerun après un edit repartDeuxième chemin vers le disque — sans Ollama. Aiguillage dans commandes.run.
| Commande | Effet |
|---|---|
/ls /tree /find /grep /read | filesystem.* direct |
/path · cd | workspace, outils rechargés, conversation oubliée |
/tools | les neuf noms du registre |
/model /reset /history /export /config | session / Ollama |
Orthogonal au modèle. cd change le dossier, recharge les outils et oublie la conversation. Le shell système (ls, rm, …) passe par le même sandbox que l’outil run (hors builtins).
La palette aide à saisir — elle ne route pas. Le routage reste dans _interactive.
--plain / non-TTY → input()palette.read_line(session)@chemin@fichier en début de mot est retiré avant ask. note@mail reste« Quels fichiers Python y a-t-il ? » — du binaire jusqu’à show_reply, sans forcer un outil si le modèle répond déjà en texte.
/find *.py : même disque, zéro LLM, beaucoup plus court.
Exports : Agent, Tools, workspace.
from miniagentic import Agent agent = Agent.files(workspace=".", model="ministral-3:3b") print(agent.ask("Liste les fichiers à la racine")) agent.set_workspace("~/autre") # outils + prompt, conversation oubliée agent.reset() # nouvelle conversation
miniagentic. Commande : mini-agentic/cloud, login--yes). && et pipes permis. exit_code + champ sandbox. Un échec ne défait rienrun. Active par défaut. Désactiver : --yes / MINIAGENTIC_CONFIRM_RUN=0--read-only / MINIAGENTIC_READ_ONLY=1 : tree, ls, find, grep, read uniquement — pas d’écriture ni de run
Source textuelle détaillée : ARCHITECTURE.md à la racine du dépôt.
Si le code diverge, c’est le code qui fait foi.