Skip to Content
aicentos

Senpi (OmO Native)

Connect aicentos in Senpi / OmO — where the config directory and the openai-compatible provider live

Last updated:

Senpi is a fork of pi-mono, published on npm as @code-yeongyu/senpi, with the executable named senpi. It is also the runtime for oh-my-openagent (OmO for short), so OmO Native refers to the setup running on the senpi harness.

Prerequisites

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

bun works too:

bun add -g omo-ai

The project describes itself as experimental; the official wording is not to bet it on a production pipeline.

Configuration to fill in

The configuration directory is ~/.omo/agent/, which OMO_CODING_AGENT_DIR can override; the old SENPI_* variables are still accepted.

FilePurpose
models.jsonprovider definitions (endpoint, protocol, model list)
auth.jsonkeys
settings.jsonpreferences such as the default model

senpi itself has a separate set: ~/.senpi/agent/settings.json, plus a project-level .senpi/settings.json.

FieldValue
Provider protocol@ai-sdk/openai-compatible
Base URLhttps://aicentos.com/v1
API KeyThe key created in the console
ModelA model name from the Model Gallery in the console

Setup steps

Add a provider in ~/.omo/agent/models.json and choose the OpenAI-compatible protocol family (the mapping the docs give is npm: @ai-sdk/openai-compatible):

{
  "providers": {
    "aicentos": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://aicentos.com/v1",
        "apiKey": "sk-your-API-Key"
      },
      "models": {
        "your-model-name": {}
      }
    }
  }
}

The key can also live separately in auth.json instead of models.json. Then write the default model into settings.json.

Test

Start omo or senpi, confirm the models under aicentos appear in the model picker, and send one line to confirm it returns.

Notes

  • Do not mix up the two configuration directories: the OmO side is ~/.omo/agent/ and the senpi side is ~/.senpi/agent/; changes in the wrong place have no effect.
  • A project-level .senpi/settings.json overrides the global settings, so when troubleshooting, check the project directory first.
  • The official docs only give the migration mapping, not a complete literal configuration snippet; the structure above follows Pi-family conventions, so check the field names against the current version at omo.dev/docs.
  • It is an experimental project, so the configuration structure may change after an upgrade.