« Pi Agent Harness » : différence entre les versions
Autres actions
| Ligne 152 : | Ligne 152 : | ||
llm_fallback_models: '' | llm_fallback_models: '' | ||
llm_file: '' | llm_file: '' | ||
llm_max_tokens: | llm_max_tokens: <font color = green>2048</font> | ||
llm_model: '<font color = green>LiquidAI_LFM2.5-2.6B</font>' | llm_model: '<font color = green>LiquidAI_LFM2.5-2.6B</font>' | ||
llm_n_ctx: <font color = green>131072</font> | llm_n_ctx: <font color = green>131072</font> | ||
Version du 23 septembre 2026 à 19:41
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" }
{ "id": "Muse-Glimmer" }
]
}
}
}
On lance ensuite Pi :
# pi
Le modèle peut ensuite être sélectionné avec :
/login local
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"
}
}
}
}