# Senpi (OmO Native)

出典: https://docs.aicentos.com/ja/clients/senpi

Language: ja

> Senpi / OmO で aicentos に接続する —— 設定ディレクトリと openai-compatible provider の置き場所

Senpi は `pi-mono` のフォークで、npm パッケージ名は `@code-yeongyu/senpi`、実行ファイルは `senpi` です。oh-my-openagent（略称 OmO）のランタイムでもあるため、「OmO Native」は senpi harness 上で動く一式を指します。

## 準備

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

bun でインストールする方法もあります：

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

プロジェクトは experimental を自称しており、公式の表現では本番パイプラインに載せるべきではないとされています。

## 設定値

設定ディレクトリは `~/.omo/agent/` で、`OMO_CODING_AGENT_DIR` で上書きできます。旧来の `SENPI_*` 変数も引き続き互換です。

| ファイル            | 役割                               |
| --------------- | -------------------------------- |
| `models.json`   | provider 定義（エンドポイント、プロトコル、モデル一覧） |
| `auth.json`     | キー                               |
| `settings.json` | デフォルトモデルなどの設定                    |

senpi 本体には別の一式があり、`~/.senpi/agent/settings.json` と、プロジェクト単位の `.senpi/settings.json` です。

| フィールド          | 値                           |
| -------------- | --------------------------- |
| provider プロトコル | `@ai-sdk/openai-compatible` |
| Base URL       | `https://aicentos.com/v1`   |
| API Key        | コンソールで作成したキー                |
| モデル            | コンソール「モデル広場」のモデル名           |

## 設定手順

`~/.omo/agent/models.json` に provider を 1 つ追加し、プロトコルは OpenAI 互換のもの（ドキュメントの対応表では `npm: @ai-sdk/openai-compatible`）を選びます：

```json
{
  "providers": {
    "aicentos": {
      "npm": "@ai-sdk/openai-compatible",
      "options": {
        "baseURL": "https://aicentos.com/v1",
        "apiKey": "sk-あなたの-API-Key"
      },
      "models": {
        "あなたのモデル名": {}
      }
    }
  }
}
```

キーは `auth.json` に別途置くこともでき、`models.json` に書かなくてもかまいません。そのうえでデフォルトモデルを `settings.json` に書きます。

## テスト

`omo` または `senpi` を起動し、モデルセレクターに `aicentos` 配下のモデルが表示されることを確認して、1 文送って返答があるかを確かめます。

## 注意事項

* 2 つの設定ディレクトリを混同しないでください。OmO 側は `~/.omo/agent/`、senpi 側は `~/.senpi/agent/` で、間違った場所を編集しても反映されません。
* プロジェクト単位の `.senpi/settings.json` はグローバル設定を上書きします。問題を調べるときは、まずプロジェクトディレクトリを確認してください。
* 公式ドキュメントには移行の対応表しかなく、完全なリテラル設定の断片はありません。上記の構造は Pi 系の慣習に沿って整理したもので、フィールド名は `omo.dev/docs` の現行バージョンで確認してください。
* experimental なプロジェクトなので、アップグレードで設定構造が変わる可能性があります。

## 関連リンク

* [OmO ドキュメント](https://omo.dev/docs)
* [senpi リポジトリ](https://github.com/code-yeongyu/senpi)
* [oh-my-openagent リポジトリ](https://github.com/code-yeongyu/oh-my-openagent)