dsh-coding-subscription-oauth 0.5.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.
- package/CHANGELOG.md +136 -0
- package/CONTRIBUTING.md +109 -0
- package/INSTALL.md +220 -0
- package/LICENSE +19 -0
- package/NOTICE +11 -0
- package/README.de.md +254 -0
- package/README.es.md +254 -0
- package/README.fr.md +254 -0
- package/README.ja.md +254 -0
- package/README.ko.md +254 -0
- package/README.md +286 -0
- package/README.pt-BR.md +254 -0
- package/README.ru.md +254 -0
- package/README.zh-CN.md +271 -0
- package/cordis.patch.yml +13 -0
- package/docs/00-project-rules.md +195 -0
- package/docs/02-architecture.md +132 -0
- package/docs/02-architecture.zh-CN.md +128 -0
- package/lib/adapter.d.ts +24 -0
- package/lib/adapter.d.ts.map +1 -0
- package/lib/alias-adapter.d.ts +43 -0
- package/lib/alias-adapter.d.ts.map +1 -0
- package/lib/auth-routes.d.ts +155 -0
- package/lib/auth-routes.d.ts.map +1 -0
- package/lib/auth.d.ts +29 -0
- package/lib/auth.d.ts.map +1 -0
- package/lib/bin.d.ts +6 -0
- package/lib/bin.d.ts.map +1 -0
- package/lib/bin.js +27591 -0
- package/lib/bin.js.map +7 -0
- package/lib/capability-routes.d.ts +43 -0
- package/lib/capability-routes.d.ts.map +1 -0
- package/lib/capability-runtime.d.ts +56 -0
- package/lib/capability-runtime.d.ts.map +1 -0
- package/lib/capability-settings.d.ts +263 -0
- package/lib/capability-settings.d.ts.map +1 -0
- package/lib/capability-tools.d.ts +50 -0
- package/lib/capability-tools.d.ts.map +1 -0
- package/lib/catalog.d.ts +53 -0
- package/lib/catalog.d.ts.map +1 -0
- package/lib/client.js +3 -0
- package/lib/client.js.map +7 -0
- package/lib/codex-http.d.ts +77 -0
- package/lib/codex-http.d.ts.map +1 -0
- package/lib/codex-images.d.ts +109 -0
- package/lib/codex-images.d.ts.map +1 -0
- package/lib/codex-model-capabilities.d.ts +112 -0
- package/lib/codex-model-capabilities.d.ts.map +1 -0
- package/lib/codex-search.d.ts +96 -0
- package/lib/codex-search.d.ts.map +1 -0
- package/lib/codex-usage.d.ts +79 -0
- package/lib/codex-usage.d.ts.map +1 -0
- package/lib/gateway-anthropic-messages.d.ts +8 -0
- package/lib/gateway-anthropic-messages.d.ts.map +1 -0
- package/lib/gateway-auth.d.ts +22 -0
- package/lib/gateway-auth.d.ts.map +1 -0
- package/lib/gateway-backend.d.ts +62 -0
- package/lib/gateway-backend.d.ts.map +1 -0
- package/lib/gateway-body.d.ts +9 -0
- package/lib/gateway-body.d.ts.map +1 -0
- package/lib/gateway-config.d.ts +24 -0
- package/lib/gateway-config.d.ts.map +1 -0
- package/lib/gateway-http.d.ts +16 -0
- package/lib/gateway-http.d.ts.map +1 -0
- package/lib/gateway-openai-chat.d.ts +8 -0
- package/lib/gateway-openai-chat.d.ts.map +1 -0
- package/lib/gateway-openai-responses.d.ts +8 -0
- package/lib/gateway-openai-responses.d.ts.map +1 -0
- package/lib/gateway-parse.d.ts +10 -0
- package/lib/gateway-parse.d.ts.map +1 -0
- package/lib/gateway-protocol.d.ts +47 -0
- package/lib/gateway-protocol.d.ts.map +1 -0
- package/lib/gateway-routes.d.ts +21 -0
- package/lib/gateway-routes.d.ts.map +1 -0
- package/lib/gateway.d.ts +48 -0
- package/lib/gateway.d.ts.map +1 -0
- package/lib/grok-imagine.d.ts +271 -0
- package/lib/grok-imagine.d.ts.map +1 -0
- package/lib/grok-import.d.ts +21 -0
- package/lib/grok-import.d.ts.map +1 -0
- package/lib/http-json.d.ts +10 -0
- package/lib/http-json.d.ts.map +1 -0
- package/lib/ids.d.ts +33 -0
- package/lib/ids.d.ts.map +1 -0
- package/lib/imagine-routes.d.ts +59 -0
- package/lib/imagine-routes.d.ts.map +1 -0
- package/lib/index.d.ts +69 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +35355 -0
- package/lib/index.js.map +7 -0
- package/lib/invariant.d.ts +9 -0
- package/lib/invariant.d.ts.map +1 -0
- package/lib/invariant.js +14 -0
- package/lib/invariant.js.map +7 -0
- package/lib/kimi-errors.d.ts +13 -0
- package/lib/kimi-errors.d.ts.map +1 -0
- package/lib/media-store.d.ts +130 -0
- package/lib/media-store.d.ts.map +1 -0
- package/lib/oauth-import-routes.d.ts +52 -0
- package/lib/oauth-import-routes.d.ts.map +1 -0
- package/lib/oauth-providers.d.ts +26 -0
- package/lib/oauth-providers.d.ts.map +1 -0
- package/lib/oauth-session.d.ts +40 -0
- package/lib/oauth-session.d.ts.map +1 -0
- package/lib/oauth-sources.d.ts +205 -0
- package/lib/oauth-sources.d.ts.map +1 -0
- package/lib/oauth.d.ts +79 -0
- package/lib/oauth.d.ts.map +1 -0
- package/lib/provider.d.ts +38 -0
- package/lib/provider.d.ts.map +1 -0
- package/lib/proxy.d.ts +17 -0
- package/lib/proxy.d.ts.map +1 -0
- package/lib/redact.d.ts +5 -0
- package/lib/redact.d.ts.map +1 -0
- package/lib/session.d.ts +40 -0
- package/lib/session.d.ts.map +1 -0
- package/lib/store.d.ts +46 -0
- package/lib/store.d.ts.map +1 -0
- package/lib/web-origin.d.ts +10 -0
- package/lib/web-origin.d.ts.map +1 -0
- package/lib/web-routes.d.ts +20 -0
- package/lib/web-routes.d.ts.map +1 -0
- package/package.json +185 -0
- package/patches/dsh-agy@0.1.2.patch +25 -0
- package/scripts/release.mjs +166 -0
- package/scripts/smoke-deployed-routes.mjs +146 -0
- package/scripts/verify-deployed-catalog.mjs +87 -0
- package/src/adapter.ts +282 -0
- package/src/alias-adapter.ts +152 -0
- package/src/auth-routes.ts +871 -0
- package/src/auth.ts +67 -0
- package/src/bin.ts +350 -0
- package/src/capability-routes.ts +275 -0
- package/src/capability-runtime.ts +313 -0
- package/src/capability-settings.ts +657 -0
- package/src/capability-tools.ts +666 -0
- package/src/catalog.ts +271 -0
- package/src/client/GrokBuildSettings.tsx +2221 -0
- package/src/client/index.tsx +37 -0
- package/src/client/locales.ts +421 -0
- package/src/codex-http.ts +447 -0
- package/src/codex-images.ts +485 -0
- package/src/codex-model-capabilities.ts +320 -0
- package/src/codex-search.ts +245 -0
- package/src/codex-usage.ts +263 -0
- package/src/gateway-anthropic-messages.ts +84 -0
- package/src/gateway-auth.ts +100 -0
- package/src/gateway-backend.ts +274 -0
- package/src/gateway-body.ts +49 -0
- package/src/gateway-config.ts +76 -0
- package/src/gateway-http.ts +104 -0
- package/src/gateway-openai-chat.ts +124 -0
- package/src/gateway-openai-responses.ts +53 -0
- package/src/gateway-parse.ts +224 -0
- package/src/gateway-protocol.ts +52 -0
- package/src/gateway-routes.ts +152 -0
- package/src/gateway.ts +242 -0
- package/src/grok-imagine.ts +1627 -0
- package/src/grok-import.ts +151 -0
- package/src/http-json.ts +82 -0
- package/src/ids.ts +45 -0
- package/src/imagine-routes.ts +461 -0
- package/src/index.ts +598 -0
- package/src/invariant.ts +17 -0
- package/src/kimi-errors.ts +26 -0
- package/src/media-store.ts +927 -0
- package/src/oauth-import-routes.ts +314 -0
- package/src/oauth-providers.ts +152 -0
- package/src/oauth-session.ts +183 -0
- package/src/oauth-sources.ts +1104 -0
- package/src/oauth.ts +620 -0
- package/src/provider.ts +128 -0
- package/src/proxy.ts +99 -0
- package/src/redact.ts +72 -0
- package/src/session.ts +218 -0
- package/src/store.ts +217 -0
- package/src/web-origin.ts +60 -0
- package/src/web-routes.ts +75 -0
package/README.fr.md
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
|
|
2
|
+
<!-- banner -->
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
# 🔐 dsh-coding-subscription-oauth
|
|
6
|
+
|
|
7
|
+
**v0.5.0** · anciennement `dsh-grok-build`
|
|
8
|
+
|
|
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
|
+
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
[](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
|
+
</div>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Changement de nom
|
|
21
|
+
|
|
22
|
+
Le projet s'appelait **`dsh-grok-build`** (Grok Build uniquement). Il couvre maintenant SuperGrok / Codex / Kimi / Claude / Antigravity.
|
|
23
|
+
|
|
24
|
+
| | Utiliser | Toujours valable |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| GitHub / `dsh plugin add` | [`dsh-coding-subscription-oauth`](https://github.com/lninghaha/dsh-coding-subscription-oauth) | `github:lninghaha/dsh-grok-build` (même `main`) |
|
|
27
|
+
| npm | Pas encore publié ; installer depuis GitHub | Aucun ancien paquet npm n'a été publié |
|
|
28
|
+
| CLI | `dsh-coding-oauth` | `dsh-grok-build` |
|
|
29
|
+
| Cordis plugin id | `llm-grok-build-oauth` | inchangé |
|
|
30
|
+
| API HTTP des réglages | `/plugins/dsh-grok-build/*` | inchangé |
|
|
31
|
+
| Fichiers d'identifiants | `$DSH_HOME/.grok-build-auth.json` et les autres `*-oauth-auth.json` | inchangé |
|
|
32
|
+
|
|
33
|
+
## ✨ Fonctionnalités
|
|
34
|
+
|
|
35
|
+
- 🧾 **Apportez votre abonnement** — utilisez les plans de codage que vous payez déjà au lieu de clés API séparées.
|
|
36
|
+
- 🔑 **OAuth local, sans coller de clé** — autorisez dans la page de configuration ou la CLI ; les tokens n'entrent jamais dans le chat.
|
|
37
|
+
- 🧩 **Un plugin, cinq fournisseurs** — Grok Build, Codex, Kimi, Claude et Google Antigravity.
|
|
38
|
+
- 🛡️ **Sécurisé par conception** — fichiers d'identification propriétaire-seul `0600`, écriture atomique, verrou de fichier inter-processus.
|
|
39
|
+
- ⚙️ **Catalogue dynamique** — le sélecteur de modèles liste exactement les fournisseurs que vous avez authentifiés.
|
|
40
|
+
- 🌐 **Conscient du proxy** — ne proxifie que les domaines d'abonnement examinés et de confiance.
|
|
41
|
+
|
|
42
|
+
## Problèmes d'intégration que ce plugin résout
|
|
43
|
+
|
|
44
|
+
Ce sont les recherches et erreurs DSH qui mènent le plus souvent ici.
|
|
45
|
+
|
|
46
|
+
| Vous avez cherché / vu | Ce qui était cassé | Ce que fait le plugin |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| SuperGrok / X Premium dans DSH, Grok Build vs `api.x.ai` | La route `xai` est l'API à l'usage. L'abonnement coding passe par `cli-chat-proxy.grok.com` | Route `grok-build` + en-têtes d'empreinte CLI (`X-XAI-Token-Auth`, etc.) pour éviter un 403 silencieux |
|
|
49
|
+
| `API key is invalid` / `AUTH` | L'UI mappe **tout** AUTH sur ce texte. Souvent le access token OAuth a juste expiré | Refresh **5 min** avant l'expiry ; sur 401, invalide le jeton et **relance le step** |
|
|
50
|
+
| `INVALID_REPLAY_STATE` au 2ᵉ tour Codex/Kimi | Le replay gardait l'id provider natif de pi-ai | Conserve l'id de route Harness et répare l'ancien replay |
|
|
51
|
+
| grok-4.6 sans **xhigh** | `/v1/models-v2` renvoie déjà `reasoning_efforts` ; cloner le modèle 4.5 cache xhigh | Lit les efforts en direct. 4.6 a xhigh ; 4.5 reste low/medium/high |
|
|
52
|
+
| Kimi Code en `x-api-key` Anthropic | Le jeton OAuth partait comme clé Anthropic | Uniquement `Authorization: Bearer` |
|
|
53
|
+
| Des modèles non connectés restent dans le sélecteur | Toutes les routes enregistrées étaient listées | Les routes non authentifiées sont vides ; les noms connectés portent `(OAuth)` |
|
|
54
|
+
| PKCE sur un DSH distant / headless | Impossible de revenir sur `localhost` | Device-code pour Grok/Codex/Kimi ; Claude accepte l'URL de redirect collée |
|
|
55
|
+
| Le proxy passe Grok et casse Kimi en Chine | Un `HTTPS_PROXY` global | Proxy sur liste blanche ; Kimi reste **direct** sauf `proxyKimi: true` |
|
|
56
|
+
|
|
57
|
+
## Fournisseurs pris en charge
|
|
58
|
+
|
|
59
|
+
| Fournisseur | Route | Authentification | Coexiste avec |
|
|
60
|
+
|---|---|---|---|
|
|
61
|
+
| **xAI Grok Build** | `grok-build` | SuperGrok / X Premium OAuth | `xai` |
|
|
62
|
+
| **OpenAI Codex** | `codex-oauth` | ChatGPT Plus/Pro OAuth | `openai` |
|
|
63
|
+
| **Kimi Code** | `kimi-code-oauth` | Kimi Code OAuth | `kimi-coding` |
|
|
64
|
+
| **Claude Code** | `claude-code-oauth` | Claude Pro/Max OAuth | — |
|
|
65
|
+
| **Google Antigravity** | `agy` | `dsh-agy` Google OAuth | — |
|
|
66
|
+
|
|
67
|
+
> La connexion par dispositif de Grok Build, le catalogue dynamique `/v1/models-v2` et l'inférence en streaming via Responses sont vérifiés sur des déploiements réels. Codex/Kimi/Claude réutilisent l'OAuth/refresh natif du fournisseur de `@earendil-works/pi-ai` plutôt que de réimplémenter les flux de chaque vendeur.
|
|
68
|
+
|
|
69
|
+
## 🚀 Démarrage rapide
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# 1. installez le plugin dans le profil web
|
|
73
|
+
dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
|
|
74
|
+
|
|
75
|
+
# 2. optionnel — Google Antigravity (version épinglée examinée)
|
|
76
|
+
dsh plugin --profile web add dsh-agy@0.1.2
|
|
77
|
+
|
|
78
|
+
# 3. redémarrez le service dsh web résident
|
|
79
|
+
systemctl --user restart dsh-web.service
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Ensuite ouvrez **Settings → Coding OAuth** et connectez-vous à n'importe quel fournisseur. C'est tout — choisissez votre modèle authentifié dans le sélecteur.
|
|
83
|
+
|
|
84
|
+
## 📚 Sommaire
|
|
85
|
+
|
|
86
|
+
- [Changement de nom](#changement-de-nom)
|
|
87
|
+
- [Problèmes d'intégration que ce plugin résout](#problèmes-dintégration-que-ce-plugin-résout)
|
|
88
|
+
- [Installation](#installation)
|
|
89
|
+
- [Page de configuration](#page-de-configuration)
|
|
90
|
+
- [CLI](#cli)
|
|
91
|
+
- [Kimi en Chine](#kimi-en-chine)
|
|
92
|
+
- [Proxy réseau](#proxy-réseau)
|
|
93
|
+
- [Résilience](#résilience)
|
|
94
|
+
- [Identifiants](#identifiants)
|
|
95
|
+
- [Architecture](#architecture)
|
|
96
|
+
- [Notes techniques](#notes-techniques)
|
|
97
|
+
- [Conformité](#conformité)
|
|
98
|
+
- [Documentation](#documentation)
|
|
99
|
+
- [Contribution](#contribution)
|
|
100
|
+
- [Licence](#licence)
|
|
101
|
+
|
|
102
|
+
## Installation
|
|
103
|
+
|
|
104
|
+
Nécessite DeepSeek Harness `0.1.0-rc.6+` et Node.js 22.19+. Détails complets dans les [notes d'installation](INSTALL.md).
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# depuis GitHub
|
|
108
|
+
dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
|
|
109
|
+
|
|
110
|
+
# ou un checkout local de développement
|
|
111
|
+
dsh plugin --profile web add ./dsh-coding-subscription-oauth
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Redémarrez `dsh web` après l'installation. Vérification sur un déploiement en direct :
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
pnpm run verify:deployed # vérifie /api/llm.models réel + état OAuth
|
|
118
|
+
DSH_EXPECT_AGY_AUTH=signed-in pnpm run verify:deployed # si Google est connecté
|
|
119
|
+
|
|
120
|
+
DSH_RESTORE_PROVIDER=openai \
|
|
121
|
+
DSH_RESTORE_MODEL=gpt-5.6-sol \
|
|
122
|
+
DSH_RESTORE_REASONING=max \
|
|
123
|
+
pnpm run smoke:deployed # appels réels Codex/Kimi + rejeu du second tour
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
> `smoke:deployed` crée une session temporaire, valide les appels d'outils de Codex et Kimi ainsi qu'un second tour utilisateur (régression `INVALID_REPLAY_STATE`), restaure le modèle par défaut déclaré, puis archive la session.
|
|
127
|
+
|
|
128
|
+
## Page de configuration
|
|
129
|
+
|
|
130
|
+
Ouvrez **Settings → Coding OAuth** :
|
|
131
|
+
|
|
132
|
+
| Fournisseur | Méthodes |
|
|
133
|
+
|---|---|
|
|
134
|
+
| Grok | code d'autorisation · code de dispositif · importation CLI Grok · sélection de modèles |
|
|
135
|
+
| Codex | code de dispositif (recommandé sur DSH distant) · PKCE navigateur |
|
|
136
|
+
| Kimi | code de dispositif |
|
|
137
|
+
| Claude | PKCE navigateur (un navigateur distant peut coller l'URL complète de redirect localhost) |
|
|
138
|
+
| Antigravity | état d'installation de `dsh-agy` + commandes CLI locales au profil |
|
|
139
|
+
|
|
140
|
+
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
|
+
|
|
142
|
+
## Capacités optionnelles
|
|
143
|
+
|
|
144
|
+
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
|
+
|
|
146
|
+
## CLI
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# `dsh-grok-build` reste un alias de commande
|
|
150
|
+
dsh-coding-oauth login [--pkce] | import | status | logout
|
|
151
|
+
|
|
152
|
+
# fournisseurs plus récents
|
|
153
|
+
dsh-coding-oauth login codex --device-auth | codex --browser | kimi | claude
|
|
154
|
+
dsh-coding-oauth status all
|
|
155
|
+
dsh-coding-oauth logout codex
|
|
156
|
+
|
|
157
|
+
# Antigravity (installez d'abord dans le profil web)
|
|
158
|
+
dsh plugin --profile web exec dsh-agy login --headless
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
> La CLI de `dsh-agy` modifie le pool de comptes en dehors du processus DSH, elle ne peut donc pas émettre d'événement de catalogue dans le processus — fermez et rouvrez le sélecteur de modèles après connexion/déconnexion.
|
|
162
|
+
|
|
163
|
+
## Kimi en Chine
|
|
164
|
+
|
|
165
|
+
L'OAuth de l'abonnement Kimi Code utilise `https://auth.kimi.com` ; l'inférence utilise `https://api.kimi.com/coding`. `https://api.moonshot.cn/v1` est le canal de clé API à l'utilisation du **Moonshot Open Platform** — il n'existe aucun « endpoint OAuth Chine » commutable. Ce plugin utilise une route séparée `kimi-code-oauth` et n'affecte pas une configuration `kimi-coding` par clé API existante.
|
|
166
|
+
|
|
167
|
+
## Proxy réseau
|
|
168
|
+
|
|
169
|
+
Priorité : `config.proxy` → `CODING_OAUTH_PROXY` → `GROK_BUILD_PROXY` → `HTTPS_PROXY`/`HTTP_PROXY`.
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
- id: llm-grok-build-oauth
|
|
173
|
+
config:
|
|
174
|
+
proxy: http://127.0.0.1:7890
|
|
175
|
+
proxyKimi: false
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
Seuls les domaines d'abonnement examinés sont proxifiés (xAI/Grok, OpenAI Codex, Claude/Anthropic, Google Antigravity) ; tout le reste du trafic DSH garde son répartiteur d'origine. Kimi reste direct par défaut et n'utilise le proxy que lorsque `proxyKimi: true`.
|
|
179
|
+
|
|
180
|
+
## Résilience
|
|
181
|
+
|
|
182
|
+
Les jetons d'accès OAuth sont renouvelés **cinq minutes** avant l'expiration enregistrée (pi-ai 0.84+). Si l'amont refuse encore un jeton localement valide avec 401/403, le plugin recule le `expires` stocké et l'étape relancée rafraîchit le jeton avant de renvoyer.
|
|
183
|
+
|
|
184
|
+
Les nouvelles tentatives suivent la politique du harness : les pannes transitoires (`RATE_LIMIT`/`SERVER`/`TIMEOUT`/`TRANSPORT`/`EMPTY_RESPONSE`) **et `AUTH`** sont relancées avec un backoff exponentiel (2 essais, 500 ms → 10 s, jitter 10 %). L'épuisement de quota et un refresh token mort **ne** sont **pas** relancés. Surcharge par déploiement :
|
|
185
|
+
|
|
186
|
+
```yaml
|
|
187
|
+
- id: llm-grok-build-oauth
|
|
188
|
+
config:
|
|
189
|
+
retryPolicy:
|
|
190
|
+
mode: normal
|
|
191
|
+
maxRetries: 2
|
|
192
|
+
retryableCodes: [EMPTY_RESPONSE, RATE_LIMIT, SERVER, TIMEOUT, TRANSPORT, AUTH]
|
|
193
|
+
backoff: { initialDelayMs: 500, maxDelayMs: 10000, jitterRatio: 0.1 }
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## Identifiants
|
|
197
|
+
|
|
198
|
+
Propriétaire-seul `0600`, écriture atomique, verrou de fichier inter-processus :
|
|
199
|
+
|
|
200
|
+
- `$DSH_HOME/.grok-build-auth.json`
|
|
201
|
+
- `$DSH_HOME/.codex-oauth-auth.json`
|
|
202
|
+
- `$DSH_HOME/.kimi-code-oauth-auth.json`
|
|
203
|
+
- `$DSH_HOME/.claude-code-oauth-auth.json`
|
|
204
|
+
|
|
205
|
+
Les caches de sélection vivent dans les fichiers `*-models.json` correspondants. **Aucun statut HTTP, log ou interface ne peut renvoyer un token.**
|
|
206
|
+
|
|
207
|
+
## Architecture
|
|
208
|
+
|
|
209
|
+
```mermaid
|
|
210
|
+
flowchart LR
|
|
211
|
+
subgraph DSH["DSH Harness"]
|
|
212
|
+
UI[Configuration / Web · Coding OAuth] --> LLM[llm route]
|
|
213
|
+
LLM --> ALIA[Adaptateur d'alias de route]
|
|
214
|
+
end
|
|
215
|
+
ALIA --> PI[fournisseur natif pi-ai<br/>OAuth · refresh · stream]
|
|
216
|
+
PI --> GROK[Grok Build]
|
|
217
|
+
PI --> COD[Codex]
|
|
218
|
+
PI --> KIMI[Kimi]
|
|
219
|
+
PI --> CLAU[Claude]
|
|
220
|
+
AGY[plugin dsh-agy] --> GAL[Google Antigravity]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## Notes techniques
|
|
224
|
+
|
|
225
|
+
- **Grok Build** : fournisseur Responses personnalisé sur `cli-chat-proxy.grok.com/v1`, en-têtes d'empreinte CLI, catalogue de modèles dynamique.
|
|
226
|
+
- **Codex/Kimi/Claude** : les fournisseurs natifs pi-ai gèrent OAuth et refresh ; l'adaptateur d'alias de route les mappe aux ids natifs tandis que l'identité du modèle reste inchangée.
|
|
227
|
+
- Le token d'accès Kimi est explicitement converti en `Authorization: Bearer` — jamais envoyé par erreur comme `x-api-key` d'Anthropic.
|
|
228
|
+
- Google Antigravity n'est **pas** rétro-ingénieré ici ; il utilise un plugin DSH dédié épinglé en version.
|
|
229
|
+
|
|
230
|
+
## Conformité
|
|
231
|
+
|
|
232
|
+
Utiliser des abonnements de codage via un harness tiers peut se situer dans une zone grise des conditions de chaque vendeur et peut déclencher des contrôles de quota, régionaux ou de risque de compte. **N'utilisez que vos propres comptes** ; ce projet ne prend pas en charge les comptes en masse, la revente de quota, le relais distant, le contournement de paywall ou l'usurpation de client. Pour un usage commercial, préférez les canaux officiels de clé API des vendeurs.
|
|
233
|
+
|
|
234
|
+
## Documentation
|
|
235
|
+
|
|
236
|
+
| Document | Objectif |
|
|
237
|
+
|---|---|
|
|
238
|
+
| [`INSTALL.md`](INSTALL.md) | Détails d'installation et d'utilisation |
|
|
239
|
+
| [`CHANGELOG.md`](CHANGELOG.md) | Historique des versions |
|
|
240
|
+
| [`docs/00-project-rules.md`](docs/00-project-rules.md) | Versioning, boucle de release, répartition public/privé |
|
|
241
|
+
| [`docs/02-architecture.md`](docs/02-architecture.md) | Architecture interne (routes, flux de données, modules, API) · [中文](docs/02-architecture.zh-CN.md) |
|
|
242
|
+
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | Guide de contribution |
|
|
243
|
+
|
|
244
|
+
## Lié
|
|
245
|
+
|
|
246
|
+
- [`dsh-agy`](https://www.npmjs.com/package/dsh-agy) — plugin séparé épinglé pour Google Antigravity.
|
|
247
|
+
|
|
248
|
+
## Contribution
|
|
249
|
+
|
|
250
|
+
Les contributions de toute nature sont bienvenues — fonctionnalités, documentation, traductions, rapports de bugs. Voir **[CONTRIBUTING](CONTRIBUTING.md)** pour le flux, les conventions de commit et la boucle de release. Si votre langue n'est pas listée, envoyez un PR avec une traduction du README et nous l'ajouterons au tableau ci-dessus.
|
|
251
|
+
|
|
252
|
+
## Licence
|
|
253
|
+
|
|
254
|
+
[Apache-2.0](LICENSE) · voir [NOTICE](NOTICE). Des portions sont dérivées du projet [dsh-xai](https://github.com/MirDie/dsh-xai) (Apache-2.0).
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
|
|
2
|
+
<!-- banner -->
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
# 🔐 dsh-coding-subscription-oauth
|
|
6
|
+
|
|
7
|
+
**v0.5.0** · 旧名 `dsh-grok-build`
|
|
8
|
+
|
|
9
|
+
**DeepSeek Harness(dsh)のためのコーディングサブスクリプション OAuth プラグイン。** 支払い済みのサブスクリプションで一度きりのサインイン——その後は dsh の設定ページまたは CLI からそのモデルを使えます。**チャットにトークンを貼り付ける必要はありません。**
|
|
10
|
+
|
|
11
|
+
[](LICENSE)
|
|
12
|
+
[](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
|
+
</div>
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 名称変更
|
|
21
|
+
|
|
22
|
+
当初は Grok Build 専用で **`dsh-grok-build`** でした。現在は SuperGrok / Codex / Kimi / Claude / Antigravity のコーディングサブスク OAuth です。
|
|
23
|
+
|
|
24
|
+
| | これを使う | 互換 |
|
|
25
|
+
|---|---|---|
|
|
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 | 未公開。GitHub からインストール | 旧 npm パッケージは公開されていない |
|
|
28
|
+
| CLI | `dsh-coding-oauth` | `dsh-grok-build` |
|
|
29
|
+
| Cordis プラグイン id | `llm-grok-build-oauth` | 変更なし |
|
|
30
|
+
| 設定ページ HTTP API | `/plugins/dsh-grok-build/*` | 変更なし |
|
|
31
|
+
| 認証ファイル | `$DSH_HOME/.grok-build-auth.json` および他の `*-oauth-auth.json` | 変更なし |
|
|
32
|
+
|
|
33
|
+
## ✨ 特徴
|
|
34
|
+
|
|
35
|
+
- 🧾 **マイサブスクリプションをそのまま使用** — 別途 API key を用意せず、支払い済みのコーディングプランを使えます。
|
|
36
|
+
- 🔑 **ローカル OAuth、キーの貼り付け不要** — 設定ページまたは CLI で認証します。トークンがチャットに入ることはありません。
|
|
37
|
+
- 🧩 **1 つのプラグインで 5 つのプロバイダー** — Grok Build、Codex、Kimi、Claude、Google Antigravity。
|
|
38
|
+
- 🛡️ **セキュリティ設計** — 認証情報ファイルはオーナー専用 `0600`、アトミック書き込み、クロスプロセスファイルロック。
|
|
39
|
+
- ⚙️ **動的カタログ** — モデルセレクターには認証済みプロバイダーのみが表示されます。
|
|
40
|
+
- 🌐 **プロキシ対応** — レビュー済みの信頼できるサブスクリプションドメインのみをプロキシします。
|
|
41
|
+
|
|
42
|
+
## このプラグインが解く接続の問題
|
|
43
|
+
|
|
44
|
+
DSH にコーディングサブスクを載せるとき、よく次の検索語やエラーでここに来ます。
|
|
45
|
+
|
|
46
|
+
| 検索 / 画面 | 実際の原因 | このプラグイン |
|
|
47
|
+
|---|---|---|
|
|
48
|
+
| 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 を避ける |
|
|
49
|
+
| `API key is invalid` / `AUTH` | GUI は全ての AUTH をその文言にする。多くは短い OAuth access token の期限切れ | 期限の **5 分前**に refresh。401 なら保存トークンを無効化し step を再試行 |
|
|
50
|
+
| 2 ターン目の Codex/Kimi で `INVALID_REPLAY_STATE` | replay が pi-ai のネイティブ provider id のまま | Harness route id を維持し、古い汚染 replay を修復 |
|
|
51
|
+
| grok-4.6 に **xhigh** が出ない | `/v1/models-v2` の `reasoning_efforts` を捨て、4.5 テンプレを複製 | live efforts を `thinkingLevelMap` に反映。4.6 は xhigh、4.5 は low/medium/high |
|
|
52
|
+
| Kimi Code が Anthropic `x-api-key` になる | OAuth token を Anthropic キーとして送信 | `Authorization: Bearer` のみ |
|
|
53
|
+
| 未ログインのモデルがセレクターに残る | 全ルートを列挙 | 未認証は空リスト。認証済みは `(OAuth)` |
|
|
54
|
+
| リモート / ヘッドレスで PKCE できない | localhost に戻れない | Grok/Codex/Kimi はデバイスコード。Claude は redirect URL を貼り付け可 |
|
|
55
|
+
| プロキシで Grok は通るが中国の Kimi が落ちる | グローバル `HTTPS_PROXY` | 許可ドメインのみ。Kimi は既定で直結(`proxyKimi: true` でプロキシ) |
|
|
56
|
+
|
|
57
|
+
## 対応プロバイダー
|
|
58
|
+
|
|
59
|
+
| プロバイダー | ルート | 認証 | 既存の API-key ルートとの共存 |
|
|
60
|
+
|---|---|---|---|
|
|
61
|
+
| **xAI Grok Build** | `grok-build` | SuperGrok / X Premium OAuth | `xai` |
|
|
62
|
+
| **OpenAI Codex** | `codex-oauth` | ChatGPT Plus/Pro OAuth | `openai` |
|
|
63
|
+
| **Kimi Code** | `kimi-code-oauth` | Kimi Code OAuth | `kimi-coding` |
|
|
64
|
+
| **Claude Code** | `claude-code-oauth` | Claude Pro/Max OAuth | — |
|
|
65
|
+
| **Google Antigravity** | `agy` | `dsh-agy` Google OAuth | — |
|
|
66
|
+
|
|
67
|
+
> Grok Build のデバイスログイン、動的 `/v1/models-v2` カタログ、Responses ストリーミング推論は実運用環境で検証済みです。Codex/Kimi/Claude は `@earendil-works/pi-ai` のネイティブ OAuth/リフレッシュを再利用し、ベンダーフローを再実装しません。
|
|
68
|
+
|
|
69
|
+
## 🚀 クイックスタート
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# 1. web プロファイルにプラグインをインストール
|
|
73
|
+
dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
|
|
74
|
+
|
|
75
|
+
# 2. 任意 — Google Antigravity(レビュー済みの固定バージョン)
|
|
76
|
+
dsh plugin --profile web add dsh-agy@0.1.2
|
|
77
|
+
|
|
78
|
+
# 3. 常駐している dsh web サービスを再起動
|
|
79
|
+
systemctl --user restart dsh-web.service
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
次に **Settings → Coding OAuth** を開いて任意のプロバイダーにサインインします。これで完了です——セレクターから認証済みモデルを選べます。
|
|
83
|
+
|
|
84
|
+
## 📚 目次
|
|
85
|
+
|
|
86
|
+
- [名称変更](#名称変更)
|
|
87
|
+
- [このプラグインが解く接続の問題](#このプラグインが解く接続の問題)
|
|
88
|
+
- [インストール](#インストール)
|
|
89
|
+
- [設定ページ](#設定ページ)
|
|
90
|
+
- [CLI](#cli)
|
|
91
|
+
- [中国での Kimi](#中国での-kimi)
|
|
92
|
+
- [ネットワークプロキシ](#ネットワークプロキシ)
|
|
93
|
+
- [耐障害性](#耐障害性)
|
|
94
|
+
- [認証情報](#認証情報)
|
|
95
|
+
- [アーキテクチャ](#アーキテクチャ)
|
|
96
|
+
- [技術的な補足](#技術的な補足)
|
|
97
|
+
- [コンプライアンス](#コンプライアンス)
|
|
98
|
+
- [ドキュメント](#ドキュメント)
|
|
99
|
+
- [コントリビュート](#コントリビュート)
|
|
100
|
+
- [ライセンス](#ライセンス)
|
|
101
|
+
|
|
102
|
+
## インストール
|
|
103
|
+
|
|
104
|
+
DeepSeek Harness `0.1.0-rc.6+` と Node.js 22.19+ が前提です。詳細は[インストールノート](INSTALL.md)をご覧ください。
|
|
105
|
+
|
|
106
|
+
```bash
|
|
107
|
+
# GitHub から
|
|
108
|
+
dsh plugin --profile web add github:lninghaha/dsh-coding-subscription-oauth
|
|
109
|
+
|
|
110
|
+
# またはローカルの開発ディレクトリから
|
|
111
|
+
dsh plugin --profile web add ./dsh-coding-subscription-oauth
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
インストール後に `dsh web` を再起動します。実運用デプロイに対する検証:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
pnpm run verify:deployed # 実 /api/llm.models + OAuth 状態の確認
|
|
118
|
+
DSH_EXPECT_AGY_AUTH=signed-in pnpm run verify:deployed # Google にサインイン済みの場合
|
|
119
|
+
|
|
120
|
+
DSH_RESTORE_PROVIDER=openai \
|
|
121
|
+
DSH_RESTORE_MODEL=gpt-5.6-sol \
|
|
122
|
+
DSH_RESTORE_REASONING=max \
|
|
123
|
+
pnpm run smoke:deployed # 実際の Codex/Kimi ツール呼び出し + 2 回目の turn 再生
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
> `smoke:deployed` は一時セッションを作成し、Codex と Kimi のツール呼び出しに加えて 2 回目のユーザー turn(`INVALID_REPLAY_STATE` 回帰)を検証し、宣言したデフォルトモデルを復元してからセッションをアーカイブします。
|
|
127
|
+
|
|
128
|
+
## 設定ページ
|
|
129
|
+
|
|
130
|
+
**Settings → Coding OAuth** を開きます:
|
|
131
|
+
|
|
132
|
+
| プロバイダー | 方法 |
|
|
133
|
+
|---|---|
|
|
134
|
+
| Grok | 認証コード · デバイスコード · Grok CLI import · モデル選択 |
|
|
135
|
+
| Codex | デバイスコード(リモート DSH 推奨)· ブラウザ PKCE |
|
|
136
|
+
| Kimi | デバイスコード |
|
|
137
|
+
| Claude | ブラウザ PKCE(リモートブラウザは完全な localhost redirect URL を貼り付け可能) |
|
|
138
|
+
| Antigravity | `dsh-agy` インストール状態 + profile-local CLI コマンド |
|
|
139
|
+
|
|
140
|
+
セレクターは認証を完了したルートのみを一覧表示します。未認証プロバイダーは空リストを返します。プロバイダー名は `(OAuth)` を伴い、サインイン/アウト後に `llm/adapters-updated` でカタログが更新されます。
|
|
141
|
+
|
|
142
|
+
## オプション機能
|
|
143
|
+
|
|
144
|
+
7 つのスイッチ `codexSearch`、`codexImages`、`codexImageEdits`、`codexUsage`、`codexFast`、`grokImagineImage`、`grokImagineVideo` はすべて既定でオフで、変更は再起動なしで反映されます。数値設定は `searchResults`(1–20、既定 5)、`imageCount`(1–4、既定 1)、`videoArtifactTtlMs`(1 時間–7 日、既定 7 日、UI は 1–168 時間)です。保持期間を短くすると既存の成果物も直ちに短縮・削除され、長くした場合は以後の成果物にのみ適用されます。
|
|
145
|
+
|
|
146
|
+
## CLI
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# `dsh-grok-build` は同じ CLI の別名
|
|
150
|
+
dsh-coding-oauth login [--pkce] | import | status | logout
|
|
151
|
+
|
|
152
|
+
# 新しいプロバイダー
|
|
153
|
+
dsh-coding-oauth login codex --device-auth | codex --browser | kimi | claude
|
|
154
|
+
dsh-coding-oauth status all
|
|
155
|
+
dsh-coding-oauth logout codex
|
|
156
|
+
|
|
157
|
+
# Antigravity(事前に web プロファイルへインストール)
|
|
158
|
+
dsh plugin --profile web exec dsh-agy login --headless
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
> `dsh-agy` CLI は DSH プロセスの外でアカウントプールを変更するため、プロセス内カタログイベントを発行できません——サインイン/アウト後はモデルセレクターを閉じて開き直してください。
|
|
162
|
+
|
|
163
|
+
## 中国での Kimi
|
|
164
|
+
|
|
165
|
+
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 設定には影響しません。
|
|
166
|
+
|
|
167
|
+
## ネットワークプロキシ
|
|
168
|
+
|
|
169
|
+
優先順位: `config.proxy` → `CODING_OAUTH_PROXY` → `GROK_BUILD_PROXY` → `HTTPS_PROXY`/`HTTP_PROXY`。
|
|
170
|
+
|
|
171
|
+
```yaml
|
|
172
|
+
- id: llm-grok-build-oauth
|
|
173
|
+
config:
|
|
174
|
+
proxy: http://127.0.0.1:7890
|
|
175
|
+
proxyKimi: false
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
レビュー済みのサブスクリプションドメインのみがプロキシされます(xAI/Grok、OpenAI Codex、Claude/Anthropic、Google Antigravity)。それ以外の DSH トラフィックは元のディスパッチャを維持します。Kimi は既定でダイレクト接続で、`proxyKimi: true` の場合のみプロキシを使用します。
|
|
179
|
+
|
|
180
|
+
## 耐障害性
|
|
181
|
+
|
|
182
|
+
OAuth アクセストークンは記録された有効期限の **5 分前**に先行リフレッシュされます(pi-ai 0.84+)。上流がまだローカルでは有効なトークンを 401/403 で拒否した場合、プラグインは保存済み `expires` を過去に戻し、再試行ステップが先にリフレッシュしてから再送します。
|
|
183
|
+
|
|
184
|
+
リクエスト再試行は harness の retry ポリシーです。一時障害(`RATE_LIMIT`/`SERVER`/`TIMEOUT`/`TRANSPORT`/`EMPTY_RESPONSE`)**および `AUTH`** は指数バックオフで再試行します(既定 2 回、500 ms → 10 s、10% jitter)。クォータ枯渇と無効な refresh token は再試行しません。上書き例:
|
|
185
|
+
|
|
186
|
+
```yaml
|
|
187
|
+
- id: llm-grok-build-oauth
|
|
188
|
+
config:
|
|
189
|
+
retryPolicy:
|
|
190
|
+
mode: normal
|
|
191
|
+
maxRetries: 2
|
|
192
|
+
retryableCodes: [EMPTY_RESPONSE, RATE_LIMIT, SERVER, TIMEOUT, TRANSPORT, AUTH]
|
|
193
|
+
backoff: { initialDelayMs: 500, maxDelayMs: 10000, jitterRatio: 0.1 }
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
## 認証情報
|
|
197
|
+
|
|
198
|
+
オーナー専用 `0600`、アトミック書き込み、クロスプロセスファイルロック:
|
|
199
|
+
|
|
200
|
+
- `$DSH_HOME/.grok-build-auth.json`
|
|
201
|
+
- `$DSH_HOME/.codex-oauth-auth.json`
|
|
202
|
+
- `$DSH_HOME/.kimi-code-oauth-auth.json`
|
|
203
|
+
- `$DSH_HOME/.claude-code-oauth-auth.json`
|
|
204
|
+
|
|
205
|
+
選択キャッシュは対応する `*-models.json` ファイルに保存されます。**HTTP ステータス、ログ、UI がトークンを返すことは決してありません。**
|
|
206
|
+
|
|
207
|
+
## アーキテクチャ
|
|
208
|
+
|
|
209
|
+
```mermaid
|
|
210
|
+
flowchart LR
|
|
211
|
+
subgraph DSH["DSH Harness"]
|
|
212
|
+
UI[設定 / Web · Coding OAuth] --> LLM[llm route]
|
|
213
|
+
LLM --> ALIA[ルートエイリアスアダプタ]
|
|
214
|
+
end
|
|
215
|
+
ALIA --> PI[pi-ai ネイティブプロバイダー<br/>OAuth · リフレッシュ · ストリーム]
|
|
216
|
+
PI --> GROK[Grok Build]
|
|
217
|
+
PI --> COD[Codex]
|
|
218
|
+
PI --> KIMI[Kimi]
|
|
219
|
+
PI --> CLAU[Claude]
|
|
220
|
+
AGY[dsh-agy プラグイン] --> GAL[Google Antigravity]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## 技術的な補足
|
|
224
|
+
|
|
225
|
+
- **Grok Build**: `cli-chat-proxy.grok.com/v1` 上のカスタム Responses プロバイダー、CLI フィンガープリントヘッダー、動的モデルカタログ。
|
|
226
|
+
- **Codex/Kimi/Claude**: pi-ai ネイティブプロバイダーが OAuth とリフレッシュを処理。ルートエイリアスアダプタがネイティブ id にマッピングし、モデル ID は変わりません。
|
|
227
|
+
- Kimi access token は明示的に `Authorization: Bearer` に変換——Anthropic の `x-api-key` として誤送信されることはありません。
|
|
228
|
+
- Google Antigravity はここではリバースエンジニアリング**しません**。バージョン固定の専用 DSH プラグインを使用します。
|
|
229
|
+
|
|
230
|
+
## コンプライアンス
|
|
231
|
+
|
|
232
|
+
サードパーティの harness を通じてコーディングサブスクリプションを使用すると、各ベンダーの利用規約のグレーゾーンに入り、クォータ、リージョン、アカウントリスク制御を引き起こす可能性があります。**ご自身のアカウントのみをご使用ください**。本プロジェクトはバルクアカウント、クォータ転売、リモートリレー、ペイウォール回避、クライアントのなりすましを一切サポートしません。商用利用ではベンダーの公式 API-key チャネルを推奨します。
|
|
233
|
+
|
|
234
|
+
## ドキュメント
|
|
235
|
+
|
|
236
|
+
| ドキュメント | 目的 |
|
|
237
|
+
|---|---|
|
|
238
|
+
| [`INSTALL.md`](INSTALL.md) | インストール・利用の詳細 |
|
|
239
|
+
| [`CHANGELOG.md`](CHANGELOG.md) | リリース履歴 |
|
|
240
|
+
| [`docs/00-project-rules.md`](docs/00-project-rules.md) | バージョニング、リリースループ、公開/ローカルの分割 |
|
|
241
|
+
| [`docs/02-architecture.md`](docs/02-architecture.md) | 内部アーキテクチャ(ルート・データフロー・モジュール・API)· [中文](docs/02-architecture.zh-CN.md) |
|
|
242
|
+
| [`CONTRIBUTING.md`](CONTRIBUTING.md) | コントリビューションガイド |
|
|
243
|
+
|
|
244
|
+
## 関連プロジェクト
|
|
245
|
+
|
|
246
|
+
- [`dsh-agy`](https://www.npmjs.com/package/dsh-agy) — Google Antigravity 用の独立した固定バージョンのプラグイン。
|
|
247
|
+
|
|
248
|
+
## コントリビュート
|
|
249
|
+
|
|
250
|
+
機能、ドキュメント、翻訳、バグ報告など、あらゆるコントリビュートを歓迎します。手順、コミット規約、リリースループについては **[CONTRIBUTING](CONTRIBUTING.md)** をご覧ください。記載のない言語を追加したい場合は、README の翻訳を PR で送ってください。上の言語テーブルに追加します。
|
|
251
|
+
|
|
252
|
+
## ライセンス
|
|
253
|
+
|
|
254
|
+
[Apache-2.0](LICENSE) · [NOTICE](NOTICE) を参照。一部は [dsh-xai](https://github.com/MirDie/dsh-xai) プロジェクト(Apache-2.0)から派生しています。
|