@earendil-works/pi-coding-agent udostępnia interaktywny agent CLI do kodowania z obsługą workflow opartych na plikach, shell, edit, write, session, print, JSON, RPC oraz SDK. Pi może ładować niestandardowych dostawców z ~/.pi/agent/models.json, więc możesz dodać CometAPI jako wpisy dostawcy zgodnego z OpenAI bez zmiany kodu źródłowego Pi.
Oficjalne materiały:
Dostępność modeli zmienia się z czasem. Zastąp
your-model-id dostępnym model ID ze strony CometAPI Models page.Wymagania wstępne
- Node.js
>=22.19.0 - npm
- Konto CometAPI z aktywnym kluczem API z panelu
- Pi zainstalowane z oficjalnego pakietu npm
Zrozumienie uprawnień środowiska uruchomieniowego
Pi działa z uprawnieniami użytkownika i procesu, który je uruchamia. Uruchamiaj Pi w katalogu projektu, nad którym ma pracować, zachowaj ścieżkę wycofania zmian, na przykład git, i użyj kontenera lub sandboxa, jeśli potrzebujesz silniejszych granic dla systemu plików, procesów, sieci lub poświadczeń.Skonfiguruj dostawcę
1
Zainstaluj Pi
Zainstaluj Pi globalnie za pomocą npm:Potwierdź, że CLI jest dostępne:
2
Ustaw swój klucz API CometAPI
Zapisz swój klucz API CometAPI w zmiennej środowiskowej Dodaj polecenie export do profilu swojej powłoki, jeśli chcesz, aby ustawienie było zachowywane między sesjami terminala. Nie zapisuj kluczy API w systemie kontroli wersji.
COMETAPI_KEY:3
Dodaj dostawców CometAPI do models.json
Utwórz Użyj
~/.pi/agent/models.json, jeśli jeszcze nie istnieje. Jeśli plik zawiera już dostawców, scal wpisy cometapi-responses i cometapi-chat z istniejącym obiektem providers:cometapi-responses dla modeli lub workflow, które wymagają OpenAI Responses API. Użyj cometapi-chat dla modeli zgodnych z OpenAI Chat Completions. Pi rozwiązuje $COMETAPI_KEY w momencie wykonywania żądania. Przechowuj klucz API w swoim środowisku lub we własnym workflow zarządzania sekretami.4
Zweryfikuj obu dostawców
Wyświetl listę modeli, które Pi widzi dla dostawcy Responses:Uruchom krótki jednorazowy Prompt z dostawcą Responses:Wyświetl listę modeli, które Pi widzi dla dostawcy Chat Completions:Uruchom krótki jednorazowy Prompt z dostawcą Chat Completions:Do użytku interaktywnego uruchom Pi w swoim projekcie i wybierz dostawcę oraz model CometAPI za pomocą
/model. Jeśli edytujesz models.json podczas sesji interaktywnej, otwórz ponownie /model, aby Pi przeładowało niestandardowe wpisy modeli.Rozwiązywanie problemów
Pi nie pokazuje modelu CometAPI
Pi nie pokazuje modelu CometAPI
Potwierdź, że
~/.pi/agent/models.json jest prawidłowym JSON-em oraz że każdy wpis providera znajduje się w obiekcie najwyższego poziomu providers. Po zapisaniu pliku uruchom pi --list-models cometapi-responses lub pi --list-models cometapi-chat.Pi zgłasza, że żaden klucz API nie jest dostępny
Pi zgłasza, że żaden klucz API nie jest dostępny
Potwierdź, że
COMETAPI_KEY jest ustawiony w tej samej sesji shella, z której uruchamiasz Pi. Jeśli używasz profilu shella, otwórz nowy terminal lub wczytaj profil przed uruchomieniem Pi.Żądania kończą się niepowodzeniem z powodu bazowego URL
Żądania kończą się niepowodzeniem z powodu bazowego URL
Użyj
https://api.cometapi.com/v1 jako baseUrl w models.json. Nie kieruj Pi na URL dashboardu i nie pomijaj sufiksu /v1 dla tras zgodnych z OpenAI.Pi kończy działanie przed wysłaniem żądania do modelu
Pi kończy działanie przed wysłaniem żądania do modelu
Sprawdź wersję Node.js za pomocą
node --version. Pakiet Pi wymaga Node.js >=22.19.0.Model działa na jednej trasie, ale nie na drugiej
Model działa na jednej trasie, ale nie na drugiej
Użyj wpisu providera, którego pole
api odpowiada trasie obsługiwanej przez Twój model. openai-responses używa API Responses, a openai-completions używa Chat Completions.Pi ma większy dostęp, niż oczekiwano
Pi ma większy dostęp, niż oczekiwano
Pi działa z uprawnieniami użytkownika i procesu, które go uruchomiły. Uruchom Pi w kontenerze lub sandboxie, gdy potrzebujesz silniejszych ograniczeń dotyczących plików, procesów, dostępu do sieci lub poświadczeń.