dsh-coding-subscription-oauth 0.5.0 → 0.5.1
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.
- package/CHANGELOG.md +6 -0
- package/INSTALL.md +2 -2
- package/README.de.md +18 -1
- package/README.es.md +18 -1
- package/README.fr.md +18 -1
- package/README.ja.md +18 -1
- package/README.ko.md +18 -1
- package/README.md +16 -11
- package/README.pt-BR.md +18 -1
- package/README.ru.md +18 -1
- package/README.zh-CN.md +26 -8
- package/docs/02-architecture.md +1 -1
- package/docs/02-architecture.zh-CN.md +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,12 @@ All notable changes to `dsh-coding-subscription-oauth` are documented here, foll
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## v0.5.1 - 2026-08-18
|
|
8
|
+
|
|
9
|
+
### Documentation
|
|
10
|
+
|
|
11
|
+
- Sync the English and translated READMEs with the v0.5.0 Settings tabs, collapsed account cards, local gateway copy/reveal/rotation controls, persisted listen-port controls, and npm installation path.
|
|
12
|
+
|
|
7
13
|
## v0.5.0 - 2026-08-17
|
|
8
14
|
|
|
9
15
|
### Added
|
package/INSTALL.md
CHANGED
|
@@ -8,10 +8,10 @@ dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
|
|
|
8
8
|
|
|
9
9
|
CLI 新命令是 `dsh-coding-oauth`(旧命令 `dsh-grok-build` 仍可用)。为兼容已有 profile,Cordis id 仍是 `llm-grok-build-oauth`,设置页 HTTP 路径仍是 `/plugins/dsh-grok-build/*`,凭据文件名不变。
|
|
10
10
|
|
|
11
|
-
第一次公开发布是 **`0.4.1`**。当前推荐 **`0.5.
|
|
11
|
+
第一次公开发布是 **`0.4.1`**。当前推荐 **`0.5.1`**:
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.
|
|
14
|
+
dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1
|
|
15
15
|
dsh plugin --profile web update dsh-coding-subscription-oauth
|
|
16
16
|
```
|
|
17
17
|
|
package/README.de.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1 · früher `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**OAuth-Plugin für Coding-Abonnements für [DeepSeek Harness](https://github.com/deepseek-ai/dsh).** Melden Sie sich einmal mit den Abonnements an, die Sie bereits bezahlen, und nutzen Sie die Modelle aus den Einstellungen oder der CLI von dsh. **Keine Tokens in den Chat einfügen.**
|
|
10
10
|
|
|
@@ -38,6 +38,7 @@ Zuerst **`dsh-grok-build`** (nur Grok Build). Jetzt SuperGrok / Codex / Kimi / C
|
|
|
38
38
|
- 🛡️ **Sicherheit by Design** — Zugangsdateien nur-eigentümer `0600`, atomares Schreiben, dateiübergreifende Prozesssperre.
|
|
39
39
|
- ⚙️ **Dynamischer Katalog** — der Modellwähler listet genau die Anbieter, die Sie authentifiziert haben.
|
|
40
40
|
- 🌐 **Proxy-bewusst** — nur geprüfte, vertrauenswürdige Abonnement-Domänen werden über den Proxy geleitet.
|
|
41
|
+
- 🔌 **Opt-in lokales API-Gateway** — standardmäßig ausgeschalteter Loopback-Server, OpenAI-/Anthropic-kompatibel; für Ihre eigenen Werkzeuge, niemals ein öffentliches Relay.
|
|
41
42
|
|
|
42
43
|
## Integrationsprobleme, die dieses Plugin löst
|
|
43
44
|
|
|
@@ -87,6 +88,7 @@ Danach **Settings → Coding OAuth** öffnen und bei einem beliebigen Anbieter a
|
|
|
87
88
|
- [Integrationsprobleme, die dieses Plugin löst](#integrationsprobleme-die-dieses-plugin-löst)
|
|
88
89
|
- [Installation](#installation)
|
|
89
90
|
- [Einstellungsseite](#einstellungsseite)
|
|
91
|
+
- [Lokales API-Gateway](#lokales-api-gateway)
|
|
90
92
|
- [CLI](#cli)
|
|
91
93
|
- [Kimi in China](#kimi-in-china)
|
|
92
94
|
- [Netzwerk-Proxy](#netzwerk-proxy)
|
|
@@ -137,12 +139,27 @@ pnpm run smoke:deployed # echte Codex/Kimi-Tool-Calls + Replay des z
|
|
|
137
139
|
| Claude | Browser-PKCE (ein Remote-Browser kann die vollständige localhost-Redirect-URL einfügen) |
|
|
138
140
|
| Antigravity | `dsh-agy`-Installationsstatus + profil-lokale CLI-Befehle |
|
|
139
141
|
|
|
142
|
+
Die Einstellungsseite ist in vier obere Tabs aufgeteilt: **Accounts**, **Gateway**, **Capabilities** und **About**. Karten angemeldeter Anbieter klappen zu einer kompakten Zusammenfassung zusammen und werden für die Modellbearbeitung aufgeklappt. Die CLI-Pull-Vorschau ist volle Breite, und der Imagine-Status erscheint im Tab Capabilities.
|
|
143
|
+
|
|
140
144
|
Der Wähler listet nur Routen, die die Authentifizierung abgeschlossen haben; nicht authentifizierte Anbieter liefern eine leere Liste. Anbieternamen tragen `(OAuth)`, und der Katalog wird nach An-/Abmeldung über `llm/adapters-updated` aktualisiert.
|
|
141
145
|
|
|
142
146
|
## Optionale Funktionen
|
|
143
147
|
|
|
144
148
|
Die sieben Schalter `codexSearch`, `codexImages`, `codexImageEdits`, `codexUsage`, `codexFast`, `grokImagineImage` und `grokImagineVideo` sind standardmäßig aus und werden ohne Neustart live angewendet. Die Grenzwerte sind `searchResults` (1–20, Standard 5), `imageCount` (1–4, Standard 1) und `videoArtifactTtlMs` (1 Stunde–7 Tage, Standard 7 Tage; die Oberfläche zeigt 1–168 Stunden). Eine kürzere Aufbewahrung verkürzt und bereinigt vorhandene Artefakte sofort; eine Erhöhung gilt nur für neue Artefakte.
|
|
145
149
|
|
|
150
|
+
## Lokales API-Gateway
|
|
151
|
+
|
|
152
|
+
Standardmäßig **aus**. Wenn aktiviert, startet es einen isolierten `node:http`-Server (nicht der DSH-Web-Port) auf `127.0.0.1:18080` und nutzt dieselben angemeldeten OAuth-Sitzungen:
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
gateway:
|
|
156
|
+
enabled: false
|
|
157
|
+
bind: 127.0.0.1
|
|
158
|
+
port: 18080
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Endpoints: `GET /healthz`, `GET /v1/models`, `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. Ein Bearer-Schlüssel wird in `$DSH_HOME/.coding-oauth-gateway.json` (`0600`) gespeichert. In den Einstellungen lassen sich die OpenAI-Basis-URL (Basis + `/v1`), die Anthropic-Basis-URL und der aktuelle Bearer-Schlüssel kopieren, ohne ihn zu rotieren; die Schlüsselanzeige ist nur über Loopback möglich und wird nicht im Browser-Speicher persistiert. Die Rotation ist eine bestätigte destruktive Aktion. Der Listen-Port kann direkt bearbeitet und mit Apply gespeichert oder per Random (18100–18999) gefüllt werden; der gewählte Port wird im Nur-Eigentümer-Gateway-Dokument persistiert, und ein laufender Listener bindet sich neu. Das Bind bleibt YAML-only; ein Nicht-Loopback-Bind erfordert einen Schlüssel. Dies ist kein Remote-Relay.
|
|
162
|
+
|
|
146
163
|
## CLI
|
|
147
164
|
|
|
148
165
|
```bash
|
package/README.es.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1 · antes `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**Plugin OAuth de suscripciones de codificación para [DeepSeek Harness](https://github.com/deepseek-ai/dsh).** Inicia sesión una vez con las suscripciones que ya pagas y luego usa sus modelos desde la página de configuración o la CLI de dsh. **Sin pegar tokens en el chat.**
|
|
10
10
|
|
|
@@ -38,6 +38,7 @@ Empezó como **`dsh-grok-build`** (solo Grok Build). Ahora cubre SuperGrok / Cod
|
|
|
38
38
|
- 🛡️ **Seguro por diseño** — archivos de credenciales solo-propietario `0600`, escritura atómica, bloqueo de archivo entre procesos.
|
|
39
39
|
- ⚙️ **Catálogo dinámico** — el selector de modelos lista exactamente los proveedores que autenticaste.
|
|
40
40
|
- 🌐 **Consciente de proxy** — solo hace proxy de dominios de suscripción revisados y confiables.
|
|
41
|
+
- 🔌 **Gateway de API local opt-in** — servidor loopback compatible con OpenAI/Anthropic, desactivado por defecto; para tus propias herramientas, nunca un relé público.
|
|
41
42
|
|
|
42
43
|
## Problemas de integración que resuelve este plugin
|
|
43
44
|
|
|
@@ -87,6 +88,7 @@ Luego abre **Settings → Coding OAuth** e inicia sesión en cualquier proveedor
|
|
|
87
88
|
- [Problemas de integración que resuelve este plugin](#problemas-de-integración-que-resuelve-este-plugin)
|
|
88
89
|
- [Instalación](#instalación)
|
|
89
90
|
- [Página de configuración](#página-de-configuración)
|
|
91
|
+
- [Gateway de API local](#gateway-de-api-local)
|
|
90
92
|
- [CLI](#cli)
|
|
91
93
|
- [Kimi en China](#kimi-en-china)
|
|
92
94
|
- [Proxy de red](#proxy-de-red)
|
|
@@ -137,12 +139,27 @@ Abre **Settings → Coding OAuth**:
|
|
|
137
139
|
| Claude | PKCE en navegador (un navegador remoto puede pegar la URL completa de redirect localhost) |
|
|
138
140
|
| Antigravity | estado de instalación de `dsh-agy` + comandos CLI locales al perfil |
|
|
139
141
|
|
|
142
|
+
La página de configuración se divide en cuatro pestañas superiores: **Accounts**, **Gateway**, **Capabilities** y **About**. Las tarjetas de proveedores con sesión iniciada se colapsan en un resumen compacto y se expanden para editar modelos. La vista previa del pull de CLI ocupa todo el ancho, y el estado de Imagine se muestra en la pestaña Capabilities.
|
|
143
|
+
|
|
140
144
|
El selector solo lista rutas que completaron la autenticación; los proveedores no autenticados devuelven lista vacía. Los nombres de proveedor llevan `(OAuth)` y el catálogo se actualiza vía `llm/adapters-updated` tras iniciar/cerrar sesión.
|
|
141
145
|
|
|
142
146
|
## Capacidades opcionales
|
|
143
147
|
|
|
144
148
|
Los siete controles `codexSearch`, `codexImages`, `codexImageEdits`, `codexUsage`, `codexFast`, `grokImagineImage` y `grokImagineVideo` empiezan desactivados y se aplican en vivo, sin reinicio. Los límites son `searchResults` (1–20, predeterminado 5), `imageCount` (1–4, predeterminado 1) y `videoArtifactTtlMs` (1 hora–7 días, predeterminado 7 días; la interfaz muestra 1–168 horas). Reducir la retención acorta y limpia los artefactos existentes de inmediato; aumentarla solo afecta a los nuevos.
|
|
145
149
|
|
|
150
|
+
## Gateway de API local
|
|
151
|
+
|
|
152
|
+
Desactivado por defecto. Al activarlo, inicia un servidor `node:http` aislado (no es el puerto web de DSH) en `127.0.0.1:18080` y reutiliza las mismas sesiones OAuth autenticadas:
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
gateway:
|
|
156
|
+
enabled: false
|
|
157
|
+
bind: 127.0.0.1
|
|
158
|
+
port: 18080
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Endpoints: `GET /healthz`, `GET /v1/models`, `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. Una clave Bearer se almacena en `$DSH_HOME/.coding-oauth-gateway.json` (`0600`). La configuración puede copiar la URL base de OpenAI (base + `/v1`), la URL base de Anthropic y la clave Bearer actual sin rotarla; la revelación de la clave es solo por loopback y no se persiste en el almacenamiento del navegador. La rotación es una acción destructiva con confirmación. El puerto de escucha puede editarse directamente y guardarse con Apply, o rellenarse con Random (18100–18999); el puerto elegido se persiste en el documento del gateway solo-propietario, y un listener en ejecución se reenlaza. El bind sigue siendo solo por YAML; un bind no loopback requiere una clave. Esto no es un relé remoto.
|
|
162
|
+
|
|
146
163
|
## CLI
|
|
147
164
|
|
|
148
165
|
```bash
|
package/README.fr.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1 · anciennement `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**Plugin OAuth pour abonnements de codage de [DeepSeek Harness](https://github.com/deepseek-ai/dsh).** Connectez-vous une fois avec les abonnements que vous payez déjà, puis utilisez leurs modèles depuis la page de configuration ou la CLI dsh. **Aucun token collé dans le chat.**
|
|
10
10
|
|
|
@@ -38,6 +38,7 @@ Le projet s'appelait **`dsh-grok-build`** (Grok Build uniquement). Il couvre mai
|
|
|
38
38
|
- 🛡️ **Sécurisé par conception** — fichiers d'identification propriétaire-seul `0600`, écriture atomique, verrou de fichier inter-processus.
|
|
39
39
|
- ⚙️ **Catalogue dynamique** — le sélecteur de modèles liste exactement les fournisseurs que vous avez authentifiés.
|
|
40
40
|
- 🌐 **Conscient du proxy** — ne proxifie que les domaines d'abonnement examinés et de confiance.
|
|
41
|
+
- 🔌 **Passerelle API locale opt-in** — serveur loopback compatible OpenAI/Anthropic, désactivé par défaut ; pour vos propres outils, jamais un relais public.
|
|
41
42
|
|
|
42
43
|
## Problèmes d'intégration que ce plugin résout
|
|
43
44
|
|
|
@@ -87,6 +88,7 @@ Ensuite ouvrez **Settings → Coding OAuth** et connectez-vous à n'importe quel
|
|
|
87
88
|
- [Problèmes d'intégration que ce plugin résout](#problèmes-dintégration-que-ce-plugin-résout)
|
|
88
89
|
- [Installation](#installation)
|
|
89
90
|
- [Page de configuration](#page-de-configuration)
|
|
91
|
+
- [Passerelle API locale](#passerelle-api-locale)
|
|
90
92
|
- [CLI](#cli)
|
|
91
93
|
- [Kimi en Chine](#kimi-en-chine)
|
|
92
94
|
- [Proxy réseau](#proxy-réseau)
|
|
@@ -137,12 +139,27 @@ Ouvrez **Settings → Coding OAuth** :
|
|
|
137
139
|
| Claude | PKCE navigateur (un navigateur distant peut coller l'URL complète de redirect localhost) |
|
|
138
140
|
| Antigravity | état d'installation de `dsh-agy` + commandes CLI locales au profil |
|
|
139
141
|
|
|
142
|
+
La page de configuration est divisée en quatre onglets principaux : **Accounts**, **Gateway**, **Capabilities** et **About**. Les cartes des fournisseurs connectés se replient en un résumé compact et se déplient pour l'édition des modèles. L'aperçu du pull CLI occupe toute la largeur, et le statut d'Imagine s'affiche dans l'onglet Capabilities.
|
|
143
|
+
|
|
140
144
|
Le sélecteur ne liste que les routes ayant terminé l'authentification ; les fournisseurs non authentifiés renvoient une liste vide. Les noms de fournisseurs portent `(OAuth)` et le catalogue est rafraîchi via `llm/adapters-updated` après connexion/déconnexion.
|
|
141
145
|
|
|
142
146
|
## Capacités optionnelles
|
|
143
147
|
|
|
144
148
|
Les sept options `codexSearch`, `codexImages`, `codexImageEdits`, `codexUsage`, `codexFast`, `grokImagineImage` et `grokImagineVideo` sont désactivées par défaut et s'appliquent à chaud, sans redémarrage. Les limites sont `searchResults` (1–20, défaut 5), `imageCount` (1–4, défaut 1) et `videoArtifactTtlMs` (1 heure–7 jours, défaut 7 jours ; l'interface affiche 1–168 heures). Réduire la rétention raccourcit et nettoie immédiatement les artefacts existants ; l'augmenter ne concerne que les nouveaux.
|
|
145
149
|
|
|
150
|
+
## Passerelle API locale
|
|
151
|
+
|
|
152
|
+
Désactivée par défaut. Une fois activée, elle démarre un serveur `node:http` isolé (pas le port web de DSH) sur `127.0.0.1:18080` et réutilise les mêmes sessions OAuth authentifiées :
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
gateway:
|
|
156
|
+
enabled: false
|
|
157
|
+
bind: 127.0.0.1
|
|
158
|
+
port: 18080
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Endpoints : `GET /healthz`, `GET /v1/models`, `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. Une clé Bearer est stockée dans `$DSH_HOME/.coding-oauth-gateway.json` (`0600`). La configuration permet de copier l'URL de base OpenAI (base + `/v1`), l'URL de base Anthropic et la clé Bearer actuelle sans la régénérer ; la révélation de la clé est limitée au loopback et n'est pas persistée dans le stockage du navigateur. La rotation est une action destructive avec confirmation. Le port d'écoute peut être modifié directement puis enregistré avec Apply, ou rempli par Random (18100–18999) ; le port choisi est persisté dans le document de passerelle propriétaire-seul, et un listener en cours d'exécution se rebind. Le bind reste configurable uniquement en YAML ; un bind non loopback exige une clé. Ce n'est pas un relais distant.
|
|
162
|
+
|
|
146
163
|
## CLI
|
|
147
164
|
|
|
148
165
|
```bash
|
package/README.ja.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1 · 旧名 `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**DeepSeek Harness(dsh)のためのコーディングサブスクリプション OAuth プラグイン。** 支払い済みのサブスクリプションで一度きりのサインイン——その後は dsh の設定ページまたは CLI からそのモデルを使えます。**チャットにトークンを貼り付ける必要はありません。**
|
|
10
10
|
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
- 🛡️ **セキュリティ設計** — 認証情報ファイルはオーナー専用 `0600`、アトミック書き込み、クロスプロセスファイルロック。
|
|
39
39
|
- ⚙️ **動的カタログ** — モデルセレクターには認証済みプロバイダーのみが表示されます。
|
|
40
40
|
- 🌐 **プロキシ対応** — レビュー済みの信頼できるサブスクリプションドメインのみをプロキシします。
|
|
41
|
+
- 🔌 **オプトインのローカル API ゲートウェイ** — 既定オフのループバック OpenAI/Anthropic 互換サーバー。自分のツール専用で、公開リレーではありません。
|
|
41
42
|
|
|
42
43
|
## このプラグインが解く接続の問題
|
|
43
44
|
|
|
@@ -87,6 +88,7 @@ systemctl --user restart dsh-web.service
|
|
|
87
88
|
- [このプラグインが解く接続の問題](#このプラグインが解く接続の問題)
|
|
88
89
|
- [インストール](#インストール)
|
|
89
90
|
- [設定ページ](#設定ページ)
|
|
91
|
+
- [ローカル API ゲートウェイ](#ローカル-api-ゲートウェイ)
|
|
90
92
|
- [CLI](#cli)
|
|
91
93
|
- [中国での Kimi](#中国での-kimi)
|
|
92
94
|
- [ネットワークプロキシ](#ネットワークプロキシ)
|
|
@@ -137,12 +139,27 @@ pnpm run smoke:deployed # 実際の Codex/Kimi ツール呼び出し
|
|
|
137
139
|
| Claude | ブラウザ PKCE(リモートブラウザは完全な localhost redirect URL を貼り付け可能) |
|
|
138
140
|
| Antigravity | `dsh-agy` インストール状態 + profile-local CLI コマンド |
|
|
139
141
|
|
|
142
|
+
設定ページは **Accounts**、**Gateway**、**Capabilities**、**About** の 4 つのトップタブに分かれています。サインイン済みプロバイダーのカードはコンパクトな概要に折りたたまれ、モデル編集時に展開されます。CLI pull のプレビューは全幅表示で、Imagine のステータスは Capabilities タブに表示されます。
|
|
143
|
+
|
|
140
144
|
セレクターは認証を完了したルートのみを一覧表示します。未認証プロバイダーは空リストを返します。プロバイダー名は `(OAuth)` を伴い、サインイン/アウト後に `llm/adapters-updated` でカタログが更新されます。
|
|
141
145
|
|
|
142
146
|
## オプション機能
|
|
143
147
|
|
|
144
148
|
7 つのスイッチ `codexSearch`、`codexImages`、`codexImageEdits`、`codexUsage`、`codexFast`、`grokImagineImage`、`grokImagineVideo` はすべて既定でオフで、変更は再起動なしで反映されます。数値設定は `searchResults`(1–20、既定 5)、`imageCount`(1–4、既定 1)、`videoArtifactTtlMs`(1 時間–7 日、既定 7 日、UI は 1–168 時間)です。保持期間を短くすると既存の成果物も直ちに短縮・削除され、長くした場合は以後の成果物にのみ適用されます。
|
|
145
149
|
|
|
150
|
+
## ローカル API ゲートウェイ
|
|
151
|
+
|
|
152
|
+
既定は**オフ**です。有効にすると、DSH の web ポートとは別の独立した `node:http` サーバーが `127.0.0.1:18080` で起動し、同じサインイン済み OAuth セッションを再利用します:
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
gateway:
|
|
156
|
+
enabled: false
|
|
157
|
+
bind: 127.0.0.1
|
|
158
|
+
port: 18080
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
エンドポイント: `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 にはキーが必須です。これはリモートリレーではありません。
|
|
162
|
+
|
|
146
163
|
## CLI
|
|
147
164
|
|
|
148
165
|
```bash
|
package/README.ko.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1 · 이전 이름 `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**[DeepSeek Harness](https://github.com/deepseek-ai/dsh)용 코딩 구독 OAuth 플러그인.** 이미 결제한 구독으로 한 번에 로그인하고, dsh 설정 페이지나 CLI에서 그 모델을 사용하세요. **채팅에 토큰을 붙여넣을 필요가 없습니다.**
|
|
10
10
|
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
- 🛡️ **안전한 설계** — 인증 파일은 소유자 전용 `0600`, 원자적 쓰기, 크로스 프로세스 파일 잠금.
|
|
39
39
|
- ⚙️ **동적 카탈로그** — 모델 선택기에 인증을 완료한 프로바이더만 표시됩니다.
|
|
40
40
|
- 🌐 **프록시 인지형** — 검증된 신뢰 가능한 구독 도메인만 프록시합니다.
|
|
41
|
+
- 🔌 **옵트인 로컬 API 게이트웨이** — 기본 꺼짐의 루프백 OpenAI/Anthropic 호환 서버. 내 도구 전용이며 공개 릴레이가 아닙니다.
|
|
41
42
|
|
|
42
43
|
## 이 플러그인이 푸는 연동 문제
|
|
43
44
|
|
|
@@ -87,6 +88,7 @@ systemctl --user restart dsh-web.service
|
|
|
87
88
|
- [이 플러그인이 푸는 연동 문제](#이-플러그인이-푸는-연동-문제)
|
|
88
89
|
- [설치](#설치)
|
|
89
90
|
- [설정 페이지](#설정-페이지)
|
|
91
|
+
- [로컬 API 게이트웨이](#로컬-api-게이트웨이)
|
|
90
92
|
- [CLI](#cli)
|
|
91
93
|
- [중국에서의 Kimi](#중국에서의-kimi)
|
|
92
94
|
- [네트워크 프록시](#네트워크-프록시)
|
|
@@ -137,12 +139,27 @@ pnpm run smoke:deployed # 실제 Codex/Kimi 도구 호출 + 두 번
|
|
|
137
139
|
| Claude | 브라우저 PKCE(원격 브라우저는 전체 localhost redirect URL을 붙여넣기 가능) |
|
|
138
140
|
| Antigravity | `dsh-agy` 설치 상태 + profile-local CLI 명령 |
|
|
139
141
|
|
|
142
|
+
설정 페이지는 **Accounts**, **Gateway**, **Capabilities**, **About** 네 개의 상위 탭으로 나뉩니다. 로그인된 프로바이더 카드는 간결한 요약으로 접히고 모델 편집 시 펼쳐집니다. CLI pull 미리보기는 전체 너비로 표시되고, Imagine 상태는 Capabilities 탭에서 확인할 수 있습니다.
|
|
143
|
+
|
|
140
144
|
선택기는 인증을 완료한 라우트만 나열하며, 인증되지 않은 프로바이더는 빈 목록을 반환합니다. 프로바이더 이름에는 `(OAuth)`가 붙고, 로그인/아웃 후 `llm/adapters-updated`를 통해 카탈로그가 갱신됩니다.
|
|
141
145
|
|
|
142
146
|
## 선택적 기능
|
|
143
147
|
|
|
144
148
|
7개 스위치 `codexSearch`, `codexImages`, `codexImageEdits`, `codexUsage`, `codexFast`, `grokImagineImage`, `grokImagineVideo`는 모두 기본적으로 꺼져 있으며 재시작 없이 즉시 적용됩니다. 숫자 설정은 `searchResults`(1–20, 기본 5), `imageCount`(1–4, 기본 1), `videoArtifactTtlMs`(1시간–7일, 기본 7일, UI에서는 1–168시간)입니다. 보존 시간을 낮추면 기존 아티팩트도 즉시 단축·정리되며, 높인 값은 이후 생성된 아티팩트에만 적용됩니다.
|
|
145
149
|
|
|
150
|
+
## 로컬 API 게이트웨이
|
|
151
|
+
|
|
152
|
+
기본값은 **꺼짐**입니다. 활성화하면 DSH 웹 포트와 분리된 독립 `node:http` 서버가 `127.0.0.1:18080`에서 시작되어 같은 로그인 OAuth 세션을 재사용합니다:
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
gateway:
|
|
156
|
+
enabled: false
|
|
157
|
+
bind: 127.0.0.1
|
|
158
|
+
port: 18080
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
엔드포인트: `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에는 키가 필요합니다. 원격 릴레이가 아닙니다.
|
|
162
|
+
|
|
146
163
|
## CLI
|
|
147
164
|
|
|
148
165
|
```bash
|
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1** · formerly `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**Coding-subscription OAuth for [DeepSeek Harness](https://github.com/deepseek-ai/dsh).** Use SuperGrok / X Premium (Grok Build), ChatGPT Plus/Pro (Codex), Kimi Code, Claude Pro/Max and Google Antigravity inside DSH — without a second API-key bill and **without pasting any token into chat.**
|
|
10
10
|
|
|
@@ -24,7 +24,7 @@ Published first as **`dsh-grok-build`** when it only covered Grok Build. The cur
|
|
|
24
24
|
| | Use this | Still works |
|
|
25
25
|
|---|---|---|
|
|
26
26
|
| GitHub / `dsh plugin add` | [`dsh-coding-subscription-oauth`](https://github.com/lninghaha/dsh-coding-subscription-oauth) | `github:lninghaha/dsh-grok-build` (same `main`) |
|
|
27
|
-
| npm | Current release is `0.5.
|
|
27
|
+
| npm | Current release is `0.5.1`: `dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1` then `dsh plugin --profile web update dsh-coding-subscription-oauth`. GitHub install still works. | No legacy npm package was published |
|
|
28
28
|
| CLI | `dsh-coding-oauth` | `dsh-grok-build` |
|
|
29
29
|
| Cordis plugin id | `llm-grok-build-oauth` | unchanged |
|
|
30
30
|
| Settings HTTP API | `/plugins/dsh-grok-build/*` | unchanged |
|
|
@@ -39,8 +39,9 @@ Published first as **`dsh-grok-build`** when it only covered Grok Build. The cur
|
|
|
39
39
|
- ⚙️ **Dynamic catalog** — the selector lists only signed-in routes, labelled `(OAuth)`, including grok-4.6 `xhigh`.
|
|
40
40
|
- 🌐 **Proxy-aware** — proxies only reviewed subscription domains; Kimi China stays direct by default.
|
|
41
41
|
- 📥 **Manual CLI Pull** — Settings discovers allowlisted official Grok/Codex/Kimi/Claude CLI OAuth files read-only; you pull a one-way copy after preview and overwrite confirmation.
|
|
42
|
+
- 🗂️ **Tabbed Settings** — Accounts, Gateway, Capabilities, and About replace the long waterfall; signed-in provider cards stay collapsed until you expand them.
|
|
42
43
|
- 🎛️ **Optional capabilities, default off** — Codex search, usage/quota, image generate/edit, Fast, and Grok Imagine apply live when you turn them on.
|
|
43
|
-
- 🔌 **Opt-in local API gateway** — default-off loopback OpenAI/Anthropic-compatible server for your own tools; never a public relay.
|
|
44
|
+
- 🔌 **Opt-in local API gateway** — default-off loopback OpenAI/Anthropic-compatible server for your own tools, with copyable base URLs and Bearer key; never a public relay.
|
|
44
45
|
|
|
45
46
|
## Problems this plugin solves
|
|
46
47
|
|
|
@@ -75,8 +76,8 @@ Grok Build device login, live `/v1/models-v2` and Responses streaming are verifi
|
|
|
75
76
|
## 🚀 Quick start
|
|
76
77
|
|
|
77
78
|
```bash
|
|
78
|
-
# 1. install the
|
|
79
|
-
dsh plugin --profile web add
|
|
79
|
+
# 1. install the current npm release into the web profile
|
|
80
|
+
dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1
|
|
80
81
|
|
|
81
82
|
# 2. optional — Google Antigravity (pinned, reviewed version)
|
|
82
83
|
dsh plugin --profile web add dsh-agy@0.1.2
|
|
@@ -94,6 +95,7 @@ Then open **Settings → Coding OAuth** and sign in to any provider. Done — pi
|
|
|
94
95
|
- [Install](#install)
|
|
95
96
|
- [Settings page](#settings-page)
|
|
96
97
|
- [Optional capabilities](#optional-capabilities)
|
|
98
|
+
- [Local API gateway](#local-api-gateway)
|
|
97
99
|
- [CLI](#cli)
|
|
98
100
|
- [Kimi in China](#kimi-in-china)
|
|
99
101
|
- [Network proxy](#network-proxy)
|
|
@@ -111,11 +113,12 @@ Then open **Settings → Coding OAuth** and sign in to any provider. Done — pi
|
|
|
111
113
|
Requires DeepSeek Harness `0.1.0-rc.6+` and Node.js 22.19+. Full details in the [installation notes](INSTALL.md).
|
|
112
114
|
|
|
113
115
|
```bash
|
|
114
|
-
#
|
|
115
|
-
dsh plugin --profile web add
|
|
116
|
+
# current npm release
|
|
117
|
+
dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1
|
|
116
118
|
|
|
117
|
-
# or a local dev checkout
|
|
118
|
-
dsh plugin --profile web add
|
|
119
|
+
# or from GitHub / a local dev checkout
|
|
120
|
+
dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
|
|
121
|
+
# dsh plugin --profile web add ./dsh-coding-subscription-oauth
|
|
119
122
|
```
|
|
120
123
|
|
|
121
124
|
Restart `dsh web` after installing. Verification against a live deployment:
|
|
@@ -134,7 +137,7 @@ pnpm run smoke:deployed # real Codex/Kimi tool-calls + second-turn r
|
|
|
134
137
|
|
|
135
138
|
## Settings page
|
|
136
139
|
|
|
137
|
-
Open **Settings → Coding OAuth
|
|
140
|
+
Open **Settings → Coding OAuth**. The page is organized into four top tabs — **Accounts**, **Gateway**, **Capabilities**, and **About** — so it no longer requires a long waterfall scroll. Signed-in provider cards collapse to a compact summary; expand one to edit models or use its CLI Pull controls. CLI previews span the full content width, and the Capabilities tab shows live optional switches plus Imagine status.
|
|
138
141
|
|
|
139
142
|
| Provider | Methods |
|
|
140
143
|
|---|---|
|
|
@@ -171,7 +174,9 @@ gateway:
|
|
|
171
174
|
port: 18080
|
|
172
175
|
```
|
|
173
176
|
|
|
174
|
-
Endpoints: `GET /healthz`, `GET /v1/models`, `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. A Bearer key is stored at `$DSH_HOME/.coding-oauth-gateway.json` (`0600`).
|
|
177
|
+
Endpoints: `GET /healthz`, `GET /v1/models`, `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. A Bearer key is stored at `$DSH_HOME/.coding-oauth-gateway.json` (`0600`).
|
|
178
|
+
|
|
179
|
+
On the **Gateway** tab, copy the OpenAI base URL (for example, `http://127.0.0.1:18080/v1`), the Anthropic base URL, or the current Bearer key without rotating it. Key rotation requires confirmation. Edit the listen port with **Apply** or fill it with **Random** (`18100`–`18999`); the selected port is persisted in the owner-only gateway document, and a running listener rebinds to it. Bind remains YAML-only; a non-loopback bind requires a key. This is not a remote relay.
|
|
175
180
|
|
|
176
181
|
## CLI
|
|
177
182
|
|
package/README.pt-BR.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1 · antigo `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**Plugin de OAuth para assinaturas de codificação do [DeepSeek Harness](https://github.com/deepseek-ai/dsh).** Entre com as assinaturas que você já paga — depois use os modelos delas a partir da página de configurações do dsh ou da CLI. **Nenhum token colado no chat.**
|
|
10
10
|
|
|
@@ -38,6 +38,7 @@ O projeto começou como **`dsh-grok-build`** (só Grok Build). Agora cobre Super
|
|
|
38
38
|
- 🛡️ **Seguro por design** — arquivos de credenciais com permissão somente-dono `0600`, escrita atômica, bloqueio de arquivo entre processos.
|
|
39
39
|
- ⚙️ **Catálogo dinâmico** — o seletor de modelos lista exatamente os provedores que você autenticou.
|
|
40
40
|
- 🌐 **Ciente de proxy** — faz proxy apenas de domínios de assinatura revisados e confiáveis.
|
|
41
|
+
- 🔌 **Gateway de API local opt-in** — servidor loopback compatível com OpenAI/Anthropic, desligado por padrão; para as suas próprias ferramentas, nunca um relé público.
|
|
41
42
|
|
|
42
43
|
## Problemas de integração que este plugin resolve
|
|
43
44
|
|
|
@@ -87,6 +88,7 @@ Depois abra **Settings → Coding OAuth** e faça login em qualquer provedor. Pr
|
|
|
87
88
|
- [Problemas de integração que este plugin resolve](#problemas-de-integração-que-este-plugin-resolve)
|
|
88
89
|
- [Instalação](#instalação)
|
|
89
90
|
- [Página de configurações](#página-de-configurações)
|
|
91
|
+
- [Gateway de API local](#gateway-de-api-local)
|
|
90
92
|
- [CLI](#cli)
|
|
91
93
|
- [Kimi na China](#kimi-na-china)
|
|
92
94
|
- [Proxy de rede](#proxy-de-rede)
|
|
@@ -137,12 +139,27 @@ Abra **Settings → Coding OAuth**:
|
|
|
137
139
|
| Claude | PKCE no navegador (um navegador remoto pode colar a URL completa de redirect localhost) |
|
|
138
140
|
| Antigravity | status de instalação do `dsh-agy` + comandos CLI local ao perfil |
|
|
139
141
|
|
|
142
|
+
A página de configurações é dividida em quatro abas superiores: **Accounts**, **Gateway**, **Capabilities** e **About**. Os cartões de provedores conectados colapsam em um resumo compacto e se expandem para edição de modelos. A pré-visualização do pull da CLI ocupa a largura total, e o status do Imagine aparece na aba Capabilities.
|
|
143
|
+
|
|
140
144
|
O seletor lista apenas rotas que concluíram a autenticação; provedores não autenticados retornam lista vazia. Os nomes dos provedores recebem `(OAuth)` e o catálogo é atualizado via `llm/adapters-updated` após entrar/sair.
|
|
141
145
|
|
|
142
146
|
## Capacidades opcionais
|
|
143
147
|
|
|
144
148
|
Os sete controles `codexSearch`, `codexImages`, `codexImageEdits`, `codexUsage`, `codexFast`, `grokImagineImage` e `grokImagineVideo` começam desativados e mudam ao vivo, sem reinício. Os limites são `searchResults` (1–20, padrão 5), `imageCount` (1–4, padrão 1) e `videoArtifactTtlMs` (1 hora–7 dias, padrão 7 dias; a interface mostra 1–168 horas). Reduzir a retenção encurta e limpa artefatos existentes imediatamente; aumentá-la vale apenas para novos artefatos.
|
|
145
149
|
|
|
150
|
+
## Gateway de API local
|
|
151
|
+
|
|
152
|
+
Desligado por padrão. Quando ativado, inicia um servidor `node:http` isolado (não é a porta web do DSH) em `127.0.0.1:18080` e reutiliza as mesmas sessões OAuth autenticadas:
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
gateway:
|
|
156
|
+
enabled: false
|
|
157
|
+
bind: 127.0.0.1
|
|
158
|
+
port: 18080
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Endpoints: `GET /healthz`, `GET /v1/models`, `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. Uma chave Bearer é armazenada em `$DSH_HOME/.coding-oauth-gateway.json` (`0600`). As configurações podem copiar a URL base OpenAI (base + `/v1`), a URL base Anthropic e a chave Bearer atual sem rotacioná-la; a revelação da chave é apenas via loopback e não é persistida no armazenamento do navegador. A rotação é uma ação destrutiva com confirmação. A porta de escuta pode ser editada diretamente e salva com Apply, ou preenchida pelo botão Random (18100–18999); a porta escolhida é persistida no documento do gateway somente-dono, e um listener em execução é religado. O bind continua sendo somente via YAML; bind não-loopback exige uma chave. Isto não é um relé remoto.
|
|
162
|
+
|
|
146
163
|
## CLI
|
|
147
164
|
|
|
148
165
|
```bash
|
package/README.ru.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1 · ранее `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**Плагин OAuth для подписок на кодинг для [DeepSeek Harness](https://github.com/deepseek-ai/dsh).** Войдите один раз по уже оплаченным подпискам — и используйте их модели из страницы настроек или CLI dsh. **Никаких вставленных токенов в чат.**
|
|
10
10
|
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
- 🛡️ **Безопасность по замыслу** — файлы учётных данных только-владелец `0600`, атомарная запись, межпроцессная блокировка файла.
|
|
39
39
|
- ⚙️ **Динамический каталог** — селектор моделей показывает ровно те провайдеры, которые вы авторизовали.
|
|
40
40
|
- 🌐 **С учётом прокси** — проксируется только проверенные доверенные домены подписок.
|
|
41
|
+
- 🔌 **Локальный API-шлюз по opt-in** — по умолчанию выключенный loopback-сервер, совместимый с OpenAI/Anthropic; для ваших собственных инструментов, а не публичный relay.
|
|
41
42
|
|
|
42
43
|
## Какие проблемы подключения закрывает этот плагин
|
|
43
44
|
|
|
@@ -87,6 +88,7 @@ systemctl --user restart dsh-web.service
|
|
|
87
88
|
- [Какие проблемы подключения закрывает этот плагин](#какие-проблемы-подключения-закрывает-этот-плагин)
|
|
88
89
|
- [Установка](#установка)
|
|
89
90
|
- [Страница настроек](#страница-настроек)
|
|
91
|
+
- [Локальный API-шлюз](#локальный-api-шлюз)
|
|
90
92
|
- [CLI](#cli)
|
|
91
93
|
- [Kimi в Китае](#kimi-в-китае)
|
|
92
94
|
- [Сетевой прокси](#сетевой-прокси)
|
|
@@ -137,12 +139,27 @@ pnpm run smoke:deployed # реальные вызовы Codex/Kimi +
|
|
|
137
139
|
| Claude | PKCE в браузере (удалённый браузер может вставить полный URL редиректа localhost) |
|
|
138
140
|
| Antigravity | статус установки `dsh-agy` + локальные для профиля CLI-команды |
|
|
139
141
|
|
|
142
|
+
Страница настроек разделена на четыре верхние вкладки: **Accounts**, **Gateway**, **Capabilities** и **About**. Карточки вошедших провайдеров сворачиваются в компактное резюме и разворачиваются для редактирования моделей. Предпросмотр CLI pull занимает всю ширину, а статус Imagine показан на вкладке Capabilities.
|
|
143
|
+
|
|
140
144
|
Селектор показывает только маршруты, завершившие аутентификацию; неавторизованные провайдеры возвращают пустой список. Имена провайдеров получают `(OAuth)`, а каталог обновляется через `llm/adapters-updated` после входа/выхода.
|
|
141
145
|
|
|
142
146
|
## Дополнительные возможности
|
|
143
147
|
|
|
144
148
|
Все семь переключателей `codexSearch`, `codexImages`, `codexImageEdits`, `codexUsage`, `codexFast`, `grokImagineImage` и `grokImagineVideo` по умолчанию выключены и применяются без перезапуска. Ограничения: `searchResults` (1–20, по умолчанию 5), `imageCount` (1–4, по умолчанию 1) и `videoArtifactTtlMs` (1 час–7 дней, по умолчанию 7 дней; в интерфейсе 1–168 часов). Уменьшение срока сразу сокращает и очищает существующие артефакты; увеличение действует только на новые.
|
|
145
149
|
|
|
150
|
+
## Локальный API-шлюз
|
|
151
|
+
|
|
152
|
+
По умолчанию **выключен**. При включении запускается изолированный `node:http`-сервер (не веб-порт DSH) на `127.0.0.1:18080`, переиспользующий те же вошедшие OAuth-сессии:
|
|
153
|
+
|
|
154
|
+
```yaml
|
|
155
|
+
gateway:
|
|
156
|
+
enabled: false
|
|
157
|
+
bind: 127.0.0.1
|
|
158
|
+
port: 18080
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Эндпоинты: `GET /healthz`, `GET /v1/models`, `POST /v1/chat/completions`, `POST /v1/responses`, `POST /v1/messages`. Bearer-ключ хранится в `$DSH_HOME/.coding-oauth-gateway.json` (`0600`). В настройках можно скопировать базовый URL OpenAI (база + `/v1`), базовый URL Anthropic и текущий Bearer-ключ без ротации; показ ключа возможен только через loopback и не сохраняется в хранилище браузера. Ротация — подтверждаемое деструктивное действие. Порт прослушивания можно отредактировать напрямую и сохранить через Apply или заполнить кнопкой Random (18100–18999); выбранный порт сохраняется в доступном только владельцу документе шлюза, а работающий listener перепривязывается. Bind по-прежнему задаётся только в YAML; для не-loopback bind требуется ключ. Это не удалённый relay.
|
|
162
|
+
|
|
146
163
|
## CLI
|
|
147
164
|
|
|
148
165
|
```bash
|
package/README.zh-CN.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
# 🔐 dsh-coding-subscription-oauth
|
|
6
6
|
|
|
7
|
-
**v0.5.
|
|
7
|
+
**v0.5.1** · 原名 `dsh-grok-build`
|
|
8
8
|
|
|
9
9
|
**面向 [DeepSeek Harness](https://github.com/deepseek-ai/dsh) 的编码订阅 OAuth 插件。** 把 SuperGrok / X Premium(Grok Build)、ChatGPT Plus/Pro(Codex)、Kimi Code、Claude Pro/Max 和 Google Antigravity 接到 DSH——不必再开一份按量 API-key,**也不要把 token 粘贴进聊天。**
|
|
10
10
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
| | 请用这个 | 仍然可用 |
|
|
25
25
|
|---|---|---|
|
|
26
26
|
| GitHub / `dsh plugin add` | [`dsh-coding-subscription-oauth`](https://github.com/lninghaha/dsh-coding-subscription-oauth) | `github:lninghaha/dsh-grok-build`(同一条 `main`) |
|
|
27
|
-
| npm | 当前版本是 `0.5.
|
|
27
|
+
| npm | 当前版本是 `0.5.1`:`dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1`,之后 `dsh plugin --profile web update dsh-coding-subscription-oauth`。GitHub 安装仍然可用。 | 没有发布过旧 npm 包 |
|
|
28
28
|
| CLI | `dsh-coding-oauth` | `dsh-grok-build` |
|
|
29
29
|
| Cordis 插件 id | `llm-grok-build-oauth` | 不变 |
|
|
30
30
|
| 设置页 HTTP API | `/plugins/dsh-grok-build/*` | 不变 |
|
|
@@ -39,8 +39,9 @@
|
|
|
39
39
|
- ⚙️ **动态目录** —— 选择器只列出已登录路由并标注 `(OAuth)`,含 grok-4.6 的 `xhigh`。
|
|
40
40
|
- 🌐 **代理感知** —— 只代理审核过的订阅域名;Kimi 中国流量默认直连。
|
|
41
41
|
- 📥 **手动 CLI 拉取** —— 设置页只读发现白名单内的官方 Grok/Codex/Kimi/Claude CLI OAuth 文件;预览并确认覆盖后,单向拉取一份副本。
|
|
42
|
+
- 🗂️ **分栏设置页** —— Accounts、Gateway、Capabilities、About 四个顶部标签替代漫长瀑布流;已登录供应商卡片默认收起,展开后再编辑。
|
|
42
43
|
- 🎛️ **可选能力默认关闭** —— Codex 搜索、用量/配额、图像生成/编辑、Fast、Grok Imagine 打开后立即生效。
|
|
43
|
-
- 🔌 **可选本地 API 网关** —— 默认关闭的 loopback OpenAI/Anthropic
|
|
44
|
+
- 🔌 **可选本地 API 网关** —— 默认关闭的 loopback OpenAI/Anthropic 兼容服务,支持复制 base URL 和 Bearer key,只给你自己的工具用,不是公网中继。
|
|
44
45
|
|
|
45
46
|
## 本插件解决的接入问题
|
|
46
47
|
|
|
@@ -92,6 +93,7 @@ systemctl --user restart dsh-web.service
|
|
|
92
93
|
- [安装](#安装)
|
|
93
94
|
- [设置页](#设置页)
|
|
94
95
|
- [可选能力](#可选能力)
|
|
96
|
+
- [本地 API 网关](#本地-api-网关)
|
|
95
97
|
- [CLI](#cli)
|
|
96
98
|
- [Kimi 中国说明](#kimi-中国说明)
|
|
97
99
|
- [网络代理](#网络代理)
|
|
@@ -109,11 +111,12 @@ systemctl --user restart dsh-web.service
|
|
|
109
111
|
需要 DeepSeek Harness `0.1.0-rc.6+` 与 Node.js 22.19+。完整细节见[安装说明](INSTALL.md)。
|
|
110
112
|
|
|
111
113
|
```bash
|
|
112
|
-
#
|
|
113
|
-
dsh plugin --profile web add
|
|
114
|
+
# 当前 npm 版本
|
|
115
|
+
dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1
|
|
114
116
|
|
|
115
|
-
#
|
|
116
|
-
dsh plugin --profile web add
|
|
117
|
+
# 或从 GitHub / 本地开发目录
|
|
118
|
+
dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
|
|
119
|
+
# dsh plugin --profile web add ./dsh-coding-subscription-oauth
|
|
117
120
|
```
|
|
118
121
|
|
|
119
122
|
安装后重启 `dsh web`。对实际部署的验证:
|
|
@@ -132,7 +135,7 @@ pnpm run smoke:deployed # 真实 Codex/Kimi tool-call + 第二个用
|
|
|
132
135
|
|
|
133
136
|
## 设置页
|
|
134
137
|
|
|
135
|
-
打开 **设置 → 编码 OAuth
|
|
138
|
+
打开 **设置 → 编码 OAuth**。页面拆成四个顶部标签:**Accounts**、**Gateway**、**Capabilities**、**About**,不再需要长距离滚动。已登录供应商卡片默认折叠,展开后可编辑模型或使用卡片内的 CLI 拉取;CLI 预览占满内容宽度,Capabilities 标签还会显示实时可选开关和 Imagine 状态。
|
|
136
139
|
|
|
137
140
|
| 供应商 | 方式 |
|
|
138
141
|
|---|---|
|
|
@@ -158,6 +161,21 @@ Codex 搜索、用量和图像是**需显式打开**的私有 `chatgpt.com/backe
|
|
|
158
161
|
|
|
159
162
|
Grok Imagine 只走官方 `https://api.x.ai`,模型为 `grok-imagine-image-2.0` 与 `grok-imagine-video-1.5`。凭据是独立的 DSH 凭据引用 `XAI_API_KEY`——不用 Grok OAuth,也不回退到进程环境变量。生成结果在 MIME / 大小 / 超时 / 重定向 / DNS 控制下,仅从冻结主机 `imgen.x.ai`、`videogen.x.ai`、`vidgen.x.ai` 下载,存入私有产物库(单件与唯一对象总量均硬限 256 MiB,最长七天),并只通过同源 loopback 路由提供。
|
|
160
163
|
|
|
164
|
+
## 本地 API 网关
|
|
165
|
+
|
|
166
|
+
默认**关闭**。启用后会在 `127.0.0.1:18080` 启动独立的 `node:http` 服务(不占用 DSH web 端口),复用已经登录的 OAuth 会话:
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
gateway:
|
|
170
|
+
enabled: false
|
|
171
|
+
bind: 127.0.0.1
|
|
172
|
+
port: 18080
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
端点:`GET /healthz`、`GET /v1/models`、`POST /v1/chat/completions`、`POST /v1/responses`、`POST /v1/messages`。Bearer key 保存在 `$DSH_HOME/.coding-oauth-gateway.json`(`0600`)。
|
|
176
|
+
|
|
177
|
+
在 **Gateway** 标签中,可以复制 OpenAI base URL(例如 `http://127.0.0.1:18080/v1`)、Anthropic base URL,或直接复制当前 Bearer key,不必轮换;轮换 key 前必须确认。监听端口可直接 **Apply/确定**,也可用 **Random/随机** 填充(`18100`–`18999`);选定端口会持久化到属主专用的网关文档,运行中的监听器会重新绑定。bind 仍只能写在 YAML 中;非 loopback bind 必须配置 key。这不是远程中继。
|
|
178
|
+
|
|
161
179
|
## CLI
|
|
162
180
|
|
|
163
181
|
```bash
|
package/docs/02-architecture.md
CHANGED
|
@@ -118,7 +118,7 @@ This project does not replicate the private Google Antigravity protocol. The pro
|
|
|
118
118
|
|
|
119
119
|
## 6. Compatibility
|
|
120
120
|
|
|
121
|
-
The canonical package and repository name is **`dsh-coding-subscription-oauth`**. The previous GitHub URL still resolves to the same `main`, so old `dsh plugin add github:lninghaha/dsh-grok-build` commands continue to install the renamed package. The first public npm/GitHub Release was **`0.4.1`**. The current release is **`0.5.
|
|
121
|
+
The canonical package and repository name is **`dsh-coding-subscription-oauth`**. The previous GitHub URL still resolves to the same `main`, so old `dsh plugin add github:lninghaha/dsh-grok-build` commands continue to install the renamed package. The first public npm/GitHub Release was **`0.4.1`**. The current release is **`0.5.1`** (`dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1`). GitHub and local tarball installs remain valid.
|
|
122
122
|
|
|
123
123
|
Stable on-disk / in-process identifiers (do not rename without a migration):
|
|
124
124
|
|
|
@@ -114,7 +114,7 @@ POST /plugins/dsh-grok-build/gateway/rotate
|
|
|
114
114
|
|
|
115
115
|
## 6. 兼容性
|
|
116
116
|
|
|
117
|
-
正式包名与仓库名是 **`dsh-coding-subscription-oauth`**。旧 GitHub 地址仍指向同一条 `main`,因此旧的 `dsh plugin add github:lninghaha/dsh-grok-build` 仍会安装更名后的包。第一次公开 npm / GitHub Release 是 **`0.4.1`**。当前版本是 **`0.5.
|
|
117
|
+
正式包名与仓库名是 **`dsh-coding-subscription-oauth`**。旧 GitHub 地址仍指向同一条 `main`,因此旧的 `dsh plugin add github:lninghaha/dsh-grok-build` 仍会安装更名后的包。第一次公开 npm / GitHub Release 是 **`0.4.1`**。当前版本是 **`0.5.1`**(`dsh plugin --profile web add dsh-coding-subscription-oauth@0.5.1`)。GitHub 与本地 tarball 安装仍然有效。
|
|
118
118
|
|
|
119
119
|
以下标识保持稳定(无迁移方案前不要改名):
|
|
120
120
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-coding-subscription-oauth",
|
|
3
3
|
"description": "DeepSeek Harness coding-subscription OAuth: SuperGrok/Grok Build, ChatGPT Plus Codex, Kimi Code, Claude Code. Fixes AUTH API key is invalid, INVALID_REPLAY_STATE, grok-4.6 xhigh, Kimi Bearer vs x-api-key.",
|
|
4
|
-
"version": "0.5.
|
|
4
|
+
"version": "0.5.1",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
7
7
|
"registry": "https://registry.npmjs.org/"
|