dsh-coding-subscription-oauth 0.5.7 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. package/CHANGELOG.md +211 -182
  2. package/CONTRIBUTING.md +120 -109
  3. package/INSTALL.md +240 -209
  4. package/LICENSE +19 -19
  5. package/NOTICE +11 -11
  6. package/README.de.md +298 -293
  7. package/README.es.md +299 -294
  8. package/README.fr.md +299 -294
  9. package/README.ja.md +299 -294
  10. package/README.ko.md +299 -294
  11. package/README.md +313 -306
  12. package/README.pt-BR.md +299 -294
  13. package/README.ru.md +299 -294
  14. package/README.zh-CN.md +311 -304
  15. package/compatibility/dsh-bom.json +43 -0
  16. package/cordis.patch.yml +13 -13
  17. package/docs/00-project-rules.md +195 -195
  18. package/docs/02-architecture.md +134 -129
  19. package/docs/02-architecture.zh-CN.md +134 -129
  20. package/lib/auth-routes.d.ts +8 -15
  21. package/lib/auth-routes.d.ts.map +1 -1
  22. package/lib/bin.js +746 -1402
  23. package/lib/bin.js.map +4 -4
  24. package/lib/capability-routes.d.ts +3 -3
  25. package/lib/capability-routes.d.ts.map +1 -1
  26. package/lib/capability-settings.d.ts +5 -4
  27. package/lib/capability-settings.d.ts.map +1 -1
  28. package/lib/client.js +27 -8
  29. package/lib/client.js.map +4 -4
  30. package/lib/compatibility.d.ts +46 -0
  31. package/lib/compatibility.d.ts.map +1 -0
  32. package/lib/dsh-host-adapter.d.ts +18 -0
  33. package/lib/dsh-host-adapter.d.ts.map +1 -0
  34. package/lib/gateway-auth.d.ts +1 -2
  35. package/lib/gateway-auth.d.ts.map +1 -1
  36. package/lib/gateway-routes.d.ts +3 -4
  37. package/lib/gateway-routes.d.ts.map +1 -1
  38. package/lib/gateway.d.ts +4 -0
  39. package/lib/gateway.d.ts.map +1 -1
  40. package/lib/ids.d.ts +3 -32
  41. package/lib/ids.d.ts.map +1 -1
  42. package/lib/imagine-routes.d.ts +2 -0
  43. package/lib/imagine-routes.d.ts.map +1 -1
  44. package/lib/index.d.ts +19 -4
  45. package/lib/index.d.ts.map +1 -1
  46. package/lib/index.js +26573 -1023
  47. package/lib/index.js.map +4 -4
  48. package/lib/invariant.js.map +1 -1
  49. package/lib/oauth-import-routes.d.ts +3 -4
  50. package/lib/oauth-import-routes.d.ts.map +1 -1
  51. package/lib/proxy.d.ts +3 -16
  52. package/lib/proxy.d.ts.map +1 -1
  53. package/lib/web-origin.d.ts +28 -4
  54. package/lib/web-origin.d.ts.map +1 -1
  55. package/lib/web-routes.d.ts.map +1 -1
  56. package/media/en/settings_accounts.png +0 -0
  57. package/media/en/settings_capabilities.png +0 -0
  58. package/media/en/settings_gateway.png +0 -0
  59. package/media/zh-CN/settings_accounts.png +0 -0
  60. package/media/zh-CN/settings_capabilities.png +0 -0
  61. package/media/zh-CN/settings_gateway.png +0 -0
  62. package/package.json +209 -172
  63. package/patches/dsh-agy@0.1.2.patch +25 -25
  64. package/scripts/release.mjs +186 -166
  65. package/scripts/smoke-deployed-routes.mjs +146 -146
  66. package/scripts/verify-deployed-catalog.mjs +87 -87
  67. package/src/adapter.ts +287 -287
  68. package/src/alias-adapter.ts +153 -153
  69. package/src/auth-routes.ts +921 -871
  70. package/src/auth.ts +67 -67
  71. package/src/bin.ts +350 -350
  72. package/src/capability-routes.ts +279 -275
  73. package/src/capability-runtime.ts +313 -313
  74. package/src/capability-settings.ts +658 -657
  75. package/src/capability-tools.ts +666 -666
  76. package/src/catalog.ts +271 -271
  77. package/src/client/GrokBuildSettings.tsx +770 -718
  78. package/src/client/api.ts +88 -88
  79. package/src/client/components/AboutTab.tsx +30 -20
  80. package/src/client/components/AccountsTab.tsx +241 -224
  81. package/src/client/components/Badge.tsx +33 -33
  82. package/src/client/components/CapabilitiesTab.tsx +265 -227
  83. package/src/client/components/CliPullPreview.tsx +116 -107
  84. package/src/client/components/CopyButton.tsx +57 -57
  85. package/src/client/components/GatewayTab.tsx +469 -364
  86. package/src/client/components/NoticeBanner.tsx +46 -46
  87. package/src/client/components/ProgressBar.tsx +53 -52
  88. package/src/client/components/ProviderCard.tsx +606 -502
  89. package/src/client/components/SettingsTabs.tsx +75 -75
  90. package/src/client/components/ToggleSwitch.tsx +71 -62
  91. package/src/client/constants.ts +224 -206
  92. package/src/client/display.ts +61 -61
  93. package/src/client/dshClientAdapter.ts +109 -0
  94. package/src/client/gatewaySnippets.ts +37 -36
  95. package/src/client/index.tsx +156 -37
  96. package/src/client/locales.ts +535 -487
  97. package/src/client/microStyles.ts +52 -33
  98. package/src/client/parsers.ts +396 -386
  99. package/src/client/styles.ts +325 -312
  100. package/src/client/types.ts +197 -185
  101. package/src/codex-http.ts +447 -447
  102. package/src/codex-images.ts +485 -485
  103. package/src/codex-model-capabilities.ts +320 -320
  104. package/src/codex-search.ts +245 -245
  105. package/src/codex-usage.ts +263 -263
  106. package/src/compatibility.ts +55 -0
  107. package/src/dsh-host-adapter.ts +171 -0
  108. package/src/gateway-anthropic-messages.ts +84 -84
  109. package/src/gateway-auth.ts +102 -100
  110. package/src/gateway-backend.ts +274 -274
  111. package/src/gateway-body.ts +49 -49
  112. package/src/gateway-config.ts +76 -76
  113. package/src/gateway-http.ts +104 -104
  114. package/src/gateway-openai-chat.ts +124 -124
  115. package/src/gateway-openai-responses.ts +53 -53
  116. package/src/gateway-parse.ts +224 -224
  117. package/src/gateway-protocol.ts +52 -52
  118. package/src/gateway-routes.ts +158 -152
  119. package/src/gateway.ts +258 -242
  120. package/src/grok-errors.ts +24 -24
  121. package/src/grok-imagine.ts +1627 -1627
  122. package/src/grok-import.ts +151 -151
  123. package/src/http-json.ts +82 -82
  124. package/src/ids.ts +59 -45
  125. package/src/imagine-routes.ts +463 -461
  126. package/src/index.ts +748 -598
  127. package/src/invariant.ts +17 -17
  128. package/src/kimi-errors.ts +26 -26
  129. package/src/media-store.ts +927 -927
  130. package/src/oauth-import-routes.ts +324 -314
  131. package/src/oauth-providers.ts +152 -152
  132. package/src/oauth-session.ts +183 -183
  133. package/src/oauth-sources.ts +1104 -1104
  134. package/src/oauth.ts +620 -620
  135. package/src/provider.ts +128 -128
  136. package/src/proxy.ts +11 -99
  137. package/src/redact.ts +72 -72
  138. package/src/session.ts +218 -218
  139. package/src/store.ts +217 -217
  140. package/src/web-origin.ts +296 -60
  141. package/src/web-routes.ts +38 -75
