# Senpi (OmO Native)

Source: https://docs.aicentos.com/fr/clients/senpi

Language: fr

> Connecter aicentos à Senpi / OmO — emplacement du répertoire de configuration et du provider openai-compatible

Senpi est un fork de `pi-mono`, dont le paquet npm s'appelle `@code-yeongyu/senpi` et l'exécutable `senpi`. Il sert aussi de runtime à oh-my-openagent (OmO en abrégé), donc « OmO Native » désigne l'ensemble qui tourne sur le harness senpi.

## Prérequis

```bash
curl -fsSL https://get.omo.dev/install.sh | bash
omo
```

Vous pouvez aussi l'installer avec bun :

```bash
bun add -g omo-ai
```

Le projet se décrit comme experimental ; les auteurs recommandent explicitement de ne pas le placer sur une chaîne de production.

## Configuration à renseigner

Le répertoire de configuration est `~/.omo/agent/`, surchargeable via `OMO_CODING_AGENT_DIR` ; les anciennes variables `SENPI_*` restent compatibles.

| Fichier         | Rôle                                                             |
| --------------- | ---------------------------------------------------------------- |
| `models.json`   | définition des providers (endpoint, protocole, liste de modèles) |
| `auth.json`     | clés                                                             |
| `settings.json` | préférences, modèle par défaut, etc.                             |

senpi lui-même dispose de son propre ensemble : `~/.senpi/agent/settings.json`, ainsi que `.senpi/settings.json` au niveau du projet.

| Champ                 | Valeur                                                              |
| --------------------- | ------------------------------------------------------------------- |
| Protocole du provider | `@ai-sdk/openai-compatible`                                         |
| Base URL              | `https://aicentos.com/v1`                                           |
| API Key               | clé créée dans la console                                           |
| Modèle                | nom du modèle dans la « place de marché des modèles » de la console |

## Étapes de configuration

Dans `~/.omo/agent/models.json`, ajoutez un provider et choisissez la catégorie compatible OpenAI comme protocole (le mapping donné par la documentation est `npm: @ai-sdk/openai-compatible`) :

```json
{
  "providers": {
    "aicentos": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://aicentos.com/v1",
        "apiKey": "sk-votre-clé-API"
      },
      "models": {
        "votre-nom-de-modèle": {}
      }
    }
  }
}
```

La clé peut aussi être placée séparément dans `auth.json`, sans être écrite dans `models.json`. Écrivez ensuite le modèle par défaut dans `settings.json`.

## Test

Lancez `omo` ou `senpi`, vérifiez dans le sélecteur de modèles que les modèles sous `aicentos` apparaissent, puis envoyez une phrase pour confirmer que la réponse arrive.

## Remarques

* Ne mélangez pas les deux répertoires de configuration : côté OmO c'est `~/.omo/agent/`, côté senpi `~/.senpi/agent/` ; modifier le mauvais endroit n'a aucun effet.
* Le `.senpi/settings.json` au niveau du projet écrase les réglages globaux : en cas de problème, regardez d'abord le répertoire du projet.
* La documentation officielle ne fournit que le mapping de migration, sans extrait de configuration littéral complet ; la structure ci-dessus est organisée selon les conventions de la famille Pi, vérifiez les noms de champs avec la version actuelle de `omo.dev/docs`.
* Projet experimental : la structure de configuration peut changer après une mise à niveau.

## Liens utiles

* [Documentation OmO](https://omo.dev/docs)
* [Dépôt senpi](https://github.com/code-yeongyu/senpi)
* [Dépôt oh-my-openagent](https://github.com/code-yeongyu/oh-my-openagent)