Vai al contenuto

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 /thinking o 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 (ricarica models.json)
    • /thinking – modifica il livello di ragionamento
    • /settings – modifica le preferenze comuni
    • Ctrl+L – cambia modello
  • Prompt singolo:
    pi -p "Explain the architecture of this repository."