Hane Platform
Model Gateway
Agent と Hane Cowork がモデルを使うときに通る Model Gateway の役割、組織ごとの設定、上限、呼出しの記録を説明します。
このページでは、Hane の中からモデルを呼ぶときの入口である Model Gateway を説明します。誰が、どのモデルを、どれだけ使えるかを、組織の側でどう決めて確かめるかが分かります。
何のためにあるか
Section titled “何のためにあるか”Model Gateway は、サンドボックスの中の Agent や社員の PC の Hane Cowork が、モデルの事業者を直接呼ばないようにするための関所です。
- 実キーを外に出しません。 事業者の API キーは Hane の中だけに置き、サンドボックスにも PC にも渡しません。呼ぶ側が持つのは、実行や会話に結び付いた短命の資格情報だけです。
- 呼出しごとに確かめます。 資格情報・許したモデル・予算・実行の状態を、1 回の呼出しのたびに確かめます。
- すべての呼出しを記録します。 組織から見えないモデルの呼出しを残しません。
サンドボックスの opencode ──┐ ├─(短命の資格情報)─> Model Gateway ─(実キー)─> 上流のモデルPC の Hane Cowork ──────────┘ │ └─> 呼出しの記録・予算| 呼ぶもの | 入口 | 資格情報 |
|---|---|---|
driver: opencode の Agent |
OpenAI 互換の chat completions | AgentRun に結び付いた、モデル用の RunToken。Tool Gateway 用のトークンとは別で、取り違えると拒否します |
| Hane Cowork の手元の会話 | Cowork 専用の OpenAI 互換の chat completions | 本人・組織・プロジェクト・環境に結び付いた 5 分の資格情報。期限の前に更新します |
1 回の呼出しで確かめること
Section titled “1 回の呼出しで確かめること”- ブラウザからの要求(
Origin付き)は受け付けません。 - 資格情報の署名・期限・対象を確かめます。Agent のモデル用のトークンを Cowork の入口で使うような取り違えも拒否します。
- モデルが、その環境で許したモデルの一覧にあるかを確かめます。ないモデルは拒否し、別のモデルへ切り替えません。
- 出力のトークンの上限と、要求の大きさの上限をかけます。
- 実行や会話が続いているか、予算が残っているかを確かめます。実行が終わった・取り消された・予算を使い切ったときは拒否します。
- 上流へ渡し、応答をそのまま流しながら使用量を読みます。流している間も数秒ごとに状態を確かめ、止められたら呼出しを切ります。
組織ごとの設定
Section titled “組織ごとの設定”Agent の予算
Section titled “Agent の予算”Agent のモデルの使用量は、プロジェクトと環境の Budget の modelTokensPerDay と、Agent の定義の limits.maxModelTokens で抑えます。実行を始めるときに maxModelTokens の分を 1 日の予算から予約するので、並べて起動しても合計が上限を超えません。設定の例は Agent と AgentRun にあります。
Hane Cowork の設定
Section titled “Hane Cowork の設定”Hane Cowork でモデルを使えるかどうかは、プロジェクトと環境ごとの設定で決めます。設定するには cowork:manage が要ります。設定していなければ、使えません。
PUT /v1/cowork/policyIf-Match: "3"Content-Type: application/json
{ "enabled": true, "models": ["@cf/zai-org/glm-4.7-flash"], "daily_token_limit": 2000000, "session_token_limit": 200000, "max_output_tokens": 4096}| 項目 | 意味 |
|---|---|
enabled |
このプロジェクトと環境で Cowork のモデル利用を許すか |
models |
使ってよいモデル。その環境で上流が持つモデルとの重なりだけが、実際に使えるモデル(available_models)になります |
daily_token_limit |
1 日に使えるトークンの数 |
session_token_limit |
1 つの会話で使えるトークンの数 |
max_output_tokens |
1 回の呼出しの出力のトークンの上限 |
local_tools |
PC の上の機能(ファイル・コマンド・ブラウザ・PC の操作・外部への送信)ごとの許可・確認・禁止 |
利用者は cowork:run で、自分の会話のモデル利用を始め、更新し、取り消します(/v1/cowork/model-sessions)。取り消すと新しい呼出しをすぐに拒否し、流れている呼出しも切ります。手元の機能の決まりは Hane Cowork の管理 で詳しく説明します。
呼出しの記録
Section titled “呼出しの記録”Model Gateway は、上流へ渡す前に呼出しの記録を作り、終わったら使用量で確定します。記録が終わらなかった呼出しは、結果不明として、予約した数で保守的に数えます。
| 記録する | 記録しない |
|---|---|
| 組織・プロジェクト・環境、Agent と実行(Cowork では会話) | プロンプトの本文 |
| モデル、入力と出力のトークン、使用量を見積もったか | 応答の本文 |
遅延と結果(ok・error・cancelled・stopped・unknown) |
資格情報 |
| 上流が返した費用の単位(返す事業者だけ) |
Agent の分は GET /v1/agents/model-usage で、日・Agent・モデルごとの集計として読めます。コンソールの「使用量と予算」の画面にも出ます。Cowork の分は、本人が GET /v1/cowork/model-sessions/{session_id}/invocations で読めます。