Pi Coding Agent
Pi è un agente di codifica IA open source, orientato al terminale, sviluppato da Earendil Works. Viene eseguito direttamente nella directory del progetto, comprende il repository, modifica i file, esegue comandi e consente di verificare le modifiche prima che vengano applicate.
Pi è indipendente dal modello e supporta endpoint personalizzati compatibili con OpenAI. Collegato alla nostra Everyware AI API ospitata in Svizzera, i prompt, il codice sorgente e le risposte restano all'interno della nostra infrastruttura GPU svizzera.
Funzionalità principali
- TUI orientata al terminale: Lavorate in modo interattivo nel terminale senza uscire dalla directory del progetto.
- Provider personalizzati: Registrate qualsiasi endpoint compatibile con OpenAI tramite
models.json. - Livelli di ragionamento: Modificate lo sforzo di ragionamento per modello con
/thinkingo con il suffisso del modello:level. - Controllo delle sessioni: Create rami, tornate indietro e riprendete le sessioni senza perdere il contesto precedente.
- Sovranità completa dei dati: Tutte le richieste ai modelli passano attraverso la nostra Everyware AI API svizzera.
Installazione
curl -fsSL https://pi.dev/install.sh | sh
Richiede Node.js 22.19 o versione successiva:
npm install -g --ignore-scripts @earendil-works/pi-coding-agent
Verificate l'installazione:
pi --version
Configurazione
1. Salvare la chiave API
Esportate la vostra chiave API virtuale come variabile di ambiente:
export EW_AI_API_KEY="sk-bf-..."
Aggiungete la riga al vostro profilo shell (~/.bashrc, ~/.zshrc) per renderla persistente.
2. Registrare il gateway
Create o modificate ~/.pi/agent/models.json:
{
"$schema": "https://pi.dev/schemas/models.schema.json",
"providers": {
"ew": {
"name": "Everyware AI API",
"baseUrl": "https://ai.ewcs.ch/v1",
"api": "openai-completions",
"apiKey": "$EW_AI_API_KEY",
"models": [
{
"id": "flagship",
"name": "Everyware Flagship",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1048576,
"maxTokens": 131072
},
{
"id": "balanced",
"name": "Everyware Balanced",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1000000,
"maxTokens": 131072
},
{
"id": "fast",
"name": "Everyware Fast",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 262144,
"maxTokens": 131072
}
]
}
}
}
L'ID del provider ew combinato con gli ID dei modelli produce i selettori ew/flagship, ew/balanced e ew/fast.
Credenziali dei provider personalizzati
Il comando /login di Pi copre solo i provider integrati. I modelli personalizzati compaiono in /model non appena apiKey viene risolta, in questo esempio dalla variabile di ambiente EW_AI_API_KEY.
3. Avviare Pi
cd /path/to/project
pi --model ew/flagship
Per verificare che il gateway e i suoi modelli siano registrati:
pi --list-models ew
pi auth check --provider ew
Comandi e flussi di lavoro tipici
- Avviare in modo interattivo:
pi - Selezionare un modello:
pi --model ew/balanced - Impostare il livello di ragionamento:
pi --model ew/flagship:high - Nella TUI:
/model– apre il selettore del modello (ricaricamodels.json)/thinking– modifica il livello di ragionamento/settings– modifica le preferenze comuniCtrl+L– cambia modello
- Prompt singolo:
pi -p "Explain the architecture of this repository."