diff --git a/docs-site/src/content/docs/guides/web-dashboard.md b/docs-site/src/content/docs/guides/web-dashboard.md index 4ad5fd7c79..896a38bb9d 100644 --- a/docs-site/src/content/docs/guides/web-dashboard.md +++ b/docs-site/src/content/docs/guides/web-dashboard.md @@ -131,6 +131,18 @@ and other providers. - **Refresh quotas** re-reads account usage immediately so routing and the account cards use the same values. - Pool request logs use opaque labels such as `p3fa91c`, never account emails. +- **Target a specific Codex account from the model picker** is an explicit opt-in. When enabled, + ordinary supported GPT picker rows are replaced by one entry per public account selector. + Choosing one locks that conversation to the mapped account: it does not rotate, fall back, or + change the active Pool account. The built-in Codex App login has its own selector; generated maps + normally use `main`, with a collision-safe suffix such as `main-2` when needed. Added accounts + receive stable, privacy-safe labels, and existing custom selector labels are preserved. + Existing conversations and saved model selections continue routing. Turning the setting off + hides generated picker entries without deleting accounts, selectors, or exact routes. Plain GPT + model ids continue to use the configured Pool or Direct behavior. +- Account add, remove, and picker-setting changes are saved before the model catalog is refreshed. + If that bounded refresh cannot finish, the dashboard shows an amber success-with-recovery notice; + run `ocx sync` to retry. The account or setting change itself remains saved. The Providers overview separately summarizes Pool-mode usage as a display-only weighted capacity estimate, alongside the effective account's raw quota and the next capacity recovery. See @@ -166,7 +178,7 @@ The GUI is a thin client over the proxy's JSON management API. Useful endpoints | Endpoint | Purpose | | --- | --- | -| `GET` / `PUT /api/settings` | Read settings or toggle Codex autostart. | +| `GET` / `PUT /api/settings` | Read settings or update Codex autostart, stream/memory settings, and account-targeting picker visibility. | | `GET` / `POST /api/github/star` | Read the `gh`-derived star state, or star the repository. The POST is refused with `403` `agent_consent_required` for agent-driven callers without a dashboard session. | | `GET /api/startup-health` | Read secret-free routing, service, shim, and restart-safety diagnostics. | | `POST /api/startup-action` | Install the background service or Codex launcher shim through fixed, allowlisted actions. | diff --git a/docs-site/src/content/docs/ja/guides/web-dashboard.md b/docs-site/src/content/docs/ja/guides/web-dashboard.md index 955b9cad51..c63c7a77e4 100644 --- a/docs-site/src/content/docs/ja/guides/web-dashboard.md +++ b/docs-site/src/content/docs/ja/guides/web-dashboard.md @@ -108,6 +108,15 @@ Codex タスクだけに適用され、このオプション自体が委任を 枠のうち最も高い使用率でスコア付けし、Go/Free プランは 30 日枠のみ使います。 - **クォータ更新**はアカウント使用量を即座に再読み込みし、ルーティングと画面のアカウントカードが同じ値を見るようにします。 - プールリクエストログにはメールの代わりに `p3fa91c` のような不透明なラベルを使います。 +- **モデルピッカーで使用する Codex アカウントを指定** は明示的な opt-in です。有効にすると、通常の + GPT picker 項目が公開 account selector ごとの項目に置き換わります。選択した会話はそのアカウントに + 固定され、Pool のローテーションや fallback は行われず、active Pool account も変わりません。組み込みの + Codex App login には専用 selector があり、生成 map では通常 `main`、衝突時は `main-2` のような安全な + suffix が使われます。追加アカウントには安定した privacy-safe label が割り当てられます。 + 既存の会話と保存済みのモデル選択は引き続きルーティングされます。無効にしても account、selector、 + exact route は削除されず、通常の GPT id は従来どおり Pool / Direct で動作します。 +- account の追加・削除と picker 設定は catalog refresh より先に保存されます。refresh が完了できない場合は + amber の回復案内が表示されます。変更自体は保存済みなので、`ocx sync` で refresh を再試行してください。 Providers の概要は、Pool モードの使用状況を表示専用の重み付き容量推定値として別途まとめ、現在の 有効アカウントの生のクォータと次の容量回復も併せて表示します。表示される項目、不完全な対象範囲の @@ -119,7 +128,7 @@ GUI はプロキシの JSON 管理 API を使うシンクライアントです | エンドポイント | 用途 | --- | --- | -| `GET` / `PUT /api/settings` | 設定を読むか Codex 自動起動をオン/オフします。 | +| `GET` / `PUT /api/settings` | 設定を読み、Codex 自動起動、stream/memory、account-targeting picker の表示を更新します。 | | `GET /api/startup-health` | 秘密情報を含まないルーティング、サービス、shim、再起動安全性診断を読み取ります。 | | `GET` / `POST /api/windows-tray` | Windows トレイの導入・表示状態を読み取り、`install`、`start`、`stop`、`uninstall` を実行します。 | | `POST /api/sync` | 共有モデルカタログを再構築し Codex モデルキャッシュを古い状態としてマークします。 | diff --git a/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md b/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md index 9c6e6edf7d..cab525623a 100644 --- a/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md +++ b/docs-site/src/content/docs/ja/reference/cli/providers-accounts.md @@ -180,17 +180,20 @@ preemption が未バインドリクエストを直ちに引き上げます。既 ### `ocx account login|reauth|code|cancel ...` -ヘッドレス シェルからブラウザベースまたは手動コードのアカウント認証を実行します。プロバイダー固有のコマンド形式には `ocx account --help` を使用します。 +ヘッドレス シェルからブラウザベースまたは手動コードのアカウント認証を実行します。プロバイダー固有のコマンド形式には `ocx account --help` を使用します。Codex account login は保存済みでも catalog refresh が保留中なら成功終了し、human output の stderr に固定の `ocx sync` 案内を出します。`--json` は案内を混ぜず、完了 state に `catalogRefreshPending: true` を保持します。 ### `ocx account remove --yes [--json]` この保護された非対話型削除には `--yes` が必要です。削除する前に、ID が存在することが確認されます。 ID が欠落している場合は、DELETE を送信せずに 1 が終了します。メインの Codex App ログインは削除できないため、`remove openai main --yes` は拒否されます。削除後、ファミリーは再度読み取られます。固定された Codex アカウントを削除すると、ピンがクリアされ、自動選択に戻ります。 OAuth は最初に残ったアカウントを昇格させるか、何も報告しません。 API キー プールは、最初に残っているキーを昇格するか、何も報告しません。 `--json` の成功と失敗の形状は次のとおりです。 ```text -{ ok: true, provider, id, removedActive: boolean, promotedActiveId: string | null } +{ ok: true, provider, id, removedActive: boolean, promotedActiveId: string | null, catalogRefreshPending?: boolean } { error: string } // stderr, exit 1 ``` +`catalogRefreshPending` は Codex 削除だけに含まれます。`true` でも削除は保存済みで、human output は +stderr に `ocx sync` の案内を出して終了コード 0 のままです。OAuth account と API key の削除形状は変わりません。 + ### `ocx account add-key [--label