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 20 : Ligne 20 :
       "apiKey": "<font color = blue>local</font>",
       "apiKey": "<font color = blue>local</font>",
       "models": [
       "models": [
         { "id": "<font color = blue>Qwen3.8-27B</font>" }
         {
         { "id": "<font color = blue>Muse-Glimmer</font>" }
          "id": "Qwen3.8-27B",
          "input": ["text", "image"]
        },
         {
          "id": "Muse-Glimmer",
          "input": ["text", "image"]
        }
       ]
       ]
     }
     }
Ligne 31 : Ligne 37 :
Le modèle peut ensuite être sélectionné avec :
Le modèle peut ensuite être sélectionné avec :
  /login local
  /login local
=== Projets ===
=== Projets ===
  # mkdir -p ~/projets/mon-projet
  # mkdir -p ~/projets/mon-projet

Version du 27 septembre 2026 à 20:57

Prérequis

Installation

Debian

# apt update && apt upgrade
# apt install npm

On créé un utilisateur Pi :

# adduser pi
# su - pi

On install Pi :

# sudo npm install -g @mariozechner/pi-coding-agent

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

Projets

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

Mise à jour

# sudo pi update

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"
      }
    }
  }
}