@operatingtag/dsh-unclesam 1.0.0 → 1.1.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/README.fi.md ADDED
@@ -0,0 +1,262 @@
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) · [हिन्दी](README.hi.md) · [Nederlands](README.nl.md) · [Українська](README.uk.md) · [Tiếng Việt](README.vi.md) · [Bahasa Indonesia](README.id.md) · [ไทย](README.th.md) · [فارسی](README.fa.md) · [Ελληνικά](README.el.md) · [עברית](README.he.md) · [Čeština](README.cs.md) · [Română](README.ro.md) · [Svenska](README.sv.md) · [Dansk](README.da.md) · **Suomi** · [Magyar](README.hu.md)
2
+
3
+ # Uncle Sam
4
+
5
+ **DeepSeek Harnessin tarjoaja, joka vastaa oman selaimesi kautta sillä verkkotilillä, joka sinulla jo on, laskutetun API:n sijaan.**
6
+
7
+ **☕ [Tarjoa minulle kahvi](https://revolut.me/operatingtag)** — kirjoittaa yksi ihminen, öisin, ilman rahoitusta. Muuta tulomallia ei ole. Tähti tai hyödyllinen virheraportti on yhtä arvokas.
8
+
9
+ > **Tämä tuote on aktiivisessa kehityksessä. Odota bugeja.**
10
+ >
11
+ > Se toimii, on nopea ja sitä on käytetty päivittäin viikkoja — mutta se muuttuu jatkuvasti, ja selainpolku riippuu
12
+ > sivustosta, joka muuttuu ilman varoitusta. Jos jokin menee rikki, kuvakaappaus ja versionumero ovat arvokkaampia kuin
13
+ > kuvaus. Kiinnitä versio, jos olet siitä riippuvainen.
14
+
15
+ ```
16
+ tarjoaja deepseek-web
17
+ mallit deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
18
+ hinta ei mitään tokenilta — käyttää selaimessasi jo avoinna olevaa tilausta
19
+ tila kehityksessä — odota bugeja
20
+ mitattu ensimmäinen token ~1,9 s · ylimääräinen ~0,6 s · koko kierros ~2,5 s
21
+ ```
22
+
23
+ Web-polun vastaukset allekirjoitetaan **🔴 Uncle Sam**. Nimi on vitsi, ei väite: se kertoo, mikä polku vastasi, ja
24
+ API-vastauksissa ei ole lainkaan allekirjoitusta. Tiedät aina, kuka sinulle vastasi.
25
+
26
+ ---
27
+
28
+ ## Mitä se säästää
29
+
30
+ API laskuttaa tokenilta. Verkkotuote ei. Tämä lisäosa rekisteröi `deepseek-web`-mallitarjoajan ja vastaa jokaiseen
31
+ kutsuun ohjaamalla `chat.deepseek.com`-sivua oikeassa selaimessa — sivu tekee työn, selain pitää istunnon, eikä mitään
32
+ mitata.
33
+
34
+ | | API-polku | Web-polku |
35
+ |---|---|---|
36
+ | Hinta | tokenilta, aina | ei mitään tilauksen lisäksi |
37
+ | Nopeus | nopea | ~2,5 s kierrosta kohden, mitattu |
38
+ | Työkalujen kutsu | natiivi ja luotettava | emuloitu, toimii mutta heikompi |
39
+ | Riippuu | API:sta | sivustosta, joka muuttuu ilman varoitusta |
40
+
41
+ **Molemmat polut pysyvät asennettuina.** Mallivalitsin on kytkin: käytä halpaa polkua oletuksena ja siirry API:in, kun
42
+ tehtävä vaatii luotettavia työkaluja.
43
+
44
+ ---
45
+
46
+ ## Asennus
47
+
48
+ Uncle Sam on **DeepSeek Harness -lisäosa**. Harnessin ulkopuolella se ei tee mitään, koska se rekisteröi
49
+ mallitarjoajan, reitin isännälle ja kaksi kohtaa käyttöliittymään.
50
+
51
+ **Vaatimukset**
52
+
53
+ | | |
54
+ |---|---|
55
+ | DeepSeek Harness | mikä tahansa tuore versio, jossa on lisäosien hallinta |
56
+ | Selain | Brave suositeltu; Edgeä käytetään automaattisesti, jos Brave puuttuu |
57
+ | Node | 22 tai uudempi |
58
+
59
+ **npm:stä**
60
+
61
+ ```bash
62
+ pnpm add @operatingtag/dsh-unclesam
63
+ ```
64
+
65
+ **Tästä repositoriosta**
66
+
67
+ ```bash
68
+ git clone https://github.com/operatingtag/dsh-unclesam
69
+ cd dsh-unclesam
70
+ pnpm install
71
+ ```
72
+
73
+ Lisää sitten pakettirivi profiiliisi, jotta harness lataa sen:
74
+
75
+ ```yaml
76
+ # cordis.patch.yml
77
+ - insert:
78
+ - id: dsh-unclesam
79
+ name: '@operatingtag/dsh-unclesam'
80
+ config:
81
+ port: 9222
82
+ defaultModel: deepseek-chat-search
83
+ autoMinimise: true
84
+ ```
85
+
86
+ **Tai kansiosta:** Asetukset → Lisäosat → asenna paikallisesta polusta, osoita kansio, jossa on `package.json`.
87
+
88
+ ### Ensimmäinen käynnistys
89
+
90
+ Napsauta **Kirjaudu / avaa chat**. Selain avautuu ja **pysyy näkyvissä**, kunnes olet kirjautunut chat.deepseek.comiin.
91
+ Sen jälkeen se pienentyy itsestään, etkä näe sitä enää. Istunto on selainprofiilissasi, joten **lisäosa ei tallenna
92
+ salasanaa** — ei ole mitään vuodettavaa.
93
+
94
+ Sinun pitäisi nähdä:
95
+
96
+ 1. **Asetukset → Uncle Sam** — sivu, jossa tilan rivit ja kirjautumispainike.
97
+ 2. **Viestikentän alla** — `● DeepSeek Harness` tai `● Uncle Sam`, napsauta vaihtaaksesi.
98
+ 3. **Malliluettelo** — neljä `(web)`-mallia API:n mallien vieressä.
99
+
100
+ ### Poistaminen
101
+
102
+ Asetukset → Lisäosat → Uncle Sam → Poista asennus. Mitään ei kirjoiteta sen selainprofiilin ulkopuolelle, jolla
103
+ kirjauduit.
104
+
105
+ ---
106
+
107
+ ## API / web -kytkin
108
+
109
+ **Mallivalitsin on kytkin.** Toista säätöä ei ole, koska toinen säätö, joka valitsisi myös mallin, olisi kaksi totuuden
110
+ lähdettä yhdelle päätökselle.
111
+
112
+ | Valitse tämä malli | Polku | DeepThink | Haku |
113
+ |---|---|---|---|
114
+ | `DeepSeek Chat (web)` | selain | pois | pois |
115
+ | `DeepSeek Chat + Search (web)` | selain | pois | **päällä** |
116
+ | `DeepSeek Reasoner (web)` | selain | **päällä** | pois |
117
+ | `DeepSeek Reasoner + Search (web)` | selain | **päällä** | **päällä** |
118
+ | mikä tahansa malli ilman `(web)` | API | — | — |
119
+
120
+ Mallin nimen vieressä näkyy **WEB**- tai **API**-merkki, joten aktiivinen polku näkyy yhdellä silmäyksellä. Kun nimeä
121
+ ei tunnisteta, merkki ei näytä mitään sen sijaan että arvaisi — väärä merkki olisi pahempi kuin ei merkkiä.
122
+
123
+ Valintasi säilyy uudelleenkäynnistysten yli. **DeepThink** on päättelykierros; **Haku** antaa sen lukea elävää
124
+ verkkoa.
125
+
126
+ ### Haku näkyy keskustelussa
127
+
128
+ Hakumallin kanssa yksi kierros tuottaa **kaksi lohkoa** — kyselyn, jolla se haki, löydetyt lähteet ja sitten
129
+ vastauksen, joka niitä käytti:
130
+
131
+ ```
132
+ Verkkohaku — "Mikä on tämän päivän teknologiaotsikko?"
133
+ Lähteet (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
134
+ Linkit: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
135
+ ```
136
+
137
+ Sivu ei paljasta kyselyä, jonka se kirjoitti sisäisesti, joten siteerattu kysely on viesti, joka käynnisti haun.
138
+ Lähteet ja linkit luetaan sivulta, kun vastaus on asettunut. Koska lähteitä on vain lopussa, **hakukierrokset
139
+ puskuroidaan virtaamisen sijaan**; tavalliset kierrokset virtaavat edelleen token kerrallaan.
140
+
141
+ ---
142
+
143
+ ## Miksi selain eikä heidän HTTP-API
144
+
145
+ Ilmeinen polku — kutsua `chat.deepseek.com`in omaa API:a — kokeiltiin ja hylättiin. Sivusto pakottaa jokaisen viestin
146
+ kahden portin läpi:
147
+
148
+ | Portti | Mitä se tarkoittaa |
149
+ |---|---|
150
+ | `/api/v0/chat/create_pow_challenge` | **työtodistus** jokaista viestiä kohden |
151
+ | `challenges.cloudflare.com/turnstile` | bottiportti alkuperässä |
152
+
153
+ Kumman tahansa uudelleenrakentaminen on hävitty peli: ne on hämärretty, ne muuttuvat, ja kun ne muuttuvat, vika näyttää
154
+ täsmälleen verkkohäiriöltä. **Sivu ratkaisee jo molemmat omien pyyntöjensä osalta.**
155
+
156
+ Siksi sovitin ei koskaan puhu HTTP:tä sivuston kanssa. Se ohjaa sivua, ja sivu tekee loput. Todennus, työtodistus ja
157
+ Turnstile lakkaavat olemasta ongelmamme eivätkä voi hajota erillään itse sivustosta.
158
+
159
+ **Vahvistettu:** pelkkä `HEAD` sivustolle palauttaa `403`; selainpolku palauttaa vastauksia.
160
+
161
+ ---
162
+
163
+ ## Rajat, rehellisesti sanottuna
164
+
165
+ **Työkalujen kutsu on emuloitu.** Verkkokeskustelussa ei ole jäsenneltyä työkalukanavaa: työkalut kuvataan kehotteessa
166
+ ja kutsu palautetaan poimimalla JSON-objekti vastauksesta. Se toimii — vahvistettu — mutta on heikompi kuin natiivi
167
+ kutsu: malli, joka jättää ohjeen huomiotta, vastaa proosalla, eikä harness näe työkalujen käyttöä sillä kierroksella.
168
+ **Raskaaseen agenttityöhön API-polku on luotettavampi.** Web-polku sopii parhaiten keskusteluun, pitkiin vastauksiin,
169
+ alagentteihin, tiivistämiseen ja jokaiseen kierrokseen, jossa mallin on oltava web-malli.
170
+
171
+ **Se riippuu sivustosta, jota et hallitse.** Kun sivu muuttaa muotoaan, lisäosan on muututtava mukana. Se on tämän
172
+ sivun yläreunan kehitysvaroitus, ei muodollisuus.
173
+
174
+ **Se ei liity DeepSeekiin.** He eivät hyväksy tai tue sitä, eikä se anna sinulle mitään oikeuksia heidän palveluunsa.
175
+ Käyttöäsi siinä palvelussa säätelevät heidän ehtonsa.
176
+
177
+ ---
178
+
179
+ ## Asetukset
180
+
181
+ `cordis.patch.yml` asettaa:
182
+
183
+ | avain | oletus | merkitys |
184
+ |---|---|---|
185
+ | `port` | `9222` | selaimen virheenkorjausportti |
186
+ | `defaultModel` | `deepseek-chat-search` | käytetään, kun kutsu ei nimeä mallia |
187
+ | `showBrowser` | `true` | näkyykö ikkuna työn aikana |
188
+
189
+ Selaimessa on oltava kirjautunut `chat.deepseek.com`-istunto. Ensimmäinen kutsu käynnistää Braven **Default**-profiililla,
190
+ jos portti ei ole jo auki. Jos Brave on jo käynnissä *ilman* virheenkorjausporttia, sovitin ei voi liittyä ja sanoo sen
191
+ selvästi sen sijaan että epäonnistuisi hiljaa.
192
+
193
+ ---
194
+
195
+ ## Rakenne
196
+
197
+ ```
198
+ index.js sovitin: harnessin StreamChunk ←→ moottori
199
+ lib/engine.mjs selain + sivu: kirjoita, lähetä, virtaa, anna asettua
200
+ lib/cdp.mjs Chrome DevTools Protocol -asiakas, ei riippuvuuksia
201
+ lib/prompt.mjs litistää viestit + työkalut yhdeksi viestiksi; poimii kutsut vastauksesta
202
+ lib/savings.mjs mitä web-polku säästi, hinnoiteltuna API:ta vasten
203
+ lib/i18n.mjs 51 kieltä paneelille
204
+ ```
205
+
206
+ **Ei riippuvuuksia.** Nodessa 24 on globaalit `WebSocket` ja `fetch`, mikä on kaikki mitä CDP tarvitsee, joten
207
+ tokenvirta ei koskaan poistu isäntäprosessista eikä jokaisesta deltasta ole IPC-hyppyä.
208
+
209
+ ---
210
+
211
+ ## Tuki
212
+
213
+ Uncle Sam on olemassa, jotta lopetat tokenikohtaisen maksamisen. Jos se säästi rahaa ja haluaisit nähdä seuraavan
214
+ rakennettuna laitteistolle, jolta muisti ei lopu kesken:
215
+
216
+ **[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
217
+
218
+ Tähti repositoriossa tai hyödyllinen virheraportti on yhtä arvokas.
219
+
220
+ ---
221
+
222
+ ## Lisenssi
223
+
224
+ **CC BY-NC-ND 4.0** — Creative Commons Nimeä-EiKaupallinen-EiMuutoksia 4.0 Kansainvälinen.
225
+ Copyright (c) 2026 Darren T. Weldon, julkaistu nimellä Operating Tag.
226
+
227
+ **Koko sopimus yhdellä rivillä: asenna ja käytä henkilökohtaisesti, ilmaiseksi. Älä muuta, älä jaa, älä myy äläkä
228
+ käytä yrityksessä.**
229
+
230
+ Tämä ei ole avointa lähdekoodia, eikä se teeskentele olevansa.
231
+
232
+ ```
233
+ saat asentaa ja ajaa sitä · käyttää sitä henkilökohtaisesti, ei-kaupallisesti
234
+ lukea lähdekoodia ymmärtääksesi sitä
235
+
236
+ et saa muuttaa, sovittaa tai luoda johdannaisteosta
237
+ kopioida, jakaa, julkaista, peilata tai
238
+ saattaa kenenkään muun saataville
239
+ ladata sitä mihinkään koodin hosting-palveluun, rekisteriin, sivustolle, foorumille tai chattiin
240
+ myydä, jälleenmyydä, vuokrata tai periä maksua siitä tai sen käytöstä
241
+ sisällyttää sitä mihinkään, jonka luovutat toiselle
242
+ käyttää mihin tahansa kaupalliseen tarkoitukseen tai liiketoiminnan yhteydessä
243
+ ```
244
+
245
+ **Ainoat kaksi laillista lähdettä ovat tämä repositorio ja npm-paketti
246
+ [`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Muualta saatu kopio ei
247
+ ole lisensoitu, kuka sen ikinä antoikaan. Jos näet tämän ohjelmiston myynnissä, sitä ei myy sen tekijä.
248
+
249
+ **Kaupallinen käyttö sekä oikeus muuttaa ja jakaa ovat saatavissa erillisellä kirjallisella lisenssillä.** Kysy
250
+ Operating Tagilta — saat selvän vastauksen ja selvän hinnan.
251
+
252
+ Tiedosto [LICENSE](LICENSE) on ratkaiseva, ja se alkaa samalla yhteenvedolla yksinkertaisella englannilla.
253
+
254
+ ---
255
+
256
+ Uncle Sam on itsenäinen lisäosa. Ei sidoksissa DeepSeekiin, ei heidän hyväksymänsä tai tukemansa.
257
+
258
+ ```
259
+ @operatingtag/dsh-unclesam v1.1.0
260
+ Tekijä Operating Tag
261
+ Lisenssi CC BY-NC-ND 4.0 — vapaa käytettäväksi, ei muutettavaksi, jaettavaksi tai myytäväksi
262
+ ```
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) · [ไทย](README.th.md) · [فارسی](README.fa.md) · [Ελληνικά](README.el.md) · [עברית](README.he.md) · [Čeština](README.cs.md) · [Română](README.ro.md) · [Svenska](README.sv.md) · [Dansk](README.da.md) · [Suomi](README.fi.md) · [Magyar](README.hu.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.1.0
270
+ Auteur Operating Tag
271
+ Licence CC BY-NC-ND 4.0 — gratuit à l'usage, pas au changement, au partage ou à la vente
272
+ ```