@earendil-works/pi-coding-agent stellt eine interaktive Coding-Agent-CLI mit Workflows für Dateien, Shell, Bearbeiten, Schreiben, Sitzungen, Ausgabe, JSON, RPC und SDK bereit. Pi kann benutzerdefinierte provider aus ~/.pi/agent/models.json laden, sodass Sie CometAPI als OpenAI-kompatible provider-Einträge hinzufügen können, ohne den Pi-Quellcode zu ändern.
Offizielle Referenzen:
Die Verfügbarkeit von Modellen ändert sich im Laufe der Zeit. Ersetzen Sie
your-model-id durch eine verfügbare model ID von der CometAPI-Modelle-Seite.Voraussetzungen
- Node.js
>=22.19.0 - npm
- Ein CometAPI-Konto mit einem aktiven API key aus dem Dashboard
- Pi, installiert aus dem offiziellen npm-Paket
Laufzeitberechtigungen verstehen
Pi wird mit den Berechtigungen des Benutzers und Prozesses ausgeführt, der es startet. Starten Sie Pi im Projektverzeichnis, in dem es arbeiten soll, behalten Sie einen Rollback-Pfad wie git bei, und verwenden Sie einen Container oder eine Sandbox, wenn Sie stärkere Grenzen für Dateisystem, Prozesse, Netzwerk oder Zugangsdaten benötigen.Provider konfigurieren
1
Pi installieren
Installieren Sie Pi global mit npm:Bestätigen Sie, dass die CLI verfügbar ist:
2
Ihren CometAPI API key festlegen
Speichern Sie Ihren CometAPI API key in der Umgebungsvariable Fügen Sie den export-Befehl Ihrem Shell-Profil hinzu, wenn er über Terminal-Sitzungen hinweg bestehen bleiben soll. Committen Sie keine API keys in die Versionsverwaltung.
COMETAPI_KEY:3
CometAPI-Provider zu models.json hinzufügen
Erstellen Sie Verwenden Sie
~/.pi/agent/models.json, falls die Datei noch nicht existiert. Wenn die Datei bereits Provider enthält, führen Sie die Einträge cometapi-responses und cometapi-chat im vorhandenen providers-Objekt zusammen:cometapi-responses für Modelle oder Workflows, die die OpenAI Responses API erfordern. Verwenden Sie cometapi-chat für Modelle, die mit OpenAI Chat Completions kompatibel sind. Pi löst $COMETAPI_KEY zur Request-Zeit auf. Bewahren Sie den API key in Ihrer Umgebung oder in Ihrem eigenen Secrets-Workflow auf.4
Beide Provider überprüfen
Listen Sie die Modelle auf, die Pi für den Responses-Provider sehen kann:Führen Sie einen kurzen einmaligen Prompt mit dem Responses-Provider aus:Listen Sie die Modelle auf, die Pi für den Chat Completions-Provider sehen kann:Führen Sie einen kurzen einmaligen Prompt mit dem Chat Completions-Provider aus:Für die interaktive Verwendung starten Sie Pi in Ihrem Projekt und wählen den CometAPI-Provider und das Modell mit
/model aus. Wenn Sie models.json während einer interaktiven Sitzung bearbeiten, öffnen Sie /model erneut, damit Pi die benutzerdefinierten Modelleinträge neu lädt.Fehlerbehebung
Pi zeigt das CometAPI-Modell nicht an
Pi zeigt das CometAPI-Modell nicht an
Bestätige, dass
~/.pi/agent/models.json gültiges JSON ist und dass sich jeder provider-Eintrag innerhalb des providers-Objekts der obersten Ebene befindet. Führe pi --list-models cometapi-responses oder pi --list-models cometapi-chat aus, nachdem du die Datei gespeichert hast.Pi meldet, dass kein API-Schlüssel verfügbar ist
Pi meldet, dass kein API-Schlüssel verfügbar ist
Bestätige, dass
COMETAPI_KEY in derselben Shell-Sitzung gesetzt ist, die Pi startet. Wenn du ein Shell-Profil verwendest, öffne ein neues Terminal oder lade das Profil, bevor du Pi ausführst.Anfragen schlagen wegen der base URL fehl
Anfragen schlagen wegen der base URL fehl
Verwende
https://api.cometapi.com/v1 als baseUrl in models.json. Richte Pi nicht auf die Dashboard-URL und lasse das Suffix /v1 für OpenAI-kompatible Routen nicht weg.Pi schlägt fehl, bevor eine Modellanfrage gesendet wird
Pi schlägt fehl, bevor eine Modellanfrage gesendet wird
Prüfe deine Node.js-Version mit
node --version. Das Pi-Paket erfordert Node.js >=22.19.0.Das Modell funktioniert auf einer Route, aber nicht auf der anderen
Das Modell funktioniert auf einer Route, aber nicht auf der anderen
Verwende den provider-Eintrag, dessen Feld
api mit der Route übereinstimmt, die dein Modell unterstützt. openai-responses verwendet die Responses API, während openai-completions Chat Completions verwendet.Pi hat mehr Zugriff als erwartet
Pi hat mehr Zugriff als erwartet
Pi läuft mit den Berechtigungen des Benutzers und Prozesses, der es gestartet hat. Führe Pi in einem Container oder einer Sandbox aus, wenn du strengere Grenzen für Dateien, Prozesse, Netzwerkzugriff oder Zugangsdaten benötigst.