Passer au contenu principal
oh-my-pi (commande omp, aussi connu sous le nom de pi-mono — le même projet) est un agent de codage en ligne de commande minimal et extensible.
Protocole : compatible OpenAI
  • Base URL : https://api.orcarouter.ai/v1 (inclut le suffixe /v1)

Installation

bun install -g @oh-my-pi/pi-coding-agent
Nécessite bun >= 1.3.14. La commande installée est omp.

Configuration

Exportez d’abord votre clé API comme variable d’environnement :
export ORCA_KEY="sk-orca-..."
Fichier de configuration : ~/.omp/agent/models.yml.
providers:
  orcarouter:
    baseUrl: https://api.orcarouter.ai/v1
    api: openai-completions
    apiKey: ORCA_KEY
    authHeader: true
    models:
      - id: orcarouter/auto
        name: OrcaRouter Auto
        reasoning: false
        input: [text]
        contextWindow: 200000
        maxTokens: 8192
        compat:
          supportsDeveloperRole: false
          maxTokensField: max_tokens
Remplacez orcarouter/auto par un modèle spécifique si vous le préférez, par ex. anthropic/claude-opus-4.8 ou google/gemini-2.5-flash. Les ID de modèles utilisent toujours le format vendor/model.

Exécution

omp -p --model "orcarouter/orcarouter/auto" "Reply with exactly: OK"
Sortie attendue : OK.

Notes

  • Nécessite bun >= 1.3.14.
  • La base_url doit inclure /v1.
  • Le champ apiKey prend le nom d’une variable d’environnement, et non la clé elle-même ; avec authHeader: true elle est envoyée sous forme de Authorization: Bearer <value>.
  • Les références de modèles utilisent le format provider/model — ici orcarouter/orcarouter/auto (provider orcarouter + ID du modèle orcarouter/auto).
  • Utilisez -p pour les exécutions non interactives.
  • oh-my-pi et pi-mono sont le même projet ; la commande est omp dans les deux cas.

Activer la réflexion / le raisonnement

L’entrée de modèle par défaut ci-dessus a reasoning: false. Pour activer le raisonnement et permettre la sélection de l’effort, déclarez un bloc thinking plus un compat.reasoningEffortMap sur le modèle :
models:
  - id: anthropic/claude-sonnet-4.6
    name: Claude Sonnet 4.6
    reasoning: true
    thinking:
      minLevel: low
      maxLevel: xhigh
      mode: effort
    input: [text]
    contextWindow: 200000
    maxTokens: 8192
    compat:
      supportsDeveloperRole: false
      supportsReasoningEffort: true
      maxTokensField: max_tokens
      thinkingFormat: openai
      reasoningEffortMap: { low: low, medium: medium, high: high, xhigh: high }
Choisissez ensuite un niveau d’effort à l’exécution avec un suffixe model:level (dans l’intervalle minLevel..maxLevel) :
omp -p --model "orcarouter/anthropic/claude-sonnet-4.6:high" "What is 17*23?"
Vérifié : le suffixe :high sélectionne le niveau d’effort et fonctionne avec OrcaRouter.