OpenCodeから国産推論APIへつなぐ。api.aicu.aiで「Kimi-K2.7-Code」を使ってみた
- AICU Japan

- 7月30日
- 読了時間: 7分

Claude CodeやCodexなどコーディングエージェントの選択肢として注目されているのが「OpenCode」です。OpenCodeは、ターミナル上で動作するオープンソースのコーディングエージェントです。TUIと呼ばれる文字ベースのインターフェースから、ファイルの編集、コード生成、リファクタリング、コマンド実行などをAIに依頼できます。
特徴的なのは、特定のAIサービスだけに固定されていないことです。OpenCodeはAI SDKを利用し、標準で多数のプロバイダーに対応しているほか、OpenAI互換APIを提供する独自のプロバイダーも追加できます。
今回は、この仕組みを使ってOpenCodeから「api.aicu.ai」へ接続し、さくらのAI Engine上で提供されているコーディング向けモデル「Kimi-K2.7-Code」を動かしてみます。
2026年7月28日、さくらインターネットはKimi-K2.7-Codeのパブリックプレビュー提供を開始しました。コード生成だけでなく、ドキュメント理解や画像キャプション、マルチモーダルQAなどにも利用できるモデルとして案内されています。
AICU APIでは、このモデルをOpenAI互換のChat Completions APIとして利用できます。今回、OpenCode v1.18.9からapi.aicu.aiを経由して接続し、実際にコード生成とファイル編集が正常に動作することを確認しました。
api.aicu.aiを経由する理由
Kimi-K2.7-Codeは、さくらのAI Engine上で推論されます。AICU APIでは、このモデルをkimi-k2.7-codeというモデルIDで提供しています。
モデルそのものを日本製と呼ぶのではなく、「国内の推論基盤から利用できる」という点が重要です。AICU APIでは、国内推論であり、入力内容をモデル学習には利用しないモデルとして案内しています。
さらに、AICU APIはOpenAI互換の/v1/chat/completionsエンドポイントを提供しています。そのため、OpenCodeだけでなく、ClineやContinueなど、OpenAI互換プロバイダーを登録できるツールからも同じような考え方で接続できます。
つまり、普段使っているコーディングツールを大きく変えず、ベースURL、APIキー、モデルIDを差し替えるだけで、利用する推論基盤を切り替えられます。
最短の設定
OpenCodeのプロジェクト直下にopencode.jsonを作成します。すべてのプロジェクトで共通して利用する場合は、~/.config/opencode/opencode.jsonに保存しても構いません。
OpenCodeはJSONだけでなく、コメントを含むJSONC形式にも対応しています。プロジェクト直下の設定はグローバル設定より優先されます。
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"aicu": {
"npm": "@ai-sdk/openai-compatible",
"name": "AICU API",
"options": {
"baseURL": "https://api.aicu.ai/v1",
"apiKey": "{env:AICU_API_KEY}"
},
"models": {
"kimi-k2.7-code": {
"name": "Kimi-K2.7-Code (SAKURA)"
},
"gpt-4o-mini": {
"name": "GPT-4o mini"
},
"gpt-5.4-mini": {
"name": "GPT-5.4 mini"
}
}
}
}
}
APIキーは設定ファイルへ直接書かず、環境変数から読み込ませるのが安全です。
export AICU_API_KEY=aicu_live_xxx opencode
OpenCodeが起動したら、/modelsを実行します。
/models
モデル一覧に次のような名前が表示されれば、接続設定は完了です。
aicu/kimi-k2.7-code
aicu/gpt-4o-mini
aicu/gpt-5.4-mini
aicu/kimi-k2.7-codeを選択し、そのまま通常のOpenCodeと同じように指示を出せます。
このプロジェクトの構成を確認し、READMEに開発環境の起動手順を追加してください。
このTypeScriptファイルの型エラーを修正し、変更理由を説明してください。
重複している処理を関数に切り出し、既存の挙動を変えずにリファクタリングしてください。
モデルを切り替えても、OpenCode側のファイル編集やコマンド実行の流れは変わりません。道具箱はそのままに、中で考える頭脳だけを交換する感覚です。
APIキーを発行する
AICU APIのダッシュボードへログインし、API Keys画面から新しいキーを発行します。
発行されるキーは、次のようにaicu_live_から始まります。
aicu_live_xxxxxxxxxxxxxxxxx
APIキーは発行時に安全な場所へ保存してください。GitHubなどの公開リポジトリへコミットしてはいけません。
AICU APIのLLMエンドポイントではBearer認証が利用されます。OpenCodeのapiKeyへ値を設定すると、内部のOpenAI互換クライアントが自動的にAuthorizationヘッダーを追加します。
AICU APIの公式ドキュメントでも、ベースURLはhttps://api.aicu.ai/v1、認証方式はAPIキーを用いたBearer認証として案内されています。
/connectからキーを登録する
APIキーは設定ファイルの環境変数だけでなく、OpenCodeのTUIから登録することもできます。
OpenCodeを起動し、/connectを入力します。
/connect
プロバイダー一覧の下部にあるOtherを選び、プロバイダーIDとしてaicuを入力します。その後、発行したAPIキーを貼り付けます。
Provider ID: aicu
API Key: aicu_live_xxx
ここで注意したいのは、/connectが保存するのは認証情報だけだということです。
カスタムプロバイダーの場合、APIキーを登録しただけではベースURLやモデル一覧までは設定されません。/connectで使用したプロバイダーIDと、opencode.json内のプロバイダーIDを一致させる必要があります。
OpenCode公式ドキュメントでも、カスタムプロバイダーは/connectで認証情報を保存したうえで、opencode.jsonに@ai- sdk/openai-compatible、ベースURL、モデルを設定する流れになっています。
環境変数を使う方法と/connectを使う方法のどちらでも構いません。個人の開発環境では/connect、CIや複数環境で切り替える場合は環境変数、といった使い分けもできます。
利用できるモデルを確認する
AICU APIで現在利用できるモデルIDは、モデル一覧APIから確認できます。
curl https://api.aicu.ai/v1/chat/models
返ってきたJSONのdata内にあるidが、OpenCodeの設定へ記述するモデルIDです。
たとえば、Kimi-K2.7-Codeの場合は次の値を使用します。
kimi-k2.7-code
OpenCode側のmodelsに書いた名前と、APIが返すモデルIDが異なっていると、モデルを選択できても実行時にエラーになる可能性があります。
モデルは追加や更新が行われるため、記事に書かれた一覧を永久保存版の石板にせず、実際のAPIレスポンスを確認するのが確実です。AICU APIのドキュメントでも、最新の一覧はGET /v1/chat/modelsから取得するよう案内されています。
ClineやContinueから使う
ClineやContinueなどのツールに「OpenAI Compatible」「Custom OpenAI Provider」といった設定項目がある場合も、基本となる接続情報は同じです。
プロバイダーIDにはaicu、表示名にはAICU API、ベースURLには次のURLを入力します。
https://api.aicu.ai/v1
APIキーには、ダッシュボードで発行したaicu_live_から始まる文字列を入力します。
モデルIDには次の値を指定します。
kimi-k2.7-code
Authorizationヘッダーを別途手入力する必要はありません。通常はOpenAI互換クライアントが、APIキーからBearerヘッダーを生成します。
ツールの画面に「APIキーは空でもよい」という説明がある場合がありますが、これは認証不要のローカルサーバーや、独自ヘッダーを手動設定するサービスも想定した一般的な説明です。api.aicu.aiへ接続する場合は、APIキーを設定してください。
料金とプレビュー期間
AICU APIでは、Kimi-K2.7-Codeをα/preview期間のモデルとして提供しています。
2026年10月31日までは、令和8年熊本地震の復旧・支援に関わる開発者へのAIインフラ支援期間と連動し、プラットフォーム上でエンドユーザーへの実課金を行わない運用になっています。利用ログとAP消費量は記録されるため、将来の料金感を確認しながら試すことができます。
GA後の予定単価は、入力が1,000トークンあたり11 AP、出力が1,000トークンあたり101 APです。料金や無料期間は今後変更される可能性があるため、利用前にAICU APIのモデル一覧とドキュメントを確認してください。
なお、さくらのAI Engineが直接提供するKimi-K2.7-Codeのパブリックプレビューでは、月間3,000リクエストまでの無償プランと、入力・出力トークンに応じた課金プランが案内されています。AICU APIのAP料金とは料金体系が異なるため、混同しないよう注意が必要です。
401 Unauthorizedが返る場合
401 Unauthorizedが表示された場合は、まずAPIキーを確認します。
環境変数を使っている場合は、現在のシェルへ値が設定されているか確認します。
echo $AICU_API_KEY
何も表示されない場合は、もう一度設定します。
export AICU_API_KEY=aicu_live_xxx
/connectを使った場合は、OpenCodeに認証情報が保存されているか確認できます。
opencode auth list
プロバイダーIDがaicuではなく、AICUやaicu-apiとして登録されている場合は、opencode.json側のIDも同じ値へ揃える必要があります。
モデルが表示されない場合
/modelsにKimi-K2.7-Codeが表示されない場合は、opencode.jsonの読み込み場所を確認します。
プロジェクト単位で設定する場合は、OpenCodeを起動しているプロジェクトのルートへopencode.jsonを置きます。全体設定として利用する場合は、次の場所へ保存します。
~/.config/opencode/opencode.json
続いて、provider内のnpmが次の値になっているか確認します。
@ai-sdk/openai-compatible
ベースURLの末尾には/v1が必要です。
https://api.aicu.ai/v1
OpenCode公式のトラブルシューティングでも、カスタムプロバイダーについては、プロバイダーID、npmパッケージ、ベースURLを確認するよう案内されています。
AIコーディングの「接続先」を選べる時代へ
コーディングエージェントというと、エディターやターミナルの画面ばかりに目が向きます。しかし、実際の性能、料金、データの扱い、応答速度を左右するのは、その奥に接続されているモデルと推論基盤です。
OpenCodeのようにカスタムプロバイダーを追加できるツールでは、開発者が接続先を選べます。
難しい設計には高性能な推論モデルを使い、単純な修正には軽量なモデルを使う。国内で処理したい案件には国内推論基盤を選び、既存のOpenAI系モデルも同じ画面から切り替える。
コーディングエージェントは、一つの巨大なAIを契約して使うものから、仕事に応じて複数のモデルを乗り換える操縦席へ変わりつつあります。
api.aicu.aiとOpenCodeの組み合わせは、その入口としてかなり手軽です。
まずはAPIキーを発行し、一つのプロジェクトへopencode.jsonを置いてみてください。数行の設定の向こう側に、いつものターミナルから国内推論のコーディングモデルを呼び出せる新しい開発環境が開きます。
AICU APIのドキュメント、APIキーの発行、最新モデル一覧は、api.aicu.aiから確認できます。技術的な相談や法人利用については、AICUのお問い合わせ窓口で受け付けています。
Originally published at note.com/aicu on Jul 30, 2026.




コメント