@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/CHANGELOG.md +59 -0
- package/LICENSE +2 -0
- package/README.cs.md +260 -0
- package/README.da.md +261 -0
- package/README.de.md +274 -0
- package/README.el.md +270 -0
- package/README.es.md +268 -0
- package/README.fa.md +260 -0
- package/README.fi.md +262 -0
- package/README.fr.md +272 -0
- package/README.he.md +252 -0
- package/README.hi.md +263 -0
- package/README.hu.md +264 -0
- package/README.id.md +264 -0
- package/README.it.md +268 -0
- package/README.ja.md +263 -0
- package/README.ko.md +258 -0
- package/README.md +129 -223
- package/README.nl.md +266 -0
- package/README.pl.md +266 -0
- package/README.pt.md +265 -0
- package/README.ro.md +262 -0
- package/README.ru.md +269 -0
- package/README.sv.md +263 -0
- package/README.th.md +256 -0
- package/README.tr.md +265 -0
- package/README.uk.md +265 -0
- package/README.vi.md +263 -0
- package/README.zh.md +248 -0
- package/index.js +5 -2
- package/lib/prompt.mjs +24 -44
- package/package.json +28 -2
package/README.nl.md
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
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.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
|
+
**Een provider voor DeepSeek Harness die antwoordt via je eigen browser, op het webaccount dat je al hebt, in plaats van via de betaalde API.**
|
|
6
|
+
|
|
7
|
+
**☕ [Trakteer me op een koffie](https://revolut.me/operatingtag)** — geschreven door één persoon, 's nachts, zonder financiering. Er is geen ander verdienmodel. Een ster of een bruikbare bugmelding is net zoveel waard.
|
|
8
|
+
|
|
9
|
+
> **Dit product is volop in ontwikkeling. Verwacht bugs.**
|
|
10
|
+
>
|
|
11
|
+
> Het werkt, het is snel en het draait al weken dagelijks — maar het verandert voortdurend, en de browserroute
|
|
12
|
+
> hangt af van een website die zonder waarschuwing verandert. Als er iets stukgaat, zijn een schermafbeelding en
|
|
13
|
+
> het versienummer meer waard dan een beschrijving. Pin een versie als je ervan afhankelijk bent.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
provider deepseek-web
|
|
17
|
+
modellen deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
18
|
+
kosten niets per token — gebruikt het abonnement dat al in je browser openstaat
|
|
19
|
+
status in ontwikkeling — verwacht bugs
|
|
20
|
+
gemeten eerste token ~1,9 s · overhead ~0,6 s · een hele beurt in ~2,5 s
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Antwoorden via de webroute zijn ondertekend met **🔴 Uncle Sam**. Die naam is een grap, geen claim: hij markeert
|
|
24
|
+
welke route antwoordde, en API-antwoorden hebben helemaal geen ondertekening. Je weet altijd wie je antwoord gaf.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Wat het je bespaart
|
|
29
|
+
|
|
30
|
+
De API rekent per token. Het webproduct niet. Deze plugin registreert `deepseek-web` als modelprovider en
|
|
31
|
+
beantwoordt elke aanroep door `chat.deepseek.com` in een echte browser te besturen — de pagina doet het werk, de
|
|
32
|
+
browser houdt de sessie vast, en er wordt niets gemeten.
|
|
33
|
+
|
|
34
|
+
| | API-route | Webroute |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Kosten | per token, altijd | niets bovenop het abonnement |
|
|
37
|
+
| Snelheid | snel | ~2,5 s per beurt, gemeten |
|
|
38
|
+
| Tool-aanroepen | native en betrouwbaar | nagebootst, werkt maar zwakker |
|
|
39
|
+
| Hangt af van | de API | een website die zonder waarschuwing verandert |
|
|
40
|
+
|
|
41
|
+
**Beide routes blijven geïnstalleerd.** De modelkiezer is de schakelaar: gebruik standaard de goedkope route en
|
|
42
|
+
grijp naar de API wanneer een taak betrouwbare tools nodig heeft.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Installeren
|
|
47
|
+
|
|
48
|
+
Uncle Sam is een **DeepSeek Harness-plugin**. Buiten de harness doet hij niets, omdat hij een modelprovider, een
|
|
49
|
+
hostroute en twee UI-plekken registreert.
|
|
50
|
+
|
|
51
|
+
**Vereisten**
|
|
52
|
+
|
|
53
|
+
| | |
|
|
54
|
+
|---|---|
|
|
55
|
+
| DeepSeek Harness | elke recente build met pluginbeheer |
|
|
56
|
+
| Browser | Brave aanbevolen, Edge wordt automatisch gebruikt als Brave ontbreekt |
|
|
57
|
+
| Node | 22 of nieuwer |
|
|
58
|
+
|
|
59
|
+
**Vanaf npm**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Vanuit deze repository**
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
69
|
+
cd dsh-unclesam
|
|
70
|
+
pnpm install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Voeg dan de pakketregel toe aan je profiel zodat de harness hem laadt:
|
|
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
|
+
**Of vanuit een map:** Instellingen → Plugins → installeren vanaf een lokaal pad, wijzend naar de map met
|
|
87
|
+
`package.json`.
|
|
88
|
+
|
|
89
|
+
### Eerste keer
|
|
90
|
+
|
|
91
|
+
Klik op **Inloggen / chat openen**. De browser opent en **blijft zichtbaar** tot je bent ingelogd op
|
|
92
|
+
chat.deepseek.com. Daarna minimaliseert hij zichzelf en zie je hem niet meer. De sessie leeft in je
|
|
93
|
+
browserprofiel, dus **de plugin bewaart geen wachtwoord** — er is niets dat kan uitlekken.
|
|
94
|
+
|
|
95
|
+
Je zou dan moeten zien:
|
|
96
|
+
|
|
97
|
+
1. **Instellingen → Uncle Sam** — een pagina met statusregels en een inlogknop.
|
|
98
|
+
2. **Onder het invoerveld** — `● DeepSeek Harness` of `● Uncle Sam`, klik om te wisselen.
|
|
99
|
+
3. **De modellenlijst** — vier `(web)`-modellen naast de API-modellen.
|
|
100
|
+
|
|
101
|
+
### Verwijderen
|
|
102
|
+
|
|
103
|
+
Instellingen → Plugins → Uncle Sam → Verwijderen. Buiten het browserprofiel waarmee je inlogde wordt niets
|
|
104
|
+
geschreven.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## De schakelaar API / web
|
|
109
|
+
|
|
110
|
+
**De modelkiezer is de schakelaar.** Er is geen tweede bediening, want een tweede bediening die ook het model
|
|
111
|
+
koos zou twee bronnen van waarheid zijn voor één beslissing.
|
|
112
|
+
|
|
113
|
+
| Kies dit model | Route | DeepThink | Zoeken |
|
|
114
|
+
|---|---|---|---|
|
|
115
|
+
| `DeepSeek Chat (web)` | browser | uit | uit |
|
|
116
|
+
| `DeepSeek Chat + Search (web)` | browser | uit | **aan** |
|
|
117
|
+
| `DeepSeek Reasoner (web)` | browser | **aan** | uit |
|
|
118
|
+
| `DeepSeek Reasoner + Search (web)` | browser | **aan** | **aan** |
|
|
119
|
+
| elk model zonder `(web)` | de API | — | — |
|
|
120
|
+
|
|
121
|
+
Naast de modelnaam verschijnt een badge **WEB** of **API**, zodat de actieve route in één oogopslag zichtbaar is.
|
|
122
|
+
Wordt de naam niet herkend, dan toont de badge niets in plaats van te gokken — een verkeerde badge is erger dan
|
|
123
|
+
geen.
|
|
124
|
+
|
|
125
|
+
Je keuze blijft bewaard na herstarts. **DeepThink** is de redeneerpass; **Zoeken** laat hem het live web lezen.
|
|
126
|
+
|
|
127
|
+
### Zoeken is zichtbaar in het gesprek
|
|
128
|
+
|
|
129
|
+
Met een zoekmodel levert een beurt **twee blokken** op — de zoekopdracht die hij gebruikte, de gevonden bronnen
|
|
130
|
+
en dan het antwoord dat ervan gebruikmaakte:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Webzoekopdracht — "Wat is vandaag een technologienieuws-kop?"
|
|
134
|
+
Bronnen (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
135
|
+
Links: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
De pagina geeft de intern getypte opdracht niet prijs, dus de geciteerde opdracht is het bericht dat het zoeken
|
|
139
|
+
startte. Bronnen en links worden van de pagina gelezen zodra het antwoord is gaan liggen. Omdat bronnen pas aan
|
|
140
|
+
het eind bestaan, **worden zoekbeurten gebufferd in plaats van gestreamd**; gewone beurten streamen nog steeds
|
|
141
|
+
token voor token.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Waarom een browser, en niet hun HTTP-API
|
|
146
|
+
|
|
147
|
+
De voor de hand liggende route — de eigen API van `chat.deepseek.com` aanroepen — is geprobeerd en verlaten. De
|
|
148
|
+
site laat elk bericht door twee poorten:
|
|
149
|
+
|
|
150
|
+
| Poort | Wat het betekent |
|
|
151
|
+
|---|---|
|
|
152
|
+
| `/api/v0/chat/create_pow_challenge` | een **proof-of-work** per bericht |
|
|
153
|
+
| `challenges.cloudflare.com/turnstile` | een botpoort op de origin |
|
|
154
|
+
|
|
155
|
+
Een van beide opnieuw bouwen is een verloren spel: ze zijn verduisterd, ze veranderen, en als ze veranderen lijkt
|
|
156
|
+
de storing precies op een netwerkstoring. **De pagina lost beide al op voor zijn eigen verzoeken.**
|
|
157
|
+
|
|
158
|
+
De adapter spreekt dus nooit HTTP met de site. Hij bestuurt de pagina, en de pagina doet de rest. Authenticatie,
|
|
159
|
+
proof-of-work en Turnstile zijn niet langer ons probleem en kunnen niet los van de site zelf breken.
|
|
160
|
+
|
|
161
|
+
**Geverifieerd:** een kale `HEAD` naar de site geeft `403`; de browserroute geeft antwoorden.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Grenzen, eerlijk gezegd
|
|
166
|
+
|
|
167
|
+
**Tool-aanroepen zijn nagebootst.** Een webchat heeft geen gestructureerd toolkanaal: tools worden in de prompt
|
|
168
|
+
beschreven en een aanroep wordt teruggevonden door een JSON-object uit het antwoord te halen. Het werkt —
|
|
169
|
+
geverifieerd — maar is zwakker dan native tool-aanroepen: een model dat de instructie negeert antwoordt in proza
|
|
170
|
+
en de harness ziet die beurt geen toolgebruik. **Voor zwaar agentisch werk is de API-route betrouwbaarder.** De
|
|
171
|
+
webroute is het best voor gesprek, lange antwoorden, subagents, compactie en elke beurt waarin het model het
|
|
172
|
+
webmodel moet zijn.
|
|
173
|
+
|
|
174
|
+
**Het hangt af van een website die je niet beheert.** Als de pagina van vorm verandert, moet de plugin mee. Dat is
|
|
175
|
+
de waarschuwing over actieve ontwikkeling bovenaan deze pagina, geen formaliteit.
|
|
176
|
+
|
|
177
|
+
**Het is niet verbonden met DeepSeek.** Het wordt door hen niet goedgekeurd of ondersteund, en het geeft je geen
|
|
178
|
+
rechten op hun dienst. Jouw gebruik van die dienst valt onder hun voorwaarden.
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Configuratie
|
|
183
|
+
|
|
184
|
+
`cordis.patch.yml` stelt in:
|
|
185
|
+
|
|
186
|
+
| sleutel | standaard | betekenis |
|
|
187
|
+
|---|---|---|
|
|
188
|
+
| `port` | `9222` | de debugpoort van de browser |
|
|
189
|
+
| `defaultModel` | `deepseek-chat-search` | gebruikt als een aanroep geen model noemt |
|
|
190
|
+
| `showBrowser` | `true` | of het venster zichtbaar is tijdens het werk |
|
|
191
|
+
|
|
192
|
+
De browser moet een ingelogde `chat.deepseek.com`-sessie hebben. De eerste aanroep start Brave met het
|
|
193
|
+
**Default**-profiel als de poort nog niet open is. Draait Brave al *zonder* debugpoort, dan kan de adapter niet
|
|
194
|
+
koppelen en zegt dat duidelijk in plaats van stil te falen.
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Opbouw
|
|
199
|
+
|
|
200
|
+
```
|
|
201
|
+
index.js de adapter: harness StreamChunk ←→ engine
|
|
202
|
+
lib/engine.mjs browser + pagina: typen, sturen, streamen, laten rusten
|
|
203
|
+
lib/cdp.mjs Chrome DevTools Protocol-client, geen afhankelijkheden
|
|
204
|
+
lib/prompt.mjs vlakt berichten + tools af tot één bericht; haalt tool-aanroepen uit het antwoord
|
|
205
|
+
lib/savings.mjs wat de webroute je bespaarde, geprijsd tegen de API
|
|
206
|
+
lib/i18n.mjs 51 talen voor het paneel
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
**Geen afhankelijkheden.** Node 24 heeft globale `WebSocket` en `fetch`, en dat is alles wat CDP nodig heeft,
|
|
210
|
+
dus de tokenstroom verlaat nooit het hostproces en er is geen IPC-sprong per delta.
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## Steun
|
|
215
|
+
|
|
216
|
+
Uncle Sam bestaat zodat je stopt met betalen per token. Als het je geld heeft bespaard en je de volgende op
|
|
217
|
+
hardware wilt zien die niet halverwege zonder geheugen komt te zitten:
|
|
218
|
+
|
|
219
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
220
|
+
|
|
221
|
+
Een ster op de repository of een bruikbare bugmelding is net zoveel waard.
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## Licentie
|
|
226
|
+
|
|
227
|
+
**CC BY-NC-ND 4.0** — Creative Commons Naamsvermelding-NietCommercieel-GeenAfgeleiden 4.0 Internationaal.
|
|
228
|
+
Copyright (c) 2026 Darren T. Weldon, gepubliceerd onder de naam Operating Tag.
|
|
229
|
+
|
|
230
|
+
**De hele afspraak in één regel: installeer het en gebruik het persoonlijk, gratis. Wijzig het niet, deel het
|
|
231
|
+
niet, verkoop het niet en gebruik het niet in een bedrijf.**
|
|
232
|
+
|
|
233
|
+
Dat is geen open source, en het doet niet alsof.
|
|
234
|
+
|
|
235
|
+
```
|
|
236
|
+
je mag het installeren en draaien · het persoonlijk, niet-commercieel gebruiken
|
|
237
|
+
de broncode lezen om het te begrijpen
|
|
238
|
+
|
|
239
|
+
je mag niet het wijzigen, aanpassen of er een afgeleid werk van maken
|
|
240
|
+
het kopiëren, verspreiden, publiceren, spiegelen of
|
|
241
|
+
aan iemand anders beschikbaar stellen
|
|
242
|
+
het uploaden naar welke codehost, registry, website, forum of chat dan ook
|
|
243
|
+
het verkopen, doorverkopen, verhuren of er geld voor vragen of voor toegang
|
|
244
|
+
het opnemen in iets dat je aan iemand anders levert
|
|
245
|
+
het gebruiken voor enig commercieel doel of in het kader van een bedrijfsactiviteit
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**De enige twee legitieme bronnen zijn deze repository en het npm-pakket
|
|
249
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Een kopie van
|
|
250
|
+
ergens anders is niet gelicentieerd, wie hem ook heeft geleverd. Zie je deze software te koop, dan verkoopt niet de
|
|
251
|
+
auteur hem.
|
|
252
|
+
|
|
253
|
+
**Commercieel gebruik, en het recht om te wijzigen en te verspreiden, zijn beschikbaar onder een aparte
|
|
254
|
+
schriftelijke licentie.** Vraag Operating Tag en je krijgt een duidelijk antwoord en een duidelijke prijs.
|
|
255
|
+
|
|
256
|
+
Het bestand [LICENSE](LICENSE) is bindend, en het begint met dezelfde samenvatting in eenvoudig Engels.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
Uncle Sam is een onafhankelijke plugin. Niet verbonden met DeepSeek, door hen niet goedgekeurd of ondersteund.
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
@operatingtag/dsh-unclesam v1.1.0
|
|
264
|
+
Auteur Operating Tag
|
|
265
|
+
Licentie CC BY-NC-ND 4.0 — vrij om te gebruiken, niet om te wijzigen, delen of verkopen
|
|
266
|
+
```
|
package/README.pl.md
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
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.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
|
+
**Dostawca modeli dla DeepSeek Harness, który odpowiada przez Twoją własną przeglądarkę, na koncie web, które już masz — zamiast przez płatne API.**
|
|
6
|
+
|
|
7
|
+
**☕ [Postaw mi kawę](https://revolut.me/operatingtag)** — pisze to jedna osoba, nocami, bez finansowania. Nie ma innego modelu przychodu. Gwiazdka albo zgłoszenie błędu są warte tyle samo.
|
|
8
|
+
|
|
9
|
+
> **Ten produkt jest w aktywnym rozwoju. Spodziewaj się błędów.**
|
|
10
|
+
>
|
|
11
|
+
> Działa, jest szybki i od tygodni używany codziennie — ale ciągle się zmienia, a ścieżka przeglądarki zależy od
|
|
12
|
+
> strony, która zmienia się bez ostrzeżenia. Jeśli coś się zepsuje, zrzut ekranu i numer wersji są warte więcej niż
|
|
13
|
+
> opis. Przypnij wersję, jeśli na nim polegasz.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
dostawca deepseek-web
|
|
17
|
+
modele deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
18
|
+
koszt nic za token — korzysta z subskrypcji już otwartej w Twojej przeglądarce
|
|
19
|
+
stan w rozwoju — spodziewaj się błędów
|
|
20
|
+
zmierzone pierwszy token ~1,9 s · narzut ~0,6 s · cała tura w ~2,5 s
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Odpowiedzi ze ścieżki web są podpisane **🔴 Uncle Sam**. Ta nazwa to żart, nie twierdzenie: oznacza, która ścieżka
|
|
24
|
+
odpowiedziała, a odpowiedzi API nie mają żadnego podpisu. Zawsze wiesz, kto Ci odpowiedział.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Co oszczędza
|
|
29
|
+
|
|
30
|
+
API liczy opłatę za token. Produkt web nie. Ta wtyczka rejestruje `deepseek-web` jako dostawcę modeli i odpowiada
|
|
31
|
+
na każde wywołanie, sterując `chat.deepseek.com` w prawdziwej przeglądarce — pracę wykonuje strona, sesję trzyma
|
|
32
|
+
przeglądarka i nic nie jest mierzone.
|
|
33
|
+
|
|
34
|
+
| | Ścieżka API | Ścieżka web |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Koszt | za token, zawsze | nic ponad subskrypcję |
|
|
37
|
+
| Szybkość | szybko | ~2,5 s na turę, zmierzone |
|
|
38
|
+
| Wywołanie narzędzi | natywne i pewne | emulowane, działa, ale słabsze |
|
|
39
|
+
| Zależy od | API | strony, która zmienia się bez ostrzeżenia |
|
|
40
|
+
|
|
41
|
+
**Obie ścieżki pozostają zainstalowane.** Przełącznikiem jest wybór modelu: domyślnie tania ścieżka, a po API
|
|
42
|
+
sięgasz, gdy zadanie wymaga pewnych narzędzi.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Instalacja
|
|
47
|
+
|
|
48
|
+
Uncle Sam to **wtyczka DeepSeek Harness**. Poza harnessem nic nie robi, bo rejestruje dostawcę modeli, trasę na
|
|
49
|
+
hoście i dwa miejsca w interfejsie.
|
|
50
|
+
|
|
51
|
+
**Wymagania**
|
|
52
|
+
|
|
53
|
+
| | |
|
|
54
|
+
|---|---|
|
|
55
|
+
| DeepSeek Harness | dowolna nowsza kompilacja z menedżerem wtyczek |
|
|
56
|
+
| Przeglądarka | zalecany Brave; Edge używany automatycznie, gdy Brave jest niedostępny |
|
|
57
|
+
| Node | 22 lub nowszy |
|
|
58
|
+
|
|
59
|
+
**Z npm**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Z tego repozytorium**
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
69
|
+
cd dsh-unclesam
|
|
70
|
+
pnpm install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Następnie dodaj wiersz pakietu do swojego profilu, żeby harness go załadował:
|
|
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
|
+
**Albo z folderu:** Ustawienia → Wtyczki → zainstaluj ze ścieżki lokalnej, wskazując folder z `package.json`.
|
|
87
|
+
|
|
88
|
+
### Pierwsze uruchomienie
|
|
89
|
+
|
|
90
|
+
Kliknij **Zaloguj się / otwórz czat**. Przeglądarka otworzy się i **pozostanie widoczna**, dopóki nie zalogujesz
|
|
91
|
+
się na chat.deepseek.com. Potem sama się zminimalizuje i już jej nie zobaczysz. Sesja żyje w profilu
|
|
92
|
+
przeglądarki, więc **wtyczka nie przechowuje żadnego hasła** — nie ma czego ujawnić.
|
|
93
|
+
|
|
94
|
+
Powinieneś wtedy zobaczyć:
|
|
95
|
+
|
|
96
|
+
1. **Ustawienia → Uncle Sam** — stronę z wierszami stanu i przyciskiem logowania.
|
|
97
|
+
2. **Pod polem wiadomości** — `● DeepSeek Harness` albo `● Uncle Sam`, kliknij, by przełączyć.
|
|
98
|
+
3. **Listę modeli** — cztery modele `(web)` obok modeli API.
|
|
99
|
+
|
|
100
|
+
### Usuwanie
|
|
101
|
+
|
|
102
|
+
Ustawienia → Wtyczki → Uncle Sam → Odinstaluj. Poza profilem przeglądarki, w którym się zalogowałeś, nic nie jest
|
|
103
|
+
zapisywane.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Przełącznik API / web
|
|
108
|
+
|
|
109
|
+
**Przełącznikiem jest wybór modelu.** Nie ma drugiego elementu sterującego, bo drugi element, który też wybierałby
|
|
110
|
+
model, byłyby dwoma źródłami prawdy dla jednej decyzji.
|
|
111
|
+
|
|
112
|
+
| Wybierz ten model | Ścieżka | DeepThink | Wyszukiwanie |
|
|
113
|
+
|---|---|---|---|
|
|
114
|
+
| `DeepSeek Chat (web)` | przeglądarka | wył. | wył. |
|
|
115
|
+
| `DeepSeek Chat + Search (web)` | przeglądarka | wył. | **wł.** |
|
|
116
|
+
| `DeepSeek Reasoner (web)` | przeglądarka | **wł.** | wył. |
|
|
117
|
+
| `DeepSeek Reasoner + Search (web)` | przeglądarka | **wł.** | **wł.** |
|
|
118
|
+
| dowolny model bez `(web)` | API | — | — |
|
|
119
|
+
|
|
120
|
+
Obok nazwy modelu pojawia się plakietka **WEB** lub **API**, więc aktywna ścieżka jest widoczna na pierwszy rzut
|
|
121
|
+
oka. Gdy nazwa nie jest rozpoznana, plakietka nie pokazuje niczego zamiast zgadywać — błędna plakietka byłaby
|
|
122
|
+
gorsza niż żadna.
|
|
123
|
+
|
|
124
|
+
Wybór przetrwa ponowne uruchomienie. **DeepThink** to przebieg rozumowania; **Wyszukiwanie** pozwala mu czytać
|
|
125
|
+
żywy internet.
|
|
126
|
+
|
|
127
|
+
### Wyszukiwanie widać w rozmowie
|
|
128
|
+
|
|
129
|
+
Z modelem wyszukiwania jedna tura daje **dwa bloki** — zapytanie, którego użył, znalezione źródła, a potem
|
|
130
|
+
odpowiedź, która z nich skorzystała:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Wyszukiwanie w sieci — „Jaki jest dzisiejszy nagłówek technologiczny?”
|
|
134
|
+
Źródła (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
135
|
+
Linki: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Strona nie ujawnia zapytania wpisanego wewnętrznie, więc cytowane zapytanie to wiadomość, która uruchomiła
|
|
139
|
+
wyszukiwanie. Źródła i linki są odczytywane ze strony po ustabilizowaniu się odpowiedzi. Ponieważ źródła istnieją
|
|
140
|
+
dopiero na końcu, **tury z wyszukiwaniem są buforowane zamiast strumieniowane**; zwykłe tury nadal płyną token po
|
|
141
|
+
tokenie.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Dlaczego przeglądarka, a nie ich HTTP API
|
|
146
|
+
|
|
147
|
+
Oczywista droga — wywołanie własnego API `chat.deepseek.com` — została wypróbowana i porzucona. Serwis
|
|
148
|
+
przepuszcza każdą wiadomość przez dwie bramy:
|
|
149
|
+
|
|
150
|
+
| Brama | Co to znaczy |
|
|
151
|
+
|---|---|
|
|
152
|
+
| `/api/v0/chat/create_pow_challenge` | **dowód pracy** na każdą wiadomość |
|
|
153
|
+
| `challenges.cloudflare.com/turnstile` | bariera antybotowa na originie |
|
|
154
|
+
|
|
155
|
+
Ponowne zaimplementowanie którejkolwiek to przegrana gra: są zaciemnione, zmieniają się, a gdy się zmieniają,
|
|
156
|
+
awaria wygląda dokładnie jak awaria sieci. **Strona już rozwiązu-je obie na potrzeby własnych żądań.**
|
|
157
|
+
|
|
158
|
+
Adapter nigdy więc nie rozmawia z serwisem po HTTP. Steruje stroną, a reszta należy do strony. Uwierzytelnianie,
|
|
159
|
+
dowód pracy i Turnstile przestają być naszym problemem i nie mogą zepsuć się niezależnie od samego serwisu.
|
|
160
|
+
|
|
161
|
+
**Sprawdzone:** zwykły `HEAD` do serwisu zwraca `403`; ścieżka przez przeglądarkę zwraca odpowiedzi.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Ograniczenia, powiedziane uczciwie
|
|
166
|
+
|
|
167
|
+
**Wywołanie narzędzi jest emulowane.** Czat web nie ma strukturalnego kanału narzędzi: narzędzia opisuje się w
|
|
168
|
+
prompcie, a wywołanie odzyskuje się, parsując obiekt JSON z odpowiedzi. To działa — sprawdzone — ale jest słabsze
|
|
169
|
+
niż natywne wywołanie: model, który zignoruje instrukcję, odpowiada prozą, a harness nie widzi w tej turze żadnego
|
|
170
|
+
użycia narzędzi. **Do ciężkiej pracy agentowej ścieżka API jest pewniejsza.** Ścieżka web najlepiej nadaje się do
|
|
171
|
+
rozmowy, długich odpowiedzi, podagentów, kompakcji i każdej tury, w której model musi być modelem web.
|
|
172
|
+
|
|
173
|
+
**Zależy od strony, której nie kontrolujesz.** Gdy strona zmienia kształt, wtyczka musi zmienić się razem z nią.
|
|
174
|
+
To jest ostrzeżenie o aktywnym rozwoju na górze tej strony, nie formalność.
|
|
175
|
+
|
|
176
|
+
**Nie jest powiązana z DeepSeek.** Nie jest przez nich firmowana ani wspierana i nie daje Ci żadnych praw do ich
|
|
177
|
+
usługi. Twoje korzystanie z tej usługi regulują ich warunki.
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## Konfiguracja
|
|
182
|
+
|
|
183
|
+
`cordis.patch.yml` ustawia:
|
|
184
|
+
|
|
185
|
+
| klucz | domyślnie | znaczenie |
|
|
186
|
+
|---|---|---|
|
|
187
|
+
| `port` | `9222` | port debugowania przeglądarki |
|
|
188
|
+
| `defaultModel` | `deepseek-chat-search` | używany, gdy wywołanie nie podaje modelu |
|
|
189
|
+
| `showBrowser` | `true` | czy okno jest widoczne podczas pracy |
|
|
190
|
+
|
|
191
|
+
Przeglądarka musi mieć zalogowaną sesję `chat.deepseek.com`. Pierwsze wywołanie uruchamia Brave na profilu
|
|
192
|
+
**Default**, jeśli port nie jest jeszcze otwarty. Jeśli Brave już działa *bez* portu debugowania, adapter nie może
|
|
193
|
+
się podłączyć i mówi to wprost, zamiast cicho zawieść.
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## Budowa
|
|
198
|
+
|
|
199
|
+
```
|
|
200
|
+
index.js adapter: StreamChunk harnessu ←→ silnik
|
|
201
|
+
lib/engine.mjs przeglądarka + strona: pisz, wyślij, strumieniuj, ustabilizuj
|
|
202
|
+
lib/cdp.mjs klient Chrome DevTools Protocol, zero zależności
|
|
203
|
+
lib/prompt.mjs spłaszcza wiadomości + narzędzia do jednej wiadomości; odzyskuje wywołania z odpowiedzi
|
|
204
|
+
lib/savings.mjs ile zaoszczędziła ścieżka web, wycenione wobec API
|
|
205
|
+
lib/i18n.mjs 51 języków panelu
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
**Żadnych zależności.** Node 24 ma globalne `WebSocket` i `fetch`, a CDP niczego więcej nie potrzebuje — strumień
|
|
209
|
+
tokenów nigdy nie opuszcza procesu hosta i nie ma skoku IPC na każdą deltę.
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
## Wsparcie
|
|
214
|
+
|
|
215
|
+
Uncle Sam istnieje po to, żebyś przestał płacić za token. Jeśli oszczędził Ci pieniądze i chciałbyś zobaczyć
|
|
216
|
+
następny na sprzęcie, któremu nie kończy się pamięć w połowie drogi:
|
|
217
|
+
|
|
218
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
219
|
+
|
|
220
|
+
Gwiazdka w repozytorium albo użyteczne zgłoszenie błędu są warte tyle samo.
|
|
221
|
+
|
|
222
|
+
---
|
|
223
|
+
|
|
224
|
+
## Licencja
|
|
225
|
+
|
|
226
|
+
**CC BY-NC-ND 4.0** — Creative Commons Uznanie autorstwa-Użycie niekomercyjne-Bez utworów zależnych 4.0
|
|
227
|
+
Międzynarodowe. Copyright (c) 2026 Darren T. Weldon, opublikowane pod nazwą Operating Tag.
|
|
228
|
+
|
|
229
|
+
**Cała umowa w jednym zdaniu: zainstaluj i używaj osobiście, za darmo. Nie zmieniaj, nie udostępniaj, nie
|
|
230
|
+
sprzedawaj i nie używaj w firmie.**
|
|
231
|
+
|
|
232
|
+
To nie jest open source i nie udaje, że jest.
|
|
233
|
+
|
|
234
|
+
```
|
|
235
|
+
możesz zainstalować i uruchomić · używać osobiście, niekomercyjnie
|
|
236
|
+
czytać źródło, żeby je zrozumieć
|
|
237
|
+
|
|
238
|
+
nie możesz modyfikować, adaptować ani tworzyć utworu zależnego
|
|
239
|
+
kopiować, rozpowszechniać, publikować, tworzyć kopii lustrzanej
|
|
240
|
+
ani udostępniać komukolwiek
|
|
241
|
+
wgrywać na jakikolwiek hosting kodu, rejestr, stronę, forum lub czat
|
|
242
|
+
sprzedawać, odsprzedawać, wynajmować ani pobierać opłat za niego
|
|
243
|
+
lub za dostęp do niego
|
|
244
|
+
włączać do czegokolwiek, co przekazujesz innej osobie
|
|
245
|
+
używać w jakimkolwiek celu komercyjnym lub w ramach działalności gospodarczej
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
**Jedyne dwa legalne źródła to to repozytorium i pakiet npm
|
|
249
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Kopia z
|
|
250
|
+
jakiegokolwiek innego miejsca nie jest licencjonowana, kimkolwiek została dostarczona. Jeśli widzisz to
|
|
251
|
+
oprogramowanie na sprzedaż, nie sprzedaje go autor.
|
|
252
|
+
|
|
253
|
+
**Użycie komercyjne oraz prawo do modyfikowania i rozpowszechniania są dostępne na podstawie odrębnej pisemnej
|
|
254
|
+
licencji.** Zapytaj Operating Tag — dostaniesz jasną odpowiedź i jasną cenę.
|
|
255
|
+
|
|
256
|
+
Wiążący jest plik [LICENSE](LICENSE), a otwiera się tym samym podsumowaniem prostym angielskim.
|
|
257
|
+
|
|
258
|
+
---
|
|
259
|
+
|
|
260
|
+
Uncle Sam to niezależna wtyczka. Niepowiązana z DeepSeek, nie firmowana ani nie wspierana przez nich.
|
|
261
|
+
|
|
262
|
+
```
|
|
263
|
+
@operatingtag/dsh-unclesam v1.1.0
|
|
264
|
+
Autor Operating Tag
|
|
265
|
+
Licencja CC BY-NC-ND 4.0 — wolno używać, nie wolno zmieniać, udostępniać ani sprzedawać
|
|
266
|
+
```
|