Skip to main content
omp(oh-my-pi)は機能が充実したオープンソースのターミナルコーディングエージェントであり、Pi をベースに LSP統合機能や DAP駆動のデバッグ機能、サブエージェントのオーケストレーション、さらに 40以上のプロバイダー間での役割別モデルルーティング機能を追加したものだ。Pi と同様に設定ファイルからプロバイダー情報を読み込むため、Tokios をカスタムプロバイダーとして追加し、baseUrl を https://api.tokios.com/v1 に指定すれば、コネクターを介して背後にある任意のモデルにアクセス可能となる。しかもその際モデルのポートを外部に公開する必要は一切ない。

前提条件

  • A running Tokios connector paired with your local model — see Connector install
  • A registered deployment — see Register a model
  • A Tokios API key (sk-tok-…) — see API keys
  • omp のインストール済み状態:

自身のデプロイ名を確認する

omp sends the deployment name — the public name you registered in the console — not the upstream model id your local backend uses. The 2 are often different strings, and confusing them is the most common cause of a 404. 自身の APIキーでアクセス可能なデプロイ一覧を確認する:
レスポンス内の各 id は、models.yml で利用可能な値となります。
ご使用のモデルがすでに Playground 形式で応答する場合でもこの手順を実行してください。プレイグラウンドはログイン済みのブラウザセッションで認証されるため、そこでのテスト成功が必ずしも sk-tok-… APIキーが有効であるか、該当デプロイ向けに適切な権限を持つことを保証するものではありません。GET /v1/models はそのAPIキー自体を実際に使用する最初の呼び出しとなります。

ompが設定情報を保存する場所

omp reads 2 files from a dot-prefixed .omp directory in your home folder:
ディレクトリやファイルが存在しない場合は作成してください。
ディレクトリ名は .omp で、先頭にドットが付きます。omp/agent/models.yml で作成されたファイルは omp では読み込まれず、通常通り起動しますが、その結果プロバイダーが /model に表示されなくなります。

カスタムプロバイダーの設定方法

これを models.yml に貼り付け、2 のプレースホルダー部分を適切な値に置き換えてください。これは断片ではなく完全なファイル内容です。
models.yml
一つのプロバイダーブロックで、アカウント内のすべてのデプロイを管理できます。以下の各項目について models にエントリを追加してください。
models.yml
Replace gemma-tunnel with a deployment name from GET /v1/models — not the upstream model id your backend (Ollama, llama.cpp, vLLM, or LM Studio) serves, and not the Routes[].Model value in your connector config, which is the upstream id. Replace sk-tok-YOUR_KEY with your own key, and avoid committing models.yml with a real key into version control.
baseUrl の値には末尾スラッシュを含めずに /v1 を記載する必要があります。ompの openai-completions プロバイダーはこのURLを基準にリクエストパスを構築するため、https://api.tokios.com のように末尾にスラッシュがあると TokiosのAPIエンドポイントが見つからず、https://api.tokios.com/v1/ の場合は区切り文字が重複してしまいます。
ompの設定スキーマはリリースごとに変更される可能性があるため、ご使用のバージョンに合った正確なキー名を確認してください(omp.sh/docs を参照)。まずは上記の最小限のブロックから始め、ompが /model にモデルを表示するようになったら、以下の任意項目を追加してください。

ロールをご自身のモデルに割り当てる(任意)

ompでは名前付きのロールとモデルが対応付けられ、各ロールにはフォールバックチェーンも設定可能です。 settings.yml 内で provider/model の構文を用いて、ご自身の Tokiosプロバイダーをロールに紐付けてください。
settings.yml
あるいは、ompのTUI内で /model コマンドを使い、実行時点でプロバイダーとモデルを選択することも可能です。
ロール名は provider/model 形式で記述されるため、短く小文字でハイフンを含むデプロイ名を選ぶと記述が曖昧になりません。これは モデルを登録する で推奨されている命名規則でもあります。もしデプロイ名自体に / が含まれている場合は、ロールに固定せず /model で選択する方が望ましいでしょう。

コンテキストウィンドウの値を指定する(任意)

ompはモデルのコンテキストウィンドウサイズに基づいてプロンプトの長さを決定します。Ollama、llama.cpp、LM Studio、vLLMはいずれもモデルが ロード された時点でのコンテキスト長を提供するため、理論上の最大値ではありません。そのため、実際の値をompに伝える必要があります。
この値を過大に設定すると、ローカルサーバーが受け付けられない長大なプロンプトが生成され、エラーは Tokios経由で報告されますが実際の発生源はご自身のマシンです。短いプロンプトではこの不整合が目立たないため、通常はompがファイル全体を送信し始めて初めて問題が顕在化します。

Anthropicのエンドポイントを利用したい?(任意)

omp can also speak the Anthropic messages protocol. To route through Tokios’s Anthropic surface instead, set api to anthropic-messages and drop the /v1 from baseUrl — Anthropic-style clients use the root base.

ツール対応型のモデルを選ぶ

ompのエージェントはツール呼び出し機能を活用してファイルの読み取りやコマンド実行、コード編集を行う。すべてのローカルモデルがツール呼び出しを確実に処理できるわけではない。本格的なコード編集にompを活用する前に、ツール呼び出し機能が充実したモデルをベースにしたデプロイを選ぶべきだ。タスク別モデル選定ガイドを参照して、エージェント型コーディング作業に適したモデルを選んでほしい。

トラブルシューティング

ompがファイルを読み込めない。ファイルが~/.omp/agent/models.ymlに存在するか確認してほしい。該当ディレクトリは.ompで先頭にドットが付いており、Windows環境ではC:\Users\<you>\.omp\agent\models.ymlとして解釈される。またファイルが有効なYAML形式かも確認すること。providersはプロバイダー名をキーとするマッピング構造であり、modelsはリスト形式であるはずだ。
ompから送信されたAPIキーが存在しない、形式が不正、あるいは無効化されている可能性がある。apiKeyに余分な空白を含まず完全なsk-tok-…キーが記載されているか確認し、Keysタブでその状態を調べてほしい。正常に動作しているPlaygroundセッションがあってもこの問題は発生し得る。PlaygroundではユーザーのAPIキーが使用されないからだ。
The model id under models doesn’t match a registered deployment. Run GET /v1/models and copy an id from the response exactly. A common near-miss is using the upstream model id from your connector’s Routes[].Model instead of the deployment name.
キー自体は存在するが設定したデプロイに適用範囲が設定されていない、あるいはアカウントが一時停止状態にある可能性がある。Keysタブで該当キーのモデルパターンを確認してほしい。
該当デプロイ用のコネクターがオフライン状態であるか、同時接続数の上限に達しています。Connectors タブを確認してください。コネクターの状態が Online と表示されており、実行中のマシンが正常に稼働し通信可能である必要があります。
ompから送信されるコンテキスト量がバックエンド側で処理可能な量を超えています。モデル設定画面で contextWindow の値をサーバーが実際に扱えるコンテキスト長に設定し、Ollamaやllama.cpp、LM Studio、vLLM側の設定値も確認してください。

次に行うべき手順

Pi

ompはPiのフォーク版であり、アップストリームエージェントも同様にTokiosに接続します

タスクに応じて適切なモデルを選択する

ompで利用する前に、ローカル環境のモデルがエージェント駆動型コーディング作業に適しているか確認しましょう