@operatingtag/dsh-unclesam 1.0.0 → 1.0.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/README.fr.md ADDED
@@ -0,0 +1,272 @@
1
+ [English](README.md) · [Español](README.es.md) · **Français** · [Deutsch](README.de.md) · [Português](README.pt.md) · [Italiano](README.it.md) · [Türkçe](README.tr.md) · [한국어](README.ko.md) · [日本語](README.ja.md) · [简体中文](README.zh.md) · [Русский](README.ru.md) · [Polski](README.pl.md) · [हिन्दी](README.hi.md) · [Nederlands](README.nl.md) · [Українська](README.uk.md) · [Tiếng Việt](README.vi.md) · [Bahasa Indonesia](README.id.md)
2
+
3
+ # Uncle Sam
4
+
5
+ **Un fournisseur pour DeepSeek Harness qui répond à travers votre propre navigateur, sur le compte web que vous avez déjà, au lieu de l'API facturée.**
6
+
7
+ **☕ [Offrez-moi un café](https://revolut.me/operatingtag)** — écrit par une seule personne, la nuit, sans financement. Il n'y a pas d'autre modèle économique. Une étoile ou un rapport de bug vaut tout autant.
8
+
9
+ > **Ce produit est en développement actif. Attendez-vous à des bugs.**
10
+ >
11
+ > Il fonctionne, il est rapide, et il est utilisé tous les jours depuis des semaines — mais il change sans
12
+ > cesse, et la route navigateur dépend d'un site web qui change sans prévenir. Si quelque chose casse, une
13
+ > capture d'écran et le numéro de version valent mieux qu'une description. Épinglez une version si vous en
14
+ > dépendez.
15
+
16
+ ```
17
+ fournisseur deepseek-web
18
+ modèles deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
19
+ coût rien par token — il utilise l'abonnement déjà ouvert dans votre navigateur
20
+ état en développement — attendez-vous à des bugs
21
+ mesuré premier token ~1,9 s · surcoût ~0,6 s · un tour complet en ~2,5 s
22
+ ```
23
+
24
+ Les réponses de la route web sont signées **🔴 Uncle Sam**. Ce nom est une plaisanterie, pas une revendication :
25
+ il indique quelle route a répondu, et les réponses de l'API ne portent aucune signature. Vous savez toujours
26
+ laquelle des deux vous a répondu.
27
+
28
+ ---
29
+
30
+ ## Ce que cela vous économise
31
+
32
+ L'API facture au token. Le produit web ne facture pas. Ce plugin enregistre `deepseek-web` comme fournisseur de
33
+ modèles et répond à chaque appel en pilotant `chat.deepseek.com` dans un vrai navigateur — la page fait le
34
+ travail, le navigateur garde la session, et rien n'est mesuré.
35
+
36
+ | | Route API | Route web |
37
+ |---|---|---|
38
+ | Coût | au token, indéfiniment | rien au-delà de l'abonnement |
39
+ | Vitesse | rapide | ~2,5 s par tour, mesuré |
40
+ | Appel d'outils | natif et fiable | émulé, fonctionne mais plus fragile |
41
+ | Dépend de | l'API | un site web qui change sans prévenir |
42
+
43
+ **Les deux routes restent installées.** Le sélecteur de modèle est l'interrupteur : vous pouvez utiliser la
44
+ route bon marché par défaut et recourir à l'API quand une tâche exige des outils fiables.
45
+
46
+ ---
47
+
48
+ ## Installation
49
+
50
+ Uncle Sam est un **plugin DeepSeek Harness**. Il ne fait rien en dehors du harness, car il enregistre un
51
+ fournisseur de modèles, une route côté hôte et deux emplacements d'interface.
52
+
53
+ **Prérequis**
54
+
55
+ | | |
56
+ |---|---|
57
+ | DeepSeek Harness | toute version récente avec le gestionnaire de plugins |
58
+ | Navigateur | Brave recommandé, Edge utilisé automatiquement si Brave est absent |
59
+ | Node | 22 ou plus récent |
60
+
61
+ **Depuis npm**
62
+
63
+ ```bash
64
+ pnpm add @operatingtag/dsh-unclesam
65
+ ```
66
+
67
+ **Depuis ce dépôt**
68
+
69
+ ```bash
70
+ git clone https://github.com/operatingtag/dsh-unclesam
71
+ cd dsh-unclesam
72
+ pnpm install
73
+ ```
74
+
75
+ Ajoutez ensuite la ligne du paquet à votre profil pour que le harness le charge :
76
+
77
+ ```yaml
78
+ # cordis.patch.yml
79
+ - insert:
80
+ - id: dsh-unclesam
81
+ name: '@operatingtag/dsh-unclesam'
82
+ config:
83
+ port: 9222
84
+ defaultModel: deepseek-chat-search
85
+ autoMinimise: true
86
+ ```
87
+
88
+ **Ou depuis un dossier :** Réglages → Plugins → installer depuis un chemin local, en pointant le dossier qui
89
+ contient `package.json`.
90
+
91
+ ### Premier lancement
92
+
93
+ Cliquez sur **Se connecter / ouvrir le chat**. Le navigateur s'ouvre et **reste visible** jusqu'à ce que vous
94
+ soyez connecté à chat.deepseek.com. Ensuite il se réduit de lui-même et vous ne le verrez plus. La session vit
95
+ dans votre profil de navigateur : **le plugin ne stocke aucun mot de passe**, il n'y a donc rien à divulguer.
96
+
97
+ Vous devriez alors voir :
98
+
99
+ 1. **Réglages → Uncle Sam** — une page avec des lignes d'état et un bouton de connexion.
100
+ 2. **Sous la zone de saisie** — `● DeepSeek Harness` ou `● Uncle Sam`, cliquez pour basculer.
101
+ 3. **La liste des modèles** — quatre modèles `(web)` à côté de ceux de l'API.
102
+
103
+ ### Le désinstaller
104
+
105
+ Réglages → Plugins → Uncle Sam → Désinstaller. Rien n'est écrit en dehors du profil de navigateur avec lequel
106
+ vous vous êtes connecté.
107
+
108
+ ---
109
+
110
+ ## L'interrupteur API / web
111
+
112
+ **Le sélecteur de modèle est l'interrupteur.** Il n'y a pas de second contrôle, car un second contrôle qui
113
+ choisirait aussi le modèle serait deux sources de vérité pour une seule décision.
114
+
115
+ | Choisissez ce modèle | Route | DeepThink | Recherche |
116
+ |---|---|---|---|
117
+ | `DeepSeek Chat (web)` | navigateur | off | off |
118
+ | `DeepSeek Chat + Search (web)` | navigateur | off | **on** |
119
+ | `DeepSeek Reasoner (web)` | navigateur | **on** | off |
120
+ | `DeepSeek Reasoner + Search (web)` | navigateur | **on** | **on** |
121
+ | tout modèle sans `(web)` | l'API | — | — |
122
+
123
+ Un badge **WEB** ou **API** s'affiche à côté de l'étiquette du modèle pour que la route active soit visible
124
+ d'un coup d'œil. Quand l'étiquette n'est pas reconnue, le badge n'affiche rien plutôt que de deviner — un badge
125
+ faux serait pire que pas de badge.
126
+
127
+ Votre choix persiste entre les redémarrages. **DeepThink** est la passe de raisonnement ; **Recherche** lui
128
+ permet de lire le web en direct.
129
+
130
+ ### La recherche est visible dans la conversation
131
+
132
+ Avec un modèle de recherche, un tour produit **deux blocs** — la requête utilisée, les sources trouvées, puis
133
+ la réponse qui s'en sert :
134
+
135
+ ```
136
+ Recherche web — « Quel est un titre technologique du jour ? »
137
+ Sources (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
138
+ Liens : https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
139
+ ```
140
+
141
+ La page n'expose pas la requête saisie en interne : la requête citée est donc le message qui a déclenché la
142
+ recherche. Les sources et les liens sont lus sur la page une fois la réponse stabilisée. Comme les sources
143
+ n'existent qu'à la fin, **les tours avec recherche s'accumulent au lieu d'être diffusés en flux** ; les tours
144
+ ordinaires sont toujours diffusés token par token.
145
+
146
+ ---
147
+
148
+ ## Pourquoi un navigateur, et pas leur API HTTP
149
+
150
+ La route évidente — appeler l'API de `chat.deepseek.com` — a été tentée puis abandonnée. Le site fait franchir
151
+ deux portes à chaque message :
152
+
153
+ | Porte | Ce que cela signifie |
154
+ |---|---|
155
+ | `/api/v0/chat/create_pow_challenge` | une **preuve de travail** par message |
156
+ | `challenges.cloudflare.com/turnstile` | une barrière anti-robots sur l'origine |
157
+
158
+ Réimplémenter l'une ou l'autre est une bataille perdue : elles sont obscurcies, elles changent, et quand elles
159
+ changent la panne ressemble exactement à une panne réseau. **La page résout déjà les deux pour ses propres
160
+ requêtes.**
161
+
162
+ L'adaptateur ne parle donc jamais HTTP au site. Il pilote la page, et la page fait le reste. L'authentification,
163
+ la preuve de travail et Turnstile cessent d'être notre problème et ne peuvent pas casser indépendamment du site
164
+ lui-même.
165
+
166
+ **Vérifié :** un simple `HEAD` vers le site renvoie `403` ; la route navigateur renvoie des réponses.
167
+
168
+ ---
169
+
170
+ ## Limites, dites honnêtement
171
+
172
+ **L'appel d'outils est émulé.** Un chat web n'a pas de canal d'outils structuré : les outils sont décrits dans
173
+ le message, et un appel est récupéré en analysant un objet JSON dans la réponse. Cela fonctionne — vérifié —
174
+ mais c'est plus fragile que l'appel natif : un modèle qui ignore la consigne répond en prose, et le harness ne
175
+ voit aucun outil ce tour-là. **Pour un travail agentique lourd, la route API est plus fiable.** La route web est
176
+ meilleure pour la conversation, les réponses longues, les sous-agents, la compaction, et tout tour où le modèle
177
+ doit être le modèle web.
178
+
179
+ **Il dépend d'un site web que vous ne contrôlez pas.** Quand la page change de forme, le plugin doit changer
180
+ avec elle. C'est l'avertissement de développement actif en haut de cette page, pas une formalité.
181
+
182
+ **Il n'est pas affilié à DeepSeek.** Il n'est ni approuvé ni soutenu par eux, et il ne vous donne aucun droit
183
+ sur leur service. Votre usage de ce service est régi par leurs conditions.
184
+
185
+ ---
186
+
187
+ ## Configuration
188
+
189
+ `cordis.patch.yml` définit :
190
+
191
+ | clé | défaut | signification |
192
+ |---|---|---|
193
+ | `port` | `9222` | le port de débogage du navigateur |
194
+ | `defaultModel` | `deepseek-chat-search` | utilisé quand un appel ne nomme aucun modèle |
195
+ | `showBrowser` | `true` | si la fenêtre est visible pendant le travail |
196
+
197
+ Le navigateur doit avoir une session connectée à `chat.deepseek.com`. Le premier appel lance Brave sur le
198
+ profil **Default** si le port n'est pas déjà ouvert. Si Brave tourne déjà *sans* port de débogage, l'adaptateur
199
+ ne peut pas s'y attacher, et le dit clairement au lieu d'échouer en silence.
200
+
201
+ ---
202
+
203
+ ## Architecture
204
+
205
+ ```
206
+ index.js l'adaptateur : StreamChunk du harness ←→ moteur
207
+ lib/engine.mjs navigateur + page : écrire, envoyer, diffuser, stabiliser
208
+ lib/cdp.mjs client Chrome DevTools Protocol, sans dépendances
209
+ lib/prompt.mjs aplatit messages + outils en un message ; récupère les appels dans la réponse
210
+ lib/savings.mjs ce que la route web vous a économisé, valorisé face à l'API
211
+ lib/i18n.mjs 51 langues pour le panneau
212
+ ```
213
+
214
+ **Aucune dépendance.** Node 24 fournit `WebSocket` et `fetch` en global, ce qui suffit à CDP : le flux de
215
+ tokens ne quitte donc jamais le processus hôte et il n'y a pas d'aller-retour IPC par delta.
216
+
217
+ ---
218
+
219
+ ## Soutien
220
+
221
+ Uncle Sam existe pour que vous cessiez de payer au token. S'il vous a fait économiser de l'argent et que vous
222
+ aimeriez voir le suivant construit sur du matériel qui ne tombe pas en panne de mémoire à mi-chemin :
223
+
224
+ **[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
225
+
226
+ Une étoile sur le dépôt ou un rapport de bug utile vaut tout autant.
227
+
228
+ ---
229
+
230
+ ## Licence
231
+
232
+ **CC BY-NC-ND 4.0** — Creative Commons Attribution-Pas d'Utilisation Commerciale-Pas de Modification 4.0
233
+ International. Copyright (c) 2026 Darren T. Weldon, publié sous le nom Operating Tag.
234
+
235
+ **Tout l'accord, en une ligne : installez-le et utilisez-le, personnellement, gratuitement. Ne le modifiez pas,
236
+ ne le partagez pas, ne le vendez pas, et ne l'utilisez pas dans une entreprise.**
237
+
238
+ Ce n'est pas de l'open source, et cela ne prétend pas l'être.
239
+
240
+ ```
241
+ vous pouvez l'installer et l'exécuter · l'utiliser personnellement, à des fins non commerciales
242
+ lire le code source pour le comprendre
243
+
244
+ vous ne pouvez pas le modifier, l'adapter ou en créer une œuvre dérivée
245
+ pas le copier, le distribuer, le publier, le mettre en miroir
246
+ ou le rendre disponible à quiconque
247
+ pas le déposer sur un hébergement de code, un registre, un site,
248
+ un forum ou un chat
249
+ pas le vendre, le revendre, le louer, ni facturer son accès
250
+ pas l'intégrer à quoi que ce soit que vous fournissez à autrui
251
+ pas l'utiliser à des fins commerciales ni dans le cadre d'une activité
252
+ ```
253
+
254
+ **Les deux seules sources légitimes sont ce dépôt et le paquet npm
255
+ [`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Une copie venant
256
+ d'ailleurs n'est pas sous licence, quelle que soit la personne qui l'a fournie. Si vous voyez ce logiciel en
257
+ vente, il n'est pas vendu par son auteur.
258
+
259
+ **L'usage commercial, ainsi que le droit de modifier et de distribuer, sont disponibles sous une licence écrite
260
+ séparée.** Demandez à Operating Tag : vous aurez une réponse claire et un prix clair.
261
+
262
+ Le fichier [LICENSE](LICENSE) fait foi, et il s'ouvre sur le même résumé en anglais simple.
263
+
264
+ ---
265
+
266
+ Uncle Sam est un plugin indépendant. Non affilié à DeepSeek, ni approuvé ni soutenu par eux.
267
+
268
+ ```
269
+ @operatingtag/dsh-unclesam v1.0.1
270
+ Auteur Operating Tag
271
+ Licence CC BY-NC-ND 4.0 — gratuit à l'usage, pas au changement, au partage ou à la vente
272
+ ```
package/README.hi.md ADDED
@@ -0,0 +1,263 @@
1
+ [English](README.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Português](README.pt.md) · [Italiano](README.it.md) · [Türkçe](README.tr.md) · [한국어](README.ko.md) · [日本語](README.ja.md) · [简体中文](README.zh.md) · [Русский](README.ru.md) · [Polski](README.pl.md) · **हिन्दी** · [Nederlands](README.nl.md) · [Українська](README.uk.md) · [Tiếng Việt](README.vi.md) · [Bahasa Indonesia](README.id.md)
2
+
3
+ # Uncle Sam
4
+
5
+ **DeepSeek Harness के लिए एक प्रोवाइडर जो billed API के बजाय आपके अपने ब्राउज़र से, आपके मौजूदा वेब अकाउंट पर जवाब देता है।**
6
+
7
+ **☕ [मुझे एक कॉफ़ी पिलाइए](https://revolut.me/operatingtag)** — एक इंसान रात में, बिना किसी फ़ंडिंग के लिखता है। आमदनी का कोई दूसरा ज़रिया नहीं है। एक स्टार या काम का बग रिपोर्ट भी उतना ही कीमती है।
8
+
9
+ > **यह उत्पाद सक्रिय विकास में है। बग की अपेक्षा रखें।**
10
+ >
11
+ > यह काम करता है, तेज़ है, और हफ़्तों से रोज़ चल रहा है — लेकिन यह लगातार बदलता रहता है, और ब्राउज़र वाला रास्ता
12
+ > एक ऐसी वेबसाइट पर निर्भर है जो बिना बताए बदल जाती है। कुछ टूटे तो विवरण से ज़्यादा एक स्क्रीनशॉट और वर्ज़न नंबर
13
+ > काम आएगा। अगर आप इस पर निर्भर हैं तो वर्ज़न पिन कर लें।
14
+
15
+ ```
16
+ प्रोवाइडर deepseek-web
17
+ मॉडल deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
18
+ लागत टोकन पर शून्य — यह आपके ब्राउज़र में पहले से खुली सदस्यता का उपयोग करता है
19
+ स्थिति विकास में — बग की अपेक्षा रखें
20
+ मापा गया पहला टोकन ~1.9 सेकंड · अतिरिक्त ~0.6 सेकंड · पूरा टर्न ~2.5 सेकंड
21
+ ```
22
+
23
+ वेब रास्ते के जवाब **🔴 Uncle Sam** के नाम से हस्ताक्षरित होते हैं। यह नाम एक मज़ाक है, कोई दावा नहीं: यह
24
+ बताता है कि किस रास्ते ने जवाब दिया, और API के जवाबों पर कोई हस्ताक्षर नहीं होता। आपको हमेशा पता रहता है कि
25
+ आपको किसने जवाब दिया।
26
+
27
+ ---
28
+
29
+ ## यह क्या बचाता है
30
+
31
+ API टोकन के हिसाब से पैसे लेता है। वेब उत्पाद नहीं लेता। यह प्लगइन `deepseek-web` को मॉडल प्रोवाइडर के रूप
32
+ में रजिस्टर करता है और हर कॉल का जवाब असली ब्राउज़र में `chat.deepseek.com` चलाकर देता है — काम पेज करता है,
33
+ सेशन ब्राउज़र रखता है, और कुछ भी मीटर नहीं होता।
34
+
35
+ | | API रास्ता | वेब रास्ता |
36
+ |---|---|---|
37
+ | लागत | प्रति टोकन, हमेशा | सदस्यता के अलावा कुछ नहीं |
38
+ | गति | तेज़ | प्रति टर्न ~2.5 सेकंड, मापा गया |
39
+ | टूल कॉलिंग | नेटिव और भरोसेमंद | अनुकरण, चलता है पर कमज़ोर |
40
+ | निर्भर | API | बिना बताए बदलने वाली वेबसाइट |
41
+
42
+ **दोनों रास्ते इंस्टॉल रहते हैं।** स्विच मॉडल चुनने वाला है: आम तौर पर सस्ता रास्ता इस्तेमाल करें, और जब काम को
43
+ भरोसेमंद टूल चाहिए तब API पर जाएँ।
44
+
45
+ ---
46
+
47
+ ## इंस्टॉल करना
48
+
49
+ Uncle Sam एक **DeepSeek Harness प्लगइन** है। Harness के बाहर यह कुछ नहीं करता, क्योंकि यह एक मॉडल प्रोवाइडर,
50
+ एक होस्ट रूट और UI की दो जगहें रजिस्टर करता है।
51
+
52
+ **ज़रूरतें**
53
+
54
+ | | |
55
+ |---|---|
56
+ | DeepSeek Harness | प्लगइन मैनेजर वाला कोई भी हाल का बिल्ड |
57
+ | ब्राउज़र | Brave सुझाया गया; Brave न हो तो Edge अपने आप इस्तेमाल होता है |
58
+ | Node | 22 या नया |
59
+
60
+ **npm से**
61
+
62
+ ```bash
63
+ pnpm add @operatingtag/dsh-unclesam
64
+ ```
65
+
66
+ **इस रेपो से**
67
+
68
+ ```bash
69
+ git clone https://github.com/operatingtag/dsh-unclesam
70
+ cd dsh-unclesam
71
+ pnpm install
72
+ ```
73
+
74
+ फिर Harness को लोड कराने के लिए अपनी प्रोफ़ाइल में यह पंक्ति जोड़ें:
75
+
76
+ ```yaml
77
+ # cordis.patch.yml
78
+ - insert:
79
+ - id: dsh-unclesam
80
+ name: '@operatingtag/dsh-unclesam'
81
+ config:
82
+ port: 9222
83
+ defaultModel: deepseek-chat-search
84
+ autoMinimise: true
85
+ ```
86
+
87
+ **या फ़ोल्डर से:** सेटिंग्स → प्लगइन्स → लोकल पाथ से इंस्टॉल करें, `package.json` वाला फ़ोल्डर दिखाएँ।
88
+
89
+ ### पहली बार चलाना
90
+
91
+ **साइन इन / चैट खोलें** दबाएँ। जब तक आप chat.deepseek.com पर साइन इन नहीं करते, ब्राउज़र **दिखता रहेगा**।
92
+ उसके बाद वह अपने आप मिनिमाइज़ हो जाता है और आपको दोबारा नहीं दिखेगा। सेशन आपकी ब्राउज़र प्रोफ़ाइल में रहता
93
+ है, इसलिए **प्लगइन कोई पासवर्ड नहीं रखता** — लीक होने को कुछ नहीं।
94
+
95
+ इसके बाद आपको दिखना चाहिए:
96
+
97
+ 1. **सेटिंग्स → Uncle Sam** — स्टेटस पंक्तियों और साइन इन बटन वाला पेज।
98
+ 2. **मैसेज बॉक्स के नीचे** — `● DeepSeek Harness` या `● Uncle Sam`, बदलने के लिए क्लिक करें।
99
+ 3. **मॉडल सूची** — API मॉडलों के बगल में चार `(web)` मॉडल।
100
+
101
+ ### हटाना
102
+
103
+ सेटिंग्स → प्लगइन्स → Uncle Sam → अनइंस्टॉल। जिस ब्राउज़र प्रोफ़ाइल से आपने साइन इन किया, उसके बाहर कुछ भी
104
+ नहीं लिखा जाता।
105
+
106
+ ---
107
+
108
+ ## API / वेब स्विच
109
+
110
+ **स्विच मॉडल चुनने वाला ही है।** दूसरा कंट्रोल नहीं है, क्योंकि मॉडल भी चुनने वाला दूसरा कंट्रोल एक ही फ़ैसले के
111
+ लिए दो सच होते।
112
+
113
+ | यह मॉडल चुनें | रास्ता | DeepThink | सर्च |
114
+ |---|---|---|---|
115
+ | `DeepSeek Chat (web)` | ब्राउज़र | बंद | बंद |
116
+ | `DeepSeek Chat + Search (web)` | ब्राउज़र | बंद | **चालू** |
117
+ | `DeepSeek Reasoner (web)` | ब्राउज़र | **चालू** | बंद |
118
+ | `DeepSeek Reasoner + Search (web)` | ब्राउज़र | **चालू** | **चालू** |
119
+ | `(web)` के बिना कोई भी मॉडल | API | — | — |
120
+
121
+ मॉडल के नाम के बगल में **WEB** या **API** बैज दिखता है, इसलिए चालू रास्ता एक नज़र में पता चलता है। नाम पहचाना
122
+ न जाए तो बैज अनुमान लगाने के बजाय कुछ नहीं दिखाता — ग़लत बैज न होने से भी बुरा है।
123
+
124
+ आपका चुनाव रीस्टार्ट के बाद भी बना रहता है। **DeepThink** सोचने का पास है; **सर्च** उसे लाइव वेब पढ़ने देता है।
125
+
126
+ ### सर्च बातचीत में दिखती है
127
+
128
+ सर्च मॉडल के साथ एक टर्न **दो ब्लॉक** बनाता है — जो क्वेरी उसने की, जो स्रोत मिले, और फिर जवाब जिसने उनका
129
+ इस्तेमाल किया:
130
+
131
+ ```
132
+ वेब सर्च — "आज की एक टेक्नोलॉजी हेडलाइन क्या है?"
133
+ स्रोत (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
134
+ लिंक: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
135
+ ```
136
+
137
+ पेज अपने अंदर टाइप की गई क्वेरी ज़ाहिर नहीं करता, इसलिए जो क्वेरी दिखाई जाती है वह वही संदेश है जिसने सर्च
138
+ शुरू की। स्रोत और लिंक जवाब के जमने के बाद पेज से पढ़े जाते हैं। चूँकि स्रोत सिर्फ़ अंत में होते हैं, **सर्च
139
+ वाले टर्न स्ट्रीम होने के बजाय इकट्ठा होकर आते हैं**; साधारण टर्न अब भी टोकन-दर-टोकन बहते हैं।
140
+
141
+ ---
142
+
143
+ ## ब्राउज़र क्यों, उनका HTTP API क्यों नहीं
144
+
145
+ सीधा रास्ता — `chat.deepseek.com` का अपना API बुलाना — आज़माया गया और छोड़ दिया गया। साइट हर संदेश को दो
146
+ दरवाज़ों से गुज़ारती है:
147
+
148
+ | दरवाज़ा | मतलब |
149
+ |---|---|
150
+ | `/api/v0/chat/create_pow_challenge` | हर संदेश पर एक **प्रूफ़ ऑफ़ वर्क** |
151
+ | `challenges.cloudflare.com/turnstile` | ओरिजिन पर एक बॉट गेट |
152
+
153
+ इनमें से कोई भी दोबारा बनाना हारने वाला खेल है: ये अस्पष्ट किए गए हैं, बदलते हैं, और जब बदलते हैं तो विफलता
154
+ बिल्कुल नेटवर्क खराबी जैसी दिखती है। **पेज अपनी ही रिक्वेस्ट के लिए दोनों पहले ही हल कर चुका है।**
155
+
156
+ इसलिए अडैप्टर साइट से कभी HTTP में बात नहीं करता। वह पेज चलाता है, और बाकी पेज करता है। ऑथ, प्रूफ़ ऑफ़ वर्क और
157
+ Turnstile हमारी समस्या नहीं रहते और साइट से अलग होकर टूट नहीं सकते।
158
+
159
+ **सत्यापित:** साइट पर सादा `HEAD` `403` देता है; ब्राउज़र वाला रास्ता जवाब देता है।
160
+
161
+ ---
162
+
163
+ ## सीमाएँ, ईमानदारी से
164
+
165
+ **टूल का इस्तेमाल अनुकरण है।** वेब चैट में टूल के लिए कोई संरचित चैनल नहीं है: टूल प्रॉम्प्ट में लिखे जाते हैं,
166
+ और कॉल जवाब में से एक JSON ऑब्जेक्ट निकालकर वापस पाया जाता है। यह चलता है — सत्यापित — पर नेटिव टूल कॉलिंग
167
+ से कमज़ोर है: जो मॉडल निर्देश नज़रअंदाज़ कर दे वह गद्य में जवाब देता है, और उस टर्न में Harness को कोई टूल
168
+ इस्तेमाल दिखता ही नहीं। **भारी एजेंटिक काम के लिए API रास्ता ज़्यादा भरोसेमंद है।** वेब रास्ता बातचीत, लंबे
169
+ जवाब, सबएजेंट, कम्पैक्शन और हर उस टर्न के लिए बेहतर है जहाँ मॉडल को वेब मॉडल ही होना है।
170
+
171
+ **यह ऐसी वेबसाइट पर निर्भर है जो आपके काबू में नहीं।** पेज का आकार बदले तो प्लगइन को साथ बदलना पड़ता है। यह
172
+ इस पेज के ऊपर वही विकास-चेतावनी है, कोई औपचारिकता नहीं।
173
+
174
+ **यह DeepSeek से जुड़ा नहीं है।** उनका समर्थन नहीं है और यह आपको उनकी सेवा पर कोई अधिकार नहीं देता। उस सेवा
175
+ का आपका उपयोग उनकी शर्तों से तय होता है।
176
+
177
+ ---
178
+
179
+ ## कॉन्फ़िगरेशन
180
+
181
+ `cordis.patch.yml` ये सेट करता है:
182
+
183
+ | कुंजी | डिफ़ॉल्ट | अर्थ |
184
+ |---|---|---|
185
+ | `port` | `9222` | ब्राउज़र का डीबग पोर्ट |
186
+ | `defaultModel` | `deepseek-chat-search` | जब कॉल कोई मॉडल न बताए तब इस्तेमाल होता है |
187
+ | `showBrowser` | `true` | काम के दौरान विंडो दिखे या नहीं |
188
+
189
+ ब्राउज़र में `chat.deepseek.com` का साइन-इन किया हुआ सेशन होना चाहिए। पहली कॉल पर अगर पोर्ट पहले से खुला नहीं
190
+ है तो Brave **Default** प्रोफ़ाइल पर खुलता है। अगर Brave पहले से *डीबग पोर्ट के बिना* चल रहा है, तो अडैप्टर
191
+ जुड़ नहीं सकता और चुपचाप फ़ेल होने के बजाय साफ़ बता देता है।
192
+
193
+ ---
194
+
195
+ ## बनावट
196
+
197
+ ```
198
+ index.js अडैप्टर: Harness का StreamChunk ←→ इंजन
199
+ lib/engine.mjs ब्राउज़र + पेज: लिखो, भेजो, स्ट्रीम करो, जमने दो
200
+ lib/cdp.mjs Chrome DevTools Protocol क्लाइंट, शून्य निर्भरता
201
+ lib/prompt.mjs संदेशों + टूल को एक संदेश में समतल करता है; जवाब से टूल कॉल निकालता है
202
+ lib/savings.mjs वेब रास्ते ने कितना बचाया, API कीमत पर आँका हुआ
203
+ lib/i18n.mjs पैनल के लिए 51 भाषाएँ
204
+ ```
205
+
206
+ **कोई निर्भरता नहीं।** Node 24 में ग्लोबल `WebSocket` और `fetch` हैं, CDP को इससे ज़्यादा कुछ नहीं चाहिए —
207
+ टोकन स्ट्रीम होस्ट प्रोसेस से कभी बाहर नहीं जाता और हर डेल्टा पर कोई IPC छलाँग नहीं होती।
208
+
209
+ ---
210
+
211
+ ## सहयोग
212
+
213
+ Uncle Sam इसलिए है कि आप टोकन के पैसे देना बंद कर दें। अगर इसने आपके पैसे बचाए और आप चाहें कि अगला ऐसे हार्डवेयर
214
+ पर बने जिसकी आधी राह में मेमोरी ख़त्म न हो:
215
+
216
+ **[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
217
+
218
+ रेपो पर एक स्टार या एक काम का बग रिपोर्ट भी उतना ही कीमती है।
219
+
220
+ ---
221
+
222
+ ## लाइसेंस
223
+
224
+ **CC BY-NC-ND 4.0** — क्रिएटिव कॉमन्स एट्रिब्यूशन-नॉनकमर्शियल-नोडेरिवेटिव्स 4.0 इंटरनेशनल।
225
+ Copyright (c) 2026 Darren T. Weldon, Operating Tag नाम से प्रकाशित।
226
+
227
+ **पूरा समझौता एक पंक्ति में: निजी तौर पर इंस्टॉल करें और मुफ़्त इस्तेमाल करें। बदलें नहीं, बाँटें नहीं, बेचें
228
+ नहीं, और किसी कंपनी में इस्तेमाल न करें।**
229
+
230
+ यह ओपन सोर्स नहीं है, और ऐसा दिखावा भी नहीं करता।
231
+
232
+ ```
233
+ आप कर सकते हैं इंस्टॉल और चलाना · निजी, ग़ैर-व्यावसायिक उपयोग
234
+ समझने के लिए सोर्स पढ़ना
235
+
236
+ आप नहीं कर सकते इसे बदलना, रूपांतरित करना या व्युत्पन्न कृति बनाना
237
+ कॉपी करना, वितरित करना, प्रकाशित करना, मिरर करना
238
+ या किसी और के लिए उपलब्ध कराना
239
+ किसी भी कोड होस्टिंग, रजिस्ट्री, वेबसाइट, फ़ोरम या चैट पर अपलोड करना
240
+ बेचना, दोबारा बेचना, किराए पर देना, या इसके या इसकी पहुँच के पैसे लेना
241
+ जो भी आप किसी और को देते हैं उसमें इसे शामिल करना
242
+ किसी भी व्यावसायिक उद्देश्य या कारोबारी गतिविधि के तहत इस्तेमाल करना
243
+ ```
244
+
245
+ **दो ही वैध स्रोत हैं: यह रेपो और npm पैकेज
246
+ [`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam)।** किसी और जगह से
247
+ मिली कॉपी लाइसेंस-प्राप्त नहीं है, चाहे उसे किसी ने भी दिया हो। अगर आपको यह सॉफ़्टवेयर बिकते दिखे, तो बेचने वाला
248
+ लेखक नहीं है।
249
+
250
+ **व्यावसायिक उपयोग, और बदलने व वितरित करने का अधिकार, अलग लिखित लाइसेंस पर उपलब्ध हैं।** Operating Tag से
251
+ पूछें — सीधा जवाब और साफ़ कीमत मिलेगी।
252
+
253
+ जो मान्य है वह [LICENSE](LICENSE) फ़ाइल है, और उसकी शुरुआत आसान अंग्रेज़ी में वही सारांश है।
254
+
255
+ ---
256
+
257
+ Uncle Sam एक स्वतंत्र प्लगइन है। DeepSeek से जुड़ा नहीं, उनका समर्थन या अनुमोदन नहीं।
258
+
259
+ ```
260
+ @operatingtag/dsh-unclesam v1.0.1
261
+ लेखक Operating Tag
262
+ लाइसेंस CC BY-NC-ND 4.0 — इस्तेमाल मुफ़्त, बदलना, बाँटना या बेचना नहीं
263
+ ```