Basculer le menu
Changer de menu des préférences
Basculer le menu personnel
Non connecté(e)
Votre adresse IP sera visible au public si vous faites des modifications.

« Pi Agent Harness » : différence entre les versions

De Le Wiki de Lug
Ligne 58 : Ligne 58 :
Une fois l'authentification terminée, de nouveaux modèles OpenAI seront disponibles via :
Une fois l'authentification terminée, de nouveaux modèles OpenAI seront disponibles via :
  /model
  /model
==== Choix du modèle pour la planification ====
Pour les tâches de planification, d'architecture logicielle ou de découpage d'un développement en plusieurs étapes, tous les modèles ne présentent pas le même rapport entre qualité de raisonnement et consommation du quota ChatGPT.
; '''GPT-6.0 Astra'''
: À privilégier pour les tâches de planification particulièrement complexes : architecture générale d'un projet, gros refactoring, choix techniques importants ou problèmes nécessitant un raisonnement en plusieurs étapes.
: C'est le choix offrant la meilleure capacité de raisonnement, mais également l'un des plus coûteux en quota.
; '''GPT-5.6 Sol'''
: Recommandé comme modèle principal pour la planification.
: Il offre un très bon niveau de raisonnement tout en consommant nettement moins de ressources que GPT-6.0 Astra.
: Il convient particulièrement à la conception d'une fonctionnalité, à la création d'un plan d'implémentation ou à l'analyse d'une architecture existante.
; '''GPT-5.6 Terra'''
: À utiliser lorsqu'on souhaite réduire davantage la consommation du quota.
: Il reste adapté aux tâches de planification courantes, mais sera moins fiable que GPT-5.6 Sol pour les problèmes d'architecture complexes.
; '''GPT-5.6 Luna'''
: Modèle rapide et économique, plutôt destiné aux tâches simples ou répétitives.
: Il est moins recommandé comme modèle principal pour concevoir l'architecture d'une fonctionnalité importante.


=== Projets ===
=== Projets ===

Version du 9 octobre 2026 à 08:47

Prérequis

Installation

Debian

# apt update && apt upgrade
# apt install npm

On créé un utilisateur Pi :

# adduser pi
# su - pi

On installe Pi avec l'installateur officiel :

# curl -fsSL https://pi.dev/install.sh | sh
# export PATH="/home/pi/.pi/agent/bin:$PATH"

On vérifie l'installation :

# pi --version

Configuration

Modèle local

# vi ~/.pi/agent/models.json

Par exemple, on créé un fournisseur local

{
  "providers": {
    "local": {
      "baseUrl": "https://192.168.1.123:8080/v1",
      "api": "openai-completions",
      "apiKey": "local",
      "models": [
        {
          "id": "Qwen3.8-27B",
          "input": ["text", "image"]
        },
        {
          "id": "Muse-Glimmer",
          "input": ["text", "image"]
        }
      ]
    }
  }
}

On lance ensuite Pi :

# pi

Le modèle peut ensuite être sélectionné avec :

/login local

Abonnement ChatGPT

On lance Pi :

# pi

On utilise ensuite la commande /login :

/login

Puis on sélectionne :

→ Sign in with an account
→ OpenAI

Se rendre sur l'URL indiquée et suivre les instructions pour connecter son compte ChatGPT.

Une fois l'authentification terminée, de nouveaux modèles OpenAI seront disponibles via :

/model

Choix du modèle pour la planification

Pour les tâches de planification, d'architecture logicielle ou de découpage d'un développement en plusieurs étapes, tous les modèles ne présentent pas le même rapport entre qualité de raisonnement et consommation du quota ChatGPT.

GPT-6.0 Astra
À privilégier pour les tâches de planification particulièrement complexes : architecture générale d'un projet, gros refactoring, choix techniques importants ou problèmes nécessitant un raisonnement en plusieurs étapes.
C'est le choix offrant la meilleure capacité de raisonnement, mais également l'un des plus coûteux en quota.
GPT-5.6 Sol
Recommandé comme modèle principal pour la planification.
Il offre un très bon niveau de raisonnement tout en consommant nettement moins de ressources que GPT-6.0 Astra.
Il convient particulièrement à la conception d'une fonctionnalité, à la création d'un plan d'implémentation ou à l'analyse d'une architecture existante.
GPT-5.6 Terra
À utiliser lorsqu'on souhaite réduire davantage la consommation du quota.
Il reste adapté aux tâches de planification courantes, mais sera moins fiable que GPT-5.6 Sol pour les problèmes d'architecture complexes.
GPT-5.6 Luna
Modèle rapide et économique, plutôt destiné aux tâches simples ou répétitives.
Il est moins recommandé comme modèle principal pour concevoir l'architecture d'une fonctionnalité importante.

Projets

# mkdir -p ~/projets/mon-projet
# cd ~/projets/mon-projet
# pi

Mise à jour

# pi update
  • Pi uniquement :
# pi update --self
  • Extensions/packages uniquement :
# pi update --extensions
  • Pi + extensions/packages :
# pi update --all

Extension

Package Catalog : Installation avec pi install npm:<package>