package/README.ja.md CHANGED
@@ -1,300 +1,305 @@
1
-
2
- <!-- banner -->
3
- <div align="center">
4
-
5
- # 🔐 dsh-coding-subscription-oauth
6
-
7
- **v0.5.7 · 旧名 `dsh-grok-build`
8
-
9
- **DeepSeek Harness(dsh)のためのコーディングサブスクリプション OAuth プラグイン。** 支払い済みのサブスクリプションで一度きりのサインイン——その後は dsh の設定ページまたは CLI からそのモデルを使えます。**チャットにトークンを貼り付ける必要はありません。**
10
-
11
- [![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
12
- [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
13
-
14
- *[English](README.md) · [中文版](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Português (BR)](README.pt-BR.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Русский](README.ru.md)*
15
-
1
+
2
+ <!-- banner -->
3
+ <div align="center">
4
+
5
+ # 🔐 dsh-coding-subscription-oauth
6
+
7
+ **v0.6.0 · 旧名 `dsh-grok-build`
8
+
9
+ **DeepSeek Harness(dsh)のためのコーディングサブスクリプション OAuth プラグイン。** 支払い済みのサブスクリプションで一度きりのサインイン——その後は dsh の設定ページまたは CLI からそのモデルを使えます。**チャットにトークンを貼り付ける必要はありません。**
10
+
11
+ [![License](https://img.shields.io/badge/license-Apache--2.0-green.svg)](LICENSE)
12
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
13
+
14
+ *[English](README.md) · [中文版](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Português (BR)](README.pt-BR.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Русский](README.ru.md)*
15
+
16
16
  </div>
17
17
 
18
18
  ---
19
19
 
20
- ## 名称変更
21
-
22
- 当初は Grok Build 専用で **`dsh-grok-build`** でした。現在は SuperGrok / Codex / Kimi / Claude / Antigravity のコーディングサブスク OAuth です。
23
- | | これを使う | 互換 |
24
- |---|---|---|
25
- | GitHub / `dsh plugin add` | [`dsh-coding-subscription-oauth`](https://github.com/lninghaha/dsh-coding-subscription-oauth) | `github:lninghaha/dsh-grok-build`(同じ `main`) |
26
- | npm | `dsh-coding-subscription-oauth@0.5.7`(現在のリリース) | 旧 npm パッケージは公開されていない |
27
- | CLI | `dsh-coding-oauth` | `dsh-grok-build` |
28
- | Cordis プラグイン id | `llm-grok-build-oauth` | 変更なし |
29
- | 設定ページ HTTP API | `/plugins/dsh-grok-build/*` | 変更なし |
30
- | 認証ファイル | `$DSH_HOME/.grok-build-auth.json` および他の `*-oauth-auth.json` | 変更なし |
31
-
32
- ## ✨ 特徴
33
-
34
- - 🧾 **マイサブスクリプションをそのまま使用** — 別途 API key を用意せず、支払い済みのコーディングプランを使えます。
35
- - 🔑 **ローカル OAuth、キーの貼り付け不要** — 設定ページまたは CLI で認証します。トークンがチャットに入ることはありません。
36
- - 🧩 **1 つのプラグインで 5 つのプロバイダー** — Grok Build、Codex、Kimi、Claude、Google Antigravity。
37
- - 🛡️ **セキュリティ設計** — 認証情報ファイルはオーナー専用 `0600`、アトミック書き込み、クロスプロセスファイルロック。
38
- - ⚙️ **動的カタログ** — セレクターには認証を完了したルートのみが `(OAuth)` ラベル付きで表示され、grok-4.6 の `xhigh` も含まれます。
39
- - 🌐 **プロキシ対応** — レビュー済みの信頼できるサブスクリプションドメインのみをプロキシします。
40
- - 📥 **手動 CLI Pull** — 設定ページが許可リストにある公式 Grok/Codex/Kimi/Claude CLI の OAuth ファイルを読み取り専用で検出。プレビューと上書き確認の後、ワンウェイコピーを取り込みます。
41
- - 🗂️ **タブ分けされた設定** — Accounts・Gateway・Capabilities・About。リモートホストではデバイスコード優先と CLI missing の静かな案内;サインイン済みカードは展開するまで折りたたまれます。
42
- - 🎛️ **オプション機能(既定オフ)** — Codex の検索・使用量/クォータ・画像生成/編集・Fast、Grok Imagine はスイッチをオンにすると即時適用されます。
43
- - 🔌 **オプトインのローカル API ゲートウェイ** — 既定オフのループバック OpenAI/Anthropic 互換サーバー。自分のツール専用で、公開リレーではありません。
20
+ > **Upgrade / 升级:** Follow the versioned steps in [`INSTALL.md`](INSTALL.md). Install into the existing `web` profile, keep profile/config/credential files, and restart one existing DSH Web process after all packages are updated. When Hub and Subscription are both used, `dsh-coding-oauth-core@0.1.0` is their shared npm dependency, not a separate DSH plugin.
44
21
 
45
- ## このプラグインが解く接続の問題
46
-
47
- DSH にコーディングサブスクを載せるとき、よく次の検索語やエラーでここに来ます。
48
-
49
- | 検索 / 画面 | 実際の原因 | このプラグイン |
50
- |---|---|---|
51
- | SuperGrok / X Premium を DSH へ、Grok Build vs `api.x.ai` | 組み込み `xai` は従量 API。購読推論は `cli-chat-proxy.grok.com` | `grok-build` + CLI 指紋ヘッダ(`X-XAI-Token-Auth` など)、黙殺 403 を避ける |
52
- | `API key is invalid` / `AUTH` | GUI は全ての AUTH をその文言にする。多くは短い OAuth access token の期限切れ | 期限の **5 分前**に refresh。401 なら保存トークンを無効化し step を再試行 |
53
- | 2 ターン目の Codex/Kimi で `INVALID_REPLAY_STATE` | replay が pi-ai のネイティブ provider id のまま | Harness route id を維持し、古い汚染 replay を修復 |
54
- | grok-4.6 に **xhigh** が出ない | `/v1/models-v2` の `reasoning_efforts` を捨て、4.5 テンプレを複製 | live efforts を `thinkingLevelMap` に反映。4.6 は xhigh、4.5 は low/medium/high |
55
- | Kimi Code Anthropic `x-api-key` になる | OAuth token を Anthropic キーとして送信 | `Authorization: Bearer` のみ |
56
- | 未ログインのモデルがセレクターに残る | 全ルートを列挙 | 未認証は空リスト。認証済みは `(OAuth)` |
57
- | リモート / ヘッドレスで PKCE できない | localhost に戻れない | Grok/Codex/Kimi はデバイスコード。Claude は redirect URL を貼り付け可 |
58
- | プロキシで Grok は通るが中国の Kimi が落ちる | グローバル `HTTPS_PROXY` | 許可ドメインのみ。Kimi は既定で直結(`proxyKimi: true` でプロキシ) |
59
-
60
- ## 対応プロバイダー
61
-
62
- | プロバイダー | ルート | 認証 | 既存の API-key ルートとの共存 |
63
- |---|---|---|---|
64
- | **xAI Grok Build** | `grok-build` | SuperGrok / X Premium OAuth | `xai` |
65
- | **OpenAI Codex** | `codex-oauth` | ChatGPT Plus/Pro OAuth | `openai` |
66
- | **Kimi Code** | `kimi-code-oauth` | Kimi Code OAuth | `kimi-coding` |
67
- | **Claude Code** | `claude-code-oauth` | Claude Pro/Max OAuth | |
68
- | **Google Antigravity** | `agy` | `dsh-agy` Google OAuth | — |
69
-
70
- > Grok Build のデバイスログイン、動的 `/v1/models-v2` カタログ、Responses ストリーミング推論は実運用環境で検証済みです。Codex/Kimi/Claude は `@earendil-works/pi-ai` のネイティブ OAuth/リフレッシュを再利用し、ベンダーフローを再実装しません。
71
-
72
- ## 🚀 クイックスタート
73
-
74
- ```bash
75
- # 1. web プロファイルにプラグインをインストール(現在の npm リリース)
76
- dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.7
77
-
78
- # 2. 任意 Google Antigravity(レビュー済みの固定バージョン)
79
- dsh plugin --profile web add dsh-agy@0.1.2
80
-
81
- # 3. 常駐している dsh web サービスを再起動
22
+ ---
23
+
24
+ ## 名称変更
25
+
26
+ 当初は Grok Build 専用で **`dsh-grok-build`** でした。現在は SuperGrok / Codex / Kimi / Claude / Antigravity のコーディングサブスク OAuth です。
27
+ | | これを使う | 互換 |
28
+ |---|---|---|
29
+ | GitHub / `dsh plugin add` | [`dsh-coding-subscription-oauth`](https://github.com/lninghaha/dsh-coding-subscription-oauth) | `github:lninghaha/dsh-grok-build`(同じ `main`) |
30
+ | npm | `dsh-coding-subscription-oauth@0.6.0`(現在のリリース) | npm パッケージは公開されていない |
31
+ | CLI | `dsh-coding-oauth` | `dsh-grok-build` |
32
+ | Cordis プラグイン id | `llm-grok-build-oauth` | 変更なし |
33
+ | 設定ページ HTTP API | `/plugins/dsh-grok-build/*` | 変更なし |
34
+ | 認証ファイル | `$DSH_HOME/.grok-build-auth.json` および他の `*-oauth-auth.json` | 変更なし |
35
+
36
+ ## ✨ 特徴
37
+
38
+ - 🧾 **マイサブスクリプションをそのまま使用** — 別途 API key を用意せず、支払い済みのコーディングプランを使えます。
39
+ - 🔑 **ローカル OAuth、キーの貼り付け不要** 設定ページまたは CLI で認証します。トークンがチャットに入ることはありません。
40
+ - 🧩 **1 つのプラグインで 5 つのプロバイダー** — Grok Build、Codex、Kimi、Claude、Google Antigravity。
41
+ - 🛡️ **セキュリティ設計** 認証情報ファイルはオーナー専用 `0600`、アトミック書き込み、クロスプロセスファイルロック。
42
+ - ⚙️ **動的カタログ** セレクターには認証を完了したルートのみが `(OAuth)` ラベル付きで表示され、grok-4.6 `xhigh` も含まれます。
43
+ - 🌐 **プロキシ対応** レビュー済みの信頼できるサブスクリプションドメインのみをプロキシします。
44
+ - 📥 **手動 CLI Pull** 設定ページが許可リストにある公式 Grok/Codex/Kimi/Claude CLI OAuth ファイルを読み取り専用で検出。プレビューと上書き確認の後、ワンウェイコピーを取り込みます。
45
+ - 🗂️ **タブ分けされた設定** Accounts・Gateway・Capabilities・About。リモートホストではデバイスコード優先と CLI missing の静かな案内;サインイン済みカードは展開するまで折りたたまれます。
46
+ - 🎛️ **オプション機能(既定オフ)** — Codex の検索・使用量/クォータ・画像生成/編集・Fast、Grok Imagine はスイッチをオンにすると即時適用されます。
47
+ - 🔌 **オプトインのローカル API ゲートウェイ** 既定オフのループバック OpenAI/Anthropic 互換サーバー。自分のツール専用で、公開リレーではありません。
48
+
49
+ ## このプラグインが解く接続の問題
50
+
51
+ DSH にコーディングサブスクを載せるとき、よく次の検索語やエラーでここに来ます。
52
+
53
+ | 検索 / 画面 | 実際の原因 | このプラグイン |
54
+ |---|---|---|
55
+ | SuperGrok / X Premium を DSH へ、Grok Build vs `api.x.ai` | 組み込み `xai` は従量 API。購読推論は `cli-chat-proxy.grok.com` | `grok-build` + CLI 指紋ヘッダ(`X-XAI-Token-Auth` など)、黙殺 403 を避ける |
56
+ | `API key is invalid` / `AUTH` | GUI は全ての AUTH をその文言にする。多くは短い OAuth access token の期限切れ | 期限の **5 分前**に refresh。401 なら保存トークンを無効化し step を再試行 |
57
+ | 2 ターン目の Codex/Kimi で `INVALID_REPLAY_STATE` | replay が pi-ai のネイティブ provider id のまま | Harness route id を維持し、古い汚染 replay を修復 |
58
+ | grok-4.6 **xhigh** が出ない | `/v1/models-v2` の `reasoning_efforts` を捨て、4.5 テンプレを複製 | live efforts を `thinkingLevelMap` に反映。4.6 は xhigh、4.5 は low/medium/high |
59
+ | Kimi Code が Anthropic `x-api-key` になる | OAuth token を Anthropic キーとして送信 | `Authorization: Bearer` のみ |
60
+ | 未ログインのモデルがセレクターに残る | 全ルートを列挙 | 未認証は空リスト。認証済みは `(OAuth)` |
61
+ | リモート / ヘッドレスで PKCE できない | localhost に戻れない | Grok/Codex/Kimi はデバイスコード。Claude は redirect URL を貼り付け可 |
62
+ | プロキシで Grok は通るが中国の Kimi が落ちる | グローバル `HTTPS_PROXY` | 許可ドメインのみ。Kimi は既定で直結(`proxyKimi: true` でプロキシ) |
63
+
64
+ ## 対応プロバイダー
65
+
66
+ | プロバイダー | ルート | 認証 | 既存の API-key ルートとの共存 |
67
+ |---|---|---|---|
68
+ | **xAI Grok Build** | `grok-build` | SuperGrok / X Premium OAuth | `xai` |
69
+ | **OpenAI Codex** | `codex-oauth` | ChatGPT Plus/Pro OAuth | `openai` |
70
+ | **Kimi Code** | `kimi-code-oauth` | Kimi Code OAuth | `kimi-coding` |
71
+ | **Claude Code** | `claude-code-oauth` | Claude Pro/Max OAuth | — |
72
+ | **Google Antigravity** | `agy` | `dsh-agy` Google OAuth | — |
73
+
74
+ > Grok Build のデバイスログイン、動的 `/v1/models-v2` カタログ、Responses ストリーミング推論は実運用環境で検証済みです。Codex/Kimi/Claude は `@earendil-works/pi-ai` のネイティブ OAuth/リフレッシュを再利用し、ベンダーフローを再実装しません。
75
+
76
+ ## 🚀 クイックスタート
77
+
78
+ ```bash
79
+ # 1. web プロファイルにプラグインをインストール(現在の npm リリース)
80
+ dsh plugin --profile web add dsh-coding-subscription-oauth@0.6.0
81
+
82
+ # 2. 任意 — Google Antigravity(レビュー済みの固定バージョン)
83
+ dsh plugin --profile web add dsh-agy@0.1.2
84
+
85
+ # 3. 常駐している dsh web サービスを再起動
86
+ # Local service-manager example only; `dsh web` is the official CLI alias for the web profile.
82
87
  systemctl --user restart dsh-web.service
83
- ```
84
-
85
- 次に **Settings → Coding OAuth** を開いて任意のプロバイダーにサインインします。これで完了です——セレクターから認証済みモデルを選べます。
86
-
87
- ## 📚 目次
88
-
89
- - [名称変更](#名称変更)
90
- - [特徴](#-特徴)
91
- - [このプラグインが解く接続の問題](#このプラグインが解く接続の問題)
92
- - [対応プロバイダー](#対応プロバイダー)
93
- - [クイックスタート](#-クイックスタート)
94
- - [インストール](#インストール)
95
- - [設定ページ](#設定ページ)
96
- - [オプション機能](#オプション機能)
97
- - [ローカル API ゲートウェイ](#ローカル-api-ゲートウェイ)
98
- - [CLI](#cli)
99
- - [中国での Kimi](#中国での-kimi)
100
- - [ネットワークプロキシ](#ネットワークプロキシ)
101
- - [耐障害性](#耐障害性)
102
- - [認証情報](#認証情報)
103
- - [アーキテクチャ](#アーキテクチャ)
104
- - [技術的な補足](#技術的な補足)
105
- - [コンプライアンス](#コンプライアンス)
106
- - [ドキュメント](#ドキュメント)
107
- - [関連プロジェクト](#関連プロジェクト)
108
- - [コントリビュート](#コントリビュート)
109
- - [ライセンス](#ライセンス)
110
-
111
- ## インストール
112
-
113
- DeepSeek Harness `0.1.0-rc.6+` と Node.js 22.19+ が前提です。詳細は[インストールノート](INSTALL.md)をご覧ください。
114
-
115
- ```bash
116
- # 現在の npm リリース(推奨)
117
- dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.7
118
-
119
- # 開発/代替:GitHub から
120
- dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
121
-
122
- # 開発/代替:ローカルの開発ディレクトリから
123
- dsh plugin --profile web add ./dsh-coding-subscription-oauth
124
- ```
125
-
126
- インストール後に `dsh web` を再起動します。実運用デプロイに対する検証:
127
-
128
- ```bash
129
- pnpm run verify:deployed # 実 /api/llm.models + OAuth 状態の確認
130
- DSH_EXPECT_AGY_AUTH=signed-in pnpm run verify:deployed # Google にサインイン済みの場合
131
-
132
- DSH_RESTORE_PROVIDER=openai \
133
- DSH_RESTORE_MODEL=gpt-5.6-sol \
134
- DSH_RESTORE_REASONING=max \
135
- pnpm run smoke:deployed # 実際の Codex/Kimi ツール呼び出し + 2 回目の turn 再生
136
- ```
137
-
138
- > `smoke:deployed` は一時セッションを作成し、Codex と Kimi のツール呼び出しに加えて 2 回目のユーザー turn(`INVALID_REPLAY_STATE` 回帰)を検証し、宣言したデフォルトモデルを復元してからセッションをアーカイブします。
139
-
140
- ## 設定ページ
141
-
142
- **Settings → Coding OAuth** を開きます:
143
-
144
-
145
-
146
- <table>
147
- <tr>
148
- <td align="center" valign="top" width="33%">
149
- <a href="media/settings_accounts.png"><img src="media/settings_accounts.png" alt="Coding OAuth Accounts tab" width="280" /></a><br />
150
- <sub>Accounts</sub>
151
- </td>
152
- <td align="center" valign="top" width="33%">
153
- <a href="media/settings_gateway.png"><img src="media/settings_gateway.png" alt="Coding OAuth Gateway tab" width="280" /></a><br />
154
- <sub>Gateway</sub>
155
- </td>
156
- <td align="center" valign="top" width="33%">
157
- <a href="media/settings_capabilities.png"><img src="media/settings_capabilities.png" alt="Coding OAuth Capabilities tab" width="280" /></a><br />
158
- <sub>Capabilities</sub>
159
- </td>
160
- </tr>
161
- </table>
162
-
163
- | プロバイダー | 方法 |
164
- |---|---|
165
- | Grok | 認証コード · デバイスコード · Grok CLI import · モデル選択 |
166
- | Codex | デバイスコード(リモート DSH 推奨)· ブラウザ PKCE |
167
- | Kimi | デバイスコード |
168
- | Claude | ブラウザ PKCE(リモートブラウザは完全な localhost redirect URL を貼り付け可能) |
169
- | Antigravity | `dsh-agy` インストール状態 + profile-local CLI コマンド |
170
-
171
- 設定ページは **Accounts**、**Gateway**、**Capabilities**、**About** の 4 つのトップタブに分かれています。サインイン済みプロバイダーのカードはコンパクトな概要に折りたたまれ、モデル編集時に展開されます。CLI pull のプレビューは全幅表示で、Imagine のステータスは Capabilities タブに表示されます。
172
-
173
- セレクターは認証を完了したルートのみを一覧表示します。未認証プロバイダーは空リストを返します。プロバイダー名は `(OAuth)` を伴い、サインイン/アウト後に `llm/adapters-updated` でカタログが更新されます。
174
-
175
- ## オプション機能
176
-
177
- 7 つのスイッチ `codexSearch`、`codexImages`、`codexImageEdits`、`codexUsage`、`codexFast`、`grokImagineImage`、`grokImagineVideo` はすべて既定でオフで、変更は再起動なしで反映されます。数値設定は `searchResults`(1–20、既定 5)、`imageCount`(1–4、既定 1)、`videoArtifactTtlMs`(1 時間–7 日、既定 7 日、UI は 1–168 時間)です。保持期間を短くすると既存の成果物も直ちに短縮・削除され、長くした場合は以後の成果物にのみ適用されます。
178
-
179
- ## ローカル API ゲートウェイ
180
-
181
- 既定は**オフ**です。有効にすると、DSH の web ポートとは別の独立した `node:http` サーバーが `127.0.0.1:18080` で起動し、同じサインイン済み OAuth セッションを再利用します:
182
-
183
- ```yaml
184
- gateway:
185
- enabled: false
186
- bind: 127.0.0.1
187
- port: 18080
188
- ```
189
-
190
- エンドポイント: `GET /healthz`、`GET /v1/models`、`POST /v1/chat/completions`、`POST /v1/responses`、`POST /v1/messages`。Bearer キーは `$DSH_HOME/.coding-oauth-gateway.json`(`0600`)に保存されます。設定ページから OpenAI ベース URL(ベース + `/v1`)、Anthropic ベース URL、現在の Bearer キーをローテーションせずにコピーできます。キーの表示はループバックからのみ可能で、ブラウザストレージには保存されません。ローテーションは確認付きの破壊的操作です。リッスンポートは直接編集して Apply で保存するか、Random(18100–18999)で自動入力できます。選択したポートはオーナー専用のゲートウェイドキュメントに永続化され、稼働中のリスナーは再バインドされます。bind は YAML のみで変更でき、非ループバックの bind にはキーが必須です。これはリモートリレーではありません。
191
-
192
- ## CLI
193
-
194
- ```bash
195
- # `dsh-grok-build` は同じ CLI の別名
196
- dsh-coding-oauth login [--pkce] | import | status | logout
197
-
198
- # 新しいプロバイダー
199
- dsh-coding-oauth login codex --device-auth | codex --browser | kimi | claude
200
- dsh-coding-oauth status all
201
- dsh-coding-oauth logout codex
202
-
203
- # Antigravity(事前に web プロファイルへインストール)
204
- dsh plugin --profile web exec dsh-agy login --headless
205
- ```
206
-
207
- > `dsh-agy` CLI は DSH プロセスの外でアカウントプールを変更するため、プロセス内カタログイベントを発行できません——サインイン/アウト後はモデルセレクターを閉じて開き直してください。
208
-
209
- ## 中国での Kimi
210
-
211
- Kimi Code サブスクリプション OAuth は `https://auth.kimi.com` を、推論は `https://api.kimi.com/coding` を使用します。`https://api.moonshot.cn/v1` は従量課金の **Moonshot Open Platform** API-key チャネルであり、切り替え可能な「中国 OAuth エンドポイント」はありません。本プラグインは独立した `kimi-code-oauth` ルートを使用し、既存の `kimi-coding` API-key 設定には影響しません。
212
-
213
- ## ネットワークプロキシ
214
-
215
- 優先順位: `config.proxy` → `CODING_OAUTH_PROXY` → `GROK_BUILD_PROXY` → `HTTPS_PROXY`/`HTTP_PROXY`。
216
-
217
- ```yaml
218
- - id: llm-grok-build-oauth
219
- config:
220
- proxy: http://127.0.0.1:7890
221
- proxyKimi: false
222
- ```
223
-
224
- レビュー済みのサブスクリプションドメインのみがプロキシされます(xAI/Grok、OpenAI Codex、Claude/Anthropic、Google Antigravity)。それ以外の DSH トラフィックは元のディスパッチャを維持します。Kimi は既定でダイレクト接続で、`proxyKimi: true` の場合のみプロキシを使用します。
225
-
226
- ## 耐障害性
227
-
228
- OAuth アクセストークンは記録された有効期限の **5 分前**に先行リフレッシュされます(pi-ai 0.84+)。上流がまだローカルでは有効なトークンを 401/403 で拒否した場合、プラグインは保存済み `expires` を過去に戻し、再試行ステップが先にリフレッシュしてから再送します。
229
-
230
- リクエスト再試行は harness の retry ポリシーです。一時障害(`RATE_LIMIT`/`SERVER`/`TIMEOUT`/`TRANSPORT`/`EMPTY_RESPONSE`)**および `AUTH`** は指数バックオフで再試行します(既定 5 回、5 s → 10 s → 20 s → 40 s → 80 s(約 155 s 累積)、10% jitter)。クォータ枯渇と無効な refresh token は再試行しません。上書き例:
231
-
232
- ```yaml
233
- - id: llm-grok-build-oauth
234
- config:
235
- retryPolicy:
236
- mode: normal
237
- maxRetries: 5
238
- retryableCodes: [EMPTY_RESPONSE, RATE_LIMIT, SERVER, TIMEOUT, TRANSPORT, AUTH]
239
- backoff: { initialDelayMs: 5000, maxDelayMs: 80000, jitterRatio: 0.1 }
240
- ```
241
-
242
- ## 認証情報
243
-
244
- オーナー専用 `0600`、アトミック書き込み、クロスプロセスファイルロック:
245
-
246
- - `$DSH_HOME/.grok-build-auth.json`
247
- - `$DSH_HOME/.codex-oauth-auth.json`
248
- - `$DSH_HOME/.kimi-code-oauth-auth.json`
249
- - `$DSH_HOME/.claude-code-oauth-auth.json`
250
-
251
- 選択キャッシュは対応する `*-models.json` ファイルに保存されます。**HTTP ステータス、ログ、UI がトークンを返すことは決してありません。**
252
-
253
- ## アーキテクチャ
254
-
255
- ```mermaid
256
- flowchart LR
257
- subgraph DSH["DSH Harness"]
258
- UI[設定 / Web · Coding OAuth] --> LLM[llm route]
259
- LLM --> ALIA[ルートエイリアスアダプタ]
260
- end
261
- ALIA --> PI[pi-ai ネイティブプロバイダー<br/>OAuth · リフレッシュ · ストリーム]
262
- PI --> GROK[Grok Build]
263
- PI --> COD[Codex]
264
- PI --> KIMI[Kimi]
265
- PI --> CLAU[Claude]
266
- AGY[dsh-agy プラグイン] --> GAL[Google Antigravity]
267
- ```
268
-
269
- ## 技術的な補足
270
-
271
- - **Grok Build**: `cli-chat-proxy.grok.com/v1` 上のカスタム Responses プロバイダー、CLI フィンガープリントヘッダー、動的モデルカタログ。
272
- - **Codex/Kimi/Claude**: pi-ai ネイティブプロバイダーが OAuth とリフレッシュを処理。ルートエイリアスアダプタがネイティブ id にマッピングし、モデル ID は変わりません。
273
- - Kimi access token は明示的に `Authorization: Bearer` に変換——Anthropic の `x-api-key` として誤送信されることはありません。
274
- - Google Antigravity はここではリバースエンジニアリング**しません**。バージョン固定の専用 DSH プラグインを使用します。
275
-
276
- ## コンプライアンス
277
-
278
- サードパーティの harness を通じてコーディングサブスクリプションを使用すると、各ベンダーの利用規約のグレーゾーンに入り、クォータ、リージョン、アカウントリスク制御を引き起こす可能性があります。**ご自身のアカウントのみをご使用ください**。本プロジェクトはバルクアカウント、クォータ転売、リモートリレー、ペイウォール回避、クライアントのなりすましを一切サポートしません。商用利用ではベンダーの公式 API-key チャネルを推奨します。
279
-
280
- ## ドキュメント
281
-
282
- | ドキュメント | 目的 |
283
- |---|---|
284
- | [`INSTALL.md`](INSTALL.md) | インストール・利用の詳細 |
285
- | [`CHANGELOG.md`](CHANGELOG.md) | リリース履歴 |
286
- | [`docs/00-project-rules.md`](docs/00-project-rules.md) | バージョニング、リリースループ、公開/ローカルの分割 |
287
- | [`docs/02-architecture.md`](docs/02-architecture.md) | 内部アーキテクチャ(ルート・データフロー・モジュール・API)· [中文](docs/02-architecture.zh-CN.md) |
288
- | [`CONTRIBUTING.md`](CONTRIBUTING.md) | コントリビューションガイド |
289
-
290
- ## 関連プロジェクト
291
-
292
- - [`dsh-agy`](https://www.npmjs.com/package/dsh-agy) — Google Antigravity 用の独立した固定バージョンのプラグイン。
293
-
294
- ## コントリビュート
295
-
296
- 機能、ドキュメント、翻訳、バグ報告など、あらゆるコントリビュートを歓迎します。手順、コミット規約、リリースループについては **[CONTRIBUTING](CONTRIBUTING.md)** をご覧ください。記載のない言語を追加したい場合は、README の翻訳を PR で送ってください。上の言語テーブルに追加します。
297
-
298
- ## ライセンス
299
-
300
- [Apache-2.0](LICENSE) · [NOTICE](NOTICE) を参照。一部は [dsh-xai](https://github.com/MirDie/dsh-xai) プロジェクト(Apache-2.0)から派生しています。
88
+ ```
89
+
90
+ 次に **Settings → Coding OAuth** を開いて任意のプロバイダーにサインインします。これで完了です——セレクターから認証済みモデルを選べます。
91
+
92
+ ## 📚 目次
93
+
94
+ - [名称変更](#名称変更)
95
+ - [特徴](#-特徴)
96
+ - [このプラグインが解く接続の問題](#このプラグインが解く接続の問題)
97
+ - [対応プロバイダー](#対応プロバイダー)
98
+ - [クイックスタート](#-クイックスタート)
99
+ - [インストール](#インストール)
100
+ - [設定ページ](#設定ページ)
101
+ - [オプション機能](#オプション機能)
102
+ - [ローカル API ゲートウェイ](#ローカル-api-ゲートウェイ)
103
+ - [CLI](#cli)
104
+ - [中国での Kimi](#中国での-kimi)
105
+ - [ネットワークプロキシ](#ネットワークプロキシ)
106
+ - [耐障害性](#耐障害性)
107
+ - [認証情報](#認証情報)
108
+ - [アーキテクチャ](#アーキテクチャ)
109
+ - [技術的な補足](#技術的な補足)
110
+ - [コンプライアンス](#コンプライアンス)
111
+ - [ドキュメント](#ドキュメント)
112
+ - [関連プロジェクト](#関連プロジェクト)
113
+ - [コントリビュート](#コントリビュート)
114
+ - [ライセンス](#ライセンス)
115
+
116
+ ## インストール
117
+
118
+ DeepSeek Harness `0.1.0-rc.6+` と Node.js 22.19+ が前提です。詳細は[インストールノート](INSTALL.md)をご覧ください。
119
+
120
+ ```bash
121
+ # 現在の npm リリース(推奨)
122
+ dsh plugin --profile web add dsh-coding-subscription-oauth@0.6.0
123
+
124
+ # 開発/代替:GitHub から
125
+ dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
126
+
127
+ # 開発/代替:ローカルの開発ディレクトリから
128
+ dsh plugin --profile web add ./dsh-coding-subscription-oauth
129
+ ```
130
+
131
+ インストール後に既存の DSH Web プロセスを再起動します。実運用デプロイに対する検証:
132
+
133
+ ```bash
134
+ pnpm run verify:deployed # 実 /api/llm.models + OAuth 状態の確認
135
+ DSH_EXPECT_AGY_AUTH=signed-in pnpm run verify:deployed # Google にサインイン済みの場合
136
+
137
+ DSH_RESTORE_PROVIDER=openai \
138
+ DSH_RESTORE_MODEL=gpt-5.6-sol \
139
+ DSH_RESTORE_REASONING=max \
140
+ pnpm run smoke:deployed # 実際の Codex/Kimi ツール呼び出し + 2 回目の turn 再生
141
+ ```
142
+
143
+ > `smoke:deployed` は一時セッションを作成し、Codex と Kimi のツール呼び出しに加えて 2 回目のユーザー turn(`INVALID_REPLAY_STATE` 回帰)を検証し、宣言したデフォルトモデルを復元してからセッションをアーカイブします。
144
+
145
+ ## 設定ページ
146
+
147
+ **Settings → Coding OAuth** を開きます:
148
+
149
+
150
+
151
+ <table>
152
+ <tr>
153
+ <td align="center" valign="top" width="33%">
154
+ <a href="media/en/settings_accounts.png"><img src="media/en/settings_accounts.png" alt="Coding OAuth Accounts tab" width="280" /></a><br />
155
+ <sub>Accounts</sub>
156
+ </td>
157
+ <td align="center" valign="top" width="33%">
158
+ <a href="media/en/settings_gateway.png"><img src="media/en/settings_gateway.png" alt="Coding OAuth Gateway tab" width="280" /></a><br />
159
+ <sub>Gateway</sub>
160
+ </td>
161
+ <td align="center" valign="top" width="33%">
162
+ <a href="media/en/settings_capabilities.png"><img src="media/en/settings_capabilities.png" alt="Coding OAuth Capabilities tab" width="280" /></a><br />
163
+ <sub>Capabilities</sub>
164
+ </td>
165
+ </tr>
166
+ </table>
167
+
168
+ | プロバイダー | 方法 |
169
+ |---|---|
170
+ | Grok | 認証コード · デバイスコード · Grok CLI import · モデル選択 |
171
+ | Codex | デバイスコード(リモート DSH 推奨)· ブラウザ PKCE |
172
+ | Kimi | デバイスコード |
173
+ | Claude | ブラウザ PKCE(リモートブラウザは完全な localhost redirect URL を貼り付け可能) |
174
+ | Antigravity | `dsh-agy` インストール状態 + profile-local CLI コマンド |
175
+
176
+ 設定ページは **Accounts**、**Gateway**、**Capabilities**、**About** の 4 つのトップタブに分かれています。サインイン済みプロバイダーのカードはコンパクトな概要に折りたたまれ、モデル編集時に展開されます。CLI pull のプレビューは全幅表示で、Imagine のステータスは Capabilities タブに表示されます。
177
+
178
+ セレクターは認証を完了したルートのみを一覧表示します。未認証プロバイダーは空リストを返します。プロバイダー名は `(OAuth)` を伴い、サインイン/アウト後に `llm/adapters-updated` でカタログが更新されます。
179
+
180
+ ## オプション機能
181
+
182
+ 7 つのスイッチ `codexSearch`、`codexImages`、`codexImageEdits`、`codexUsage`、`codexFast`、`grokImagineImage`、`grokImagineVideo` はすべて既定でオフで、変更は再起動なしで反映されます。数値設定は `searchResults`(1–20、既定 5)、`imageCount`(1–4、既定 1)、`videoArtifactTtlMs`(1 時間–7 日、既定 7 日、UI は 1–168 時間)です。保持期間を短くすると既存の成果物も直ちに短縮・削除され、長くした場合は以後の成果物にのみ適用されます。
183
+
184
+ ## ローカル API ゲートウェイ
185
+
186
+ 既定は**オフ**です。有効にすると、DSH の web ポートとは別の独立した `node:http` サーバーが `127.0.0.1:18080` で起動し、同じサインイン済み OAuth セッションを再利用します:
187
+
188
+ ```yaml
189
+ gateway:
190
+ enabled: false
191
+ bind: 127.0.0.1
192
+ port: 18080
193
+ ```
194
+
195
+ エンドポイント: `GET /healthz`、`GET /v1/models`、`POST /v1/chat/completions`、`POST /v1/responses`、`POST /v1/messages`。Bearer キーは `$DSH_HOME/.coding-oauth-gateway.json`(`0600`)に保存されます。設定ページから OpenAI ベース URL(ベース + `/v1`)、Anthropic ベース URL、現在の Bearer キーをローテーションせずにコピーできます。キーの表示はループバックからのみ可能で、ブラウザストレージには保存されません。ローテーションは確認付きの破壊的操作です。リッスンポートは直接編集して Apply で保存するか、Random(18100–18999)で自動入力できます。選択したポートはオーナー専用のゲートウェイドキュメントに永続化され、稼働中のリスナーは再バインドされます。bind は YAML のみで変更でき、非ループバックの bind にはキーが必須です。これはリモートリレーではありません。
196
+
197
+ ## CLI
198
+
199
+ ```bash
200
+ # `dsh-grok-build` は同じ CLI の別名
201
+ dsh-coding-oauth login [--pkce] | import | status | logout
202
+
203
+ # 新しいプロバイダー
204
+ dsh-coding-oauth login codex --device-auth | codex --browser | kimi | claude
205
+ dsh-coding-oauth status all
206
+ dsh-coding-oauth logout codex
207
+
208
+ # Antigravity(事前に web プロファイルへインストール)
209
+ dsh plugin --profile web exec dsh-agy login --headless
210
+ ```
211
+
212
+ > `dsh-agy` CLI は DSH プロセスの外でアカウントプールを変更するため、プロセス内カタログイベントを発行できません——サインイン/アウト後はモデルセレクターを閉じて開き直してください。
213
+
214
+ ## 中国での Kimi
215
+
216
+ Kimi Code サブスクリプション OAuth は `https://auth.kimi.com` を、推論は `https://api.kimi.com/coding` を使用します。`https://api.moonshot.cn/v1` は従量課金の **Moonshot Open Platform** API-key チャネルであり、切り替え可能な「中国 OAuth エンドポイント」はありません。本プラグインは独立した `kimi-code-oauth` ルートを使用し、既存の `kimi-coding` API-key 設定には影響しません。
217
+
218
+ ## ネットワークプロキシ
219
+
220
+ 優先順位: `config.proxy` → `CODING_OAUTH_PROXY` → `GROK_BUILD_PROXY` → `HTTPS_PROXY`/`HTTP_PROXY`。
221
+
222
+ ```yaml
223
+ - id: llm-grok-build-oauth
224
+ config:
225
+ proxy: http://127.0.0.1:7890
226
+ proxyKimi: false
227
+ ```
228
+
229
+ レビュー済みのサブスクリプションドメインのみがプロキシされます(xAI/Grok、OpenAI Codex、Claude/Anthropic、Google Antigravity)。それ以外の DSH トラフィックは元のディスパッチャを維持します。Kimi は既定でダイレクト接続で、`proxyKimi: true` の場合のみプロキシを使用します。
230
+
231
+ ## 耐障害性
232
+
233
+ OAuth アクセストークンは記録された有効期限の **5 分前**に先行リフレッシュされます(pi-ai 0.84+)。上流がまだローカルでは有効なトークンを 401/403 で拒否した場合、プラグインは保存済み `expires` を過去に戻し、再試行ステップが先にリフレッシュしてから再送します。
234
+
235
+ リクエスト再試行は harness の retry ポリシーです。一時障害(`RATE_LIMIT`/`SERVER`/`TIMEOUT`/`TRANSPORT`/`EMPTY_RESPONSE`)**および `AUTH`** は指数バックオフで再試行します(既定 5 回、5 s → 10 s → 20 s → 40 s → 80 s(約 155 s 累積)、10% jitter)。クォータ枯渇と無効な refresh token は再試行しません。上書き例:
236
+
237
+ ```yaml
238
+ - id: llm-grok-build-oauth
239
+ config:
240
+ retryPolicy:
241
+ mode: normal
242
+ maxRetries: 5
243
+ retryableCodes: [EMPTY_RESPONSE, RATE_LIMIT, SERVER, TIMEOUT, TRANSPORT, AUTH]
244
+ backoff: { initialDelayMs: 5000, maxDelayMs: 80000, jitterRatio: 0.1 }
245
+ ```
246
+
247
+ ## 認証情報
248
+
249
+ オーナー専用 `0600`、アトミック書き込み、クロスプロセスファイルロック:
250
+
251
+ - `$DSH_HOME/.grok-build-auth.json`
252
+ - `$DSH_HOME/.codex-oauth-auth.json`
253
+ - `$DSH_HOME/.kimi-code-oauth-auth.json`
254
+ - `$DSH_HOME/.claude-code-oauth-auth.json`
255
+
256
+ 選択キャッシュは対応する `*-models.json` ファイルに保存されます。**HTTP ステータス、ログ、UI がトークンを返すことは決してありません。**
257
+
258
+ ## アーキテクチャ
259
+
260
+ ```mermaid
261
+ flowchart LR
262
+ subgraph DSH["DSH Harness"]
263
+ UI[設定 / Web · Coding OAuth] --> LLM[llm route]
264
+ LLM --> ALIA[ルートエイリアスアダプタ]
265
+ end
266
+ ALIA --> PI[pi-ai ネイティブプロバイダー<br/>OAuth · リフレッシュ · ストリーム]
267
+ PI --> GROK[Grok Build]
268
+ PI --> COD[Codex]
269
+ PI --> KIMI[Kimi]
270
+ PI --> CLAU[Claude]
271
+ AGY[dsh-agy プラグイン] --> GAL[Google Antigravity]
272
+ ```
273
+
274
+ ## 技術的な補足
275
+
276
+ - **Grok Build**: `cli-chat-proxy.grok.com/v1` 上のカスタム Responses プロバイダー、CLI フィンガープリントヘッダー、動的モデルカタログ。
277
+ - **Codex/Kimi/Claude**: pi-ai ネイティブプロバイダーが OAuth とリフレッシュを処理。ルートエイリアスアダプタがネイティブ id にマッピングし、モデル ID は変わりません。
278
+ - Kimi access token は明示的に `Authorization: Bearer` に変換——Anthropic の `x-api-key` として誤送信されることはありません。
279
+ - Google Antigravity はここではリバースエンジニアリング**しません**。バージョン固定の専用 DSH プラグインを使用します。
280
+
281
+ ## コンプライアンス
282
+
283
+ サードパーティの harness を通じてコーディングサブスクリプションを使用すると、各ベンダーの利用規約のグレーゾーンに入り、クォータ、リージョン、アカウントリスク制御を引き起こす可能性があります。**ご自身のアカウントのみをご使用ください**。本プロジェクトはバルクアカウント、クォータ転売、リモートリレー、ペイウォール回避、クライアントのなりすましを一切サポートしません。商用利用ではベンダーの公式 API-key チャネルを推奨します。
284
+
285
+ ## ドキュメント
286
+
287
+ | ドキュメント | 目的 |
288
+ |---|---|
289
+ | [`INSTALL.md`](INSTALL.md) | インストール・利用の詳細 |
290
+ | [`CHANGELOG.md`](CHANGELOG.md) | リリース履歴 |
291
+ | [`docs/00-project-rules.md`](docs/00-project-rules.md) | バージョニング、リリースループ、公開/ローカルの分割 |
292
+ | [`docs/02-architecture.md`](docs/02-architecture.md) | 内部アーキテクチャ(ルート・データフロー・モジュール・API)· [中文](docs/02-architecture.zh-CN.md) |
293
+ | [`CONTRIBUTING.md`](CONTRIBUTING.md) | コントリビューションガイド |
294
+
295
+ ## 関連プロジェクト
296
+
297
+ - [`dsh-agy`](https://www.npmjs.com/package/dsh-agy) — Google Antigravity 用の独立した固定バージョンのプラグイン。
298
+
299
+ ## コントリビュート
300
+
301
+ 機能、ドキュメント、翻訳、バグ報告など、あらゆるコントリビュートを歓迎します。手順、コミット規約、リリースループについては **[CONTRIBUTING](CONTRIBUTING.md)** をご覧ください。記載のない言語を追加したい場合は、README の翻訳を PR で送ってください。上の言語テーブルに追加します。
302
+
303
+ ## ライセンス
304
+
305
+ [Apache-2.0](LICENSE) · [NOTICE](NOTICE) を参照。一部は [dsh-xai](https://github.com/MirDie/dsh-xai) プロジェクト(Apache-2.0)から派生しています。