> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Bruk Pi med CometAPI

> Bruk denne veiledningen til å konfigurere Pi med CometAPI ved å angi base-URL, API-nøkkel og modell- eller leverandøralternativer.

[Pi](https://github.com/earendil-works/pi) er Pi Agent Harness-prosjektet. Pakken `@earendil-works/pi-coding-agent` tilbyr en interaktiv CLI for kodeagenter med arbeidsflyter for filer, shell, redigering, skriving, økter, utskrift, JSON, RPC og SDK. Pi kan laste inn egendefinerte leverandører fra `~/.pi/agent/models.json`, slik at du kan legge til CometAPI som OpenAI-kompatible leverandøroppføringer uten å endre kildekoden til Pi.

Offisielle referanser:

* [Pi repository](https://github.com/earendil-works/pi)
* [Pi quickstart](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/quickstart.md)
* [Pi providers](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/providers.md)
* [Pi custom models](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/models.md)
* [Pi CLI usage](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/usage.md)

<Note>
  Modelltilgjengelighet endrer seg over tid. Erstatt `your-model-id` med en tilgjengelig model ID fra [CometAPI Models page](/no/overview/models).
</Note>

## Forutsetninger

* Node.js `>=22.19.0`
* npm
* En CometAPI-konto med en aktiv API-nøkkel fra [dashboard](https://www.cometapi.com/console/token)
* Pi installert fra den offisielle npm-pakken

## Forstå kjøretidstillatelser

Pi kjører med tillatelsene til brukeren og prosessen som starter det. Start Pi i prosjektkatalogen du vil at det skal arbeide i, behold en tilbakeføringsmulighet som git, og bruk en container eller sandbox hvis du trenger sterkere grenser for filsystem, prosesser, nettverk eller legitimasjon.

## Konfigurer leverandøren

<Steps>
  <Step title="Installer Pi">
    Installer Pi globalt med npm:

    ```bash theme={null}
    npm install -g --ignore-scripts @earendil-works/pi-coding-agent
    ```

    Bekreft at CLI-en er tilgjengelig:

    ```bash theme={null}
    pi --version
    ```
  </Step>

  <Step title="Angi CometAPI API-nøkkelen din">
    Lagre CometAPI API-nøkkelen din i miljøvariabelen `COMETAPI_KEY`:

    ```bash theme={null}
    read -rsp "CometAPI API key: " COMETAPI_KEY
    printf '\n'
    export COMETAPI_KEY
    ```

    Legg til export-kommandoen i shell-profilen din hvis du vil at den skal vedvare på tvers av terminaløkter. Ikke commit API-nøkler til versjonskontroll.
  </Step>

  <Step title="Legg til CometAPI-leverandører i models.json">
    Opprett `~/.pi/agent/models.json` hvis den ikke finnes. Hvis filen allerede inneholder providers, flett oppføringene `cometapi-responses` og `cometapi-chat` inn i det eksisterende `providers`-objektet:

    ```json theme={null}
    {
      "providers": {
        "cometapi-responses": {
          "name": "CometAPI Responses",
          "baseUrl": "https://api.cometapi.com/v1",
          "api": "openai-responses",
          "apiKey": "$COMETAPI_KEY",
          "models": [
            {
              "id": "your-model-id",
              "name": "CometAPI Responses model"
            }
          ]
        },
        "cometapi-chat": {
          "name": "CometAPI Chat Completions",
          "baseUrl": "https://api.cometapi.com/v1",
          "api": "openai-completions",
          "apiKey": "$COMETAPI_KEY",
          "models": [
            {
              "id": "your-model-id",
              "name": "CometAPI Chat model"
            }
          ]
        }
      }
    }
    ```

    Bruk `cometapi-responses` for modeller eller arbeidsflyter som krever OpenAI Responses API. Bruk `cometapi-chat` for modeller som er kompatible med OpenAI Chat Completions. Pi løser opp `$COMETAPI_KEY` når forespørselen sendes. Behold API-nøkkelen i miljøet ditt eller i din egen secrets-arbeidsflyt.
  </Step>

  <Step title="Bekreft begge leverandørene">
    List opp modellene som Pi kan se for Responses-leverandøren:

    ```bash theme={null}
    pi --list-models cometapi-responses
    ```

    Kjør en kort engangsprompt med Responses-leverandøren:

    ```bash theme={null}
    pi --provider cometapi-responses --model your-model-id -p "Reply with one short sentence confirming the Responses connection."
    ```

    List opp modellene som Pi kan se for Chat Completions-leverandøren:

    ```bash theme={null}
    pi --list-models cometapi-chat
    ```

    Kjør en kort engangsprompt med Chat Completions-leverandøren:

    ```bash theme={null}
    pi --provider cometapi-chat --model your-model-id -p "Reply with one short sentence confirming the Chat Completions connection."
    ```

    For interaktiv bruk, start Pi i prosjektet ditt og velg CometAPI-leverandøren og modellen med `/model`. Hvis du redigerer `models.json` under en interaktiv økt, åpner du `/model` igjen slik at Pi laster inn de egendefinerte modelloppføringene på nytt.
  </Step>
</Steps>

## Feilsøking

<AccordionGroup>
  <Accordion title="Pi viser ikke CometAPI-modellen">
    Bekreft at `~/.pi/agent/models.json` er gyldig JSON og at hver provider-oppføring ligger inne i `providers`-objektet på toppnivå. Kjør `pi --list-models cometapi-responses` eller `pi --list-models cometapi-chat` etter at du har lagret filen.
  </Accordion>

  <Accordion title="Pi rapporterer at ingen API-nøkkel er tilgjengelig">
    Bekreft at `COMETAPI_KEY` er satt i den samme shell-økten som starter Pi. Hvis du bruker en shell-profil, åpne et nytt terminalvindu eller source profilen før du kjører Pi.
  </Accordion>

  <Accordion title="Forespørsler mislykkes på grunn av base URL">
    Bruk `https://api.cometapi.com/v1` som `baseUrl` i `models.json`. Ikke pek Pi til dashboard-URL-en eller utelat `/v1`-suffikset for OpenAI-kompatible ruter.
  </Accordion>

  <Accordion title="Pi feiler før den sender en modellforespørsel">
    Sjekk Node.js-versjonen din med `node --version`. Pi-pakken krever Node.js `>=22.19.0`.
  </Accordion>

  <Accordion title="Modellen fungerer på én rute, men ikke den andre">
    Bruk provider-oppføringen der `api`-feltet samsvarer med ruten modellen din støtter. `openai-responses` bruker Responses API, mens `openai-completions` bruker Chat Completions.
  </Accordion>

  <Accordion title="Pi har mer tilgang enn forventet">
    Pi kjører med tillatelsene til brukeren og prosessen som startet den. Kjør Pi i en container eller sandkasse når du trenger sterkere grenser rundt filer, prosesser, nettverkstilgang eller legitimasjon.
  </Accordion>
</AccordionGroup>

## Relaterte ressurser

* [CometAPI hurtigstart](/no/overview/quick-start)
* [CometAPI Models-side](/no/overview/models)
* [Pi egendefinerte modeller](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/models.md)
* [Bruk av Pi CLI](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/docs/usage.md)

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/pi#howto",
        "name": "Bruk Pi med CometAPI",
        "description": "Bruk denne veiledningen til å konfigurere Pi med CometAPI ved å angi base-URL, API-nøkkel og modell- eller leverandøralternativer.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-1",
            "position": 1,
            "name": "Installer Pi",
            "text": "Fullfør trinnet Installer Pi i veiledningen Bruk Pi med CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-2",
            "position": 2,
            "name": "Angi CometAPI API-nøkkelen din",
            "text": "Lagre CometAPI API-nøkkelen din i miljøvariabelen eller innstillingsfeltet som brukes av integrasjonen."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-3",
            "position": 3,
            "name": "Legg til CometAPI-leverandører i models.json",
            "text": "Fullfør trinnet Legg til CometAPI-leverandører i models.json i veiledningen Bruk Pi med CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/pi#step-4",
            "position": 4,
            "name": "Bekreft begge leverandørene",
            "text": "Fullfør trinnet Bekreft begge leverandørene i veiledningen Bruk Pi med CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "CometAPI-dokumentasjon",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integrasjoner",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Bruk Pi med CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/pi"
          }
        ]
      }
    ]
    }
    `}
</script>