Extension fournissant à Pi des outils natifs pour la recherche web et la consultation de pages, avec prise en charge locale de SearXNG et Firecrawl. # pi install npm:pi-web-access Pour utiliser SearXNG et Firecrawl, éditer :

# vi ~/.pi/agent/web-search.json

Ajouter :

{
  "searxngBaseUrl": "https://192.168.1.123:8080",
  "firecrawlBaseUrl": "https://192.168.1.123:3002",
  "searchRouting": {
    "providers": ["searxng", "firecrawl"],
    "useCurrentModel": false,
    "fallbackOn": ["transient", "quota", "network", "invalid-response"]
  },
  "fetchRouting": {
    "providers": ["firecrawl"],
    "allowRemoteHostedProviders": false
  },
  "fetch": {
    "timeout": 30,
    "defaultMode": "readable",
    "allowedModes": ["readable", "raw", "answer"],
    "answerProvider": "local",
    "answerModel": "Qwen3.8-27B"
  },
  "webSearch": {
    "enabled": true,
    "allowedProviders": ["searxng", "firecrawl"]
  },
  "tools": {
    "webSearch": { "enabled": true },
    "sourceCheck": { "enabled": true },
    "fetchContent": { "enabled": true },
    "getSearchContent": { "enabled": true }
  },
  "commands": {
    "websearch": { "enabled": true },
    "curator": { "enabled": true },
    "search": { "enabled": true },
    "google-account": { "enabled": true }
  },
  "ssrf": {
  "allowRanges": ["192.168.1.0/24"]
  }
}

Navigateur Camofox anti-détection intégré sous forme d’outils natifs pour l’agent, avec gestion à la demande de son cycle de vie.

# sudo apt-get update && sudo apt-get install -y libgtk-3-0t64 libdbus-glib-1-2 libasound2t64
# pi install npm:@munstar0s/pifox

Mémoire persistante locale pour Pi, avec stockage SQLite et outils natifs pour mémoriser, retrouver et supprimer des souvenirs.

# sudo apt update && apt upgrade
# sudo apt install python3-pip python3-full python3-venv
# python3 -m venv ~/.mnemosyne-venv

On installe Mnemosyne :

  • mnemosyne-memory → mémoire + recherche lexicale, très léger.
  • mnemosyne-memory[embeddings] → ajoute la recherche sémantique avec des embeddings locaux.
  • mnemosyne-memory[all] → installe toutes les fonctionnalités optionnelles, notamment les modèles locaux nécessaires aux fonctions avancées.
# ~/.mnemosyne-venv/bin/pip install mnemosyne-memory[embeddings]
# pi install npm:@mnemosyne-oss/pi-mnemosyne
# echo 'export PATH="$HOME/.mnemosyne-venv/bin:$PATH"' >> ~/.bashrc
# source ~/.bashrc

Configuration

# vi ~/.hermes/mnemosyne/config.yaml
  • Pour remplacer le LLM embedding par défaut qui est anglais uniquement par un modèle fournis :
...
embedding_dim: 384
embedding_model: BAAI/bge-small-en-v1.5
...
Modèle Dimensions Langue / Type
BAAI/bge-small-en-v1.5 384 English
BAAI/bge-base-en-v1.5 768 English
BAAI/bge-small-zh-v1.5 512 Chinese
BAAI/bge-base-zh-v1.5 768 Chinese
BAAI/bge-large-zh-v1.5 1,024 Chinese
BAAI/bge-m3 1,024 Multilingual
intfloat/multilingual-e5-large 1,024 Multilingual
sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2 384 Multilingual
sentence-transformers/all-MiniLM-L6-v2 384 Multilingual
sentence-transformers/paraphrase-multilingual-mpnet-base-v2 768 Multilingual
openai/text-embedding-3-small 1,536 API
openai/text-embedding-3-large 3,072 API
  • Pour utiliser un embedding auto-hébergé :
...
embedding_api_key: 'MA_CLE'
embedding_api_url: 'http://MON_SERVEUR:8080/v1'
embedding_dim: 1024
embedding_model: 'TON_MODELE'
embeddings_off: false
embeddings_via_api: true
enhanced_recall: false
...
  • Pour utiliser un LLM auto-hébergé, exemple avec LFM2.5-2.6B :
...
llm_api_key: 'MA_CLE'
llm_base_url: 'http://MON_SERVEUR:8085/v1'
llm_conflict_detection: false
llm_enabled: true
llm_fallback_api_key: 
llm_fallback_base_url: 
llm_fallback_models: 
llm_file: 
llm_max_tokens: 2048
llm_model: 'LiquidAI_LFM2.5-2.6B'
llm_n_ctx: 131072
llm_n_threads: 4
llm_repo: 
llm_timeout: 60
...
# pi install npm:pi-mcp-adapter

Puis pour configurer les instances MCP :

# mkdir -p  ~/.config/mcp
# vi ~/.config/mcp/mcp.json
# vi ~/.config/mcp/mcp.json
{
  "mcpServers": {
    "ragflow": {
      "url": "http://192.168.1.123:9382/mcp",
      "headers": {
        "Authorization": "Bearer TON_API_KEY"
      }
    }
  }
}