[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](README.fi.md) · [Magyar](README.hu.md) · [العربية](README.ar.md) · [Oʻzbekcha](README.uz.md) · [Azərbaycan](README.az.md) · [Български](README.bg.md) · [Hrvatski](README.hr.md) · [Қазақша](README.kk.md) · [ქართული](README.ka.md) · [नेपाली](README.ne.md) · [සිංහල](README.si.md) · [தமிழ்](README.ta.md) · [తెలుగు](README.te.md) · [मराठी](README.mr.md) · [বাংলা](README.bn.md) · [ខ្មែរ](README.km.md) · [Lietuvių](README.lt.md) · [Bahasa Melayu](README.ms.md) · [မြန်မာ](README.my.md) · **Norsk** · [Slovenčina](README.sk.md) · [Slovenščina](README.sl.md) · [Српски](README.sr.md) · [Kiswahili](README.sw.md) · [Filipino](README.tl.md) · [اردو](README.ur.md)

# Uncle Sam

**En leverandør for DeepSeek Harness som svarer gjennom din egen nettleser, på webkontoen du allerede har, i stedet for det fakturerte API-et.**

**DeepSeek Harness-utvidelsen som styrer chat.deepseek.com i en ekte nettleser — det gratis alternativet til DeepSeek API. Chat, DeepThink og nettsøk på din egen konto: ingen API-nøkkel, ingen kostnad per token.**

**☕ [Kjøp en kaffe til meg](https://revolut.me/operatingtag)** — skrevet av én person, om natten, uten finansiering. Det finnes ingen annen inntektsmodell. En stjerne eller en nyttig feilrapport er like mye verdt.

> **Dette produktet er i aktiv utvikling. Forvent feil.**
>
> Det fungerer, det er raskt, og det har kjørt daglig i ukevis — men det endrer seg hele tiden, og nettleserveien
> avhenger av et nettsted som endrer seg uten varsel. Hvis noe går i stykker, er et skjermbilde og versjonsnummeret
> mer verdt enn en beskrivelse. Fest en versjon hvis du er avhengig av det.

```
leverandør  deepseek-web
modeller    deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
kostnad     ingenting per token — bruker abonnementet som allerede er åpent i nettleseren din
status      under utvikling — forvent feil
målt        første token ~1,9 s · overhead ~0,6 s · en hel runde på ~2,5 s
```

Svar fra webveien signeres **🔴 Uncle Sam**. Navnet er en spøk, ikke en påstand: det markerer hvilken vei som svarte,
og API-svar har ingen signatur i det hele tatt. Du vet alltid hvem som svarte deg.

---

## Hva det sparer deg for

API-et fakturerer per token. Nettproduktet gjør det ikke. Denne utvidelsen registrerer `deepseek-web` som
modellleverandør og svarer på hvert kall ved å styre `chat.deepseek.com` i en ekte nettleser — siden gjør jobben,
nettleseren holder sesjonen, og ingenting måles.

| | API-veien | Webveien |
|---|---|---|
| Kostnad | per token, for alltid | ingenting utover abonnementet |
| Hastighet | rask | ~2,5 s per runde, målt |
| Verktøykall | innebygd og pålitelig | emulert, fungerer men svakere |
| Avhenger av | API-et | et nettsted som endrer seg uten varsel |

**Begge veiene blir installert.** Modellvelgeren er bryteren: bruk den billige veien som standard, og gå til API-et
når en oppgave trenger pålitelige verktøy.

---

## Installasjon

Uncle Sam er en **DeepSeek Harness-utvidelse**. Utenfor harness gjør den ingenting, fordi den registrerer en
modellleverandør, en rute på verten og to steder i grensesnittet.

**Krav**

| | |
|---|---|
| DeepSeek Harness | enhver nyere bygg med utvidelsesbehandler |
| Nettleser | Brave anbefales; Edge brukes automatisk når Brave mangler |
| Node | 22 eller nyere |

**Fra npm**

```bash
pnpm add @operatingtag/dsh-unclesam
```

**Fra dette repositoriet**

```bash
git clone https://github.com/operatingtag/dsh-unclesam
cd dsh-unclesam
pnpm install
```

Legg deretter til pakkelinjen i profilen din slik at harness laster den:

```yaml
# cordis.patch.yml
- insert:
    - id: dsh-unclesam
      name: '@operatingtag/dsh-unclesam'
      config:
        port: 9222
        defaultModel: deepseek-chat-search
        autoMinimise: true
```

**Eller fra en mappe:** Innstillinger → Utvidelser → installer fra en lokal bane, pek på mappen med `package.json`.

### Første kjøring

Klikk **Logg inn / åpne chat**. Nettleseren åpnes og **forblir synlig** til du har logget inn på chat.deepseek.com.
Deretter minimeres den av seg selv, og du ser den ikke igjen. Sesjonen lever i nettleserprofilen din, så
**utvidelsen lagrer ingen passord** — det er ingenting å lekke.

Du bør da se:

1. **Innstillinger → Uncle Sam** — en side med statuslinjer og en påloggingsknapp.
2. **Under meldingsfeltet** — `● DeepSeek Harness` eller `● Uncle Sam`, klikk for å bytte.
3. **Modellisten** — fire `(web)`-modeller ved siden av API-ets modeller.

### Fjerne

Innstillinger → Utvidelser → Uncle Sam → Avinstaller. Ingenting skrives utenfor nettleserprofilen du logget inn med.

---

## Bryteren API / web

**Modellvelgeren er bryteren.** Det finnes ingen andre kontroll, fordi en annen kontroll som også valgte modellen
ville være to sannhetskilder for én beslutning.

| Velg denne modellen | Vei | DeepThink | Søk |
|---|---|---|---|
| `DeepSeek Chat (web)` | nettleser | av | av |
| `DeepSeek Chat + Search (web)` | nettleser | av | **på** |
| `DeepSeek Reasoner (web)` | nettleser | **på** | av |
| `DeepSeek Reasoner + Search (web)` | nettleser | **på** | **på** |
| enhver modell uten `(web)` | API-et | — | — |

Et merke **WEB** eller **API** vises ved siden av modellnavnet, slik at den aktive veien ses med ett blikk. Når navnet
ikke gjenkjennes, viser merket ingenting i stedet for å gjette — et feil merke er verre enn ingen.

Valget ditt består mellom omstarter. **DeepThink** er resonneringspasset; **Søk** lar den lese det levende nettet.

### Søket vises i samtalen

Med en søkemodell gir en runde **to blokker** — spørringen den søkte med, kildene den fant, og deretter svaret som
brukte dem:

```
Nettsøk — «Hva er en teknologioppslag i dag?»
Kilder (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
Lenker: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
```

Siden avslører ikke spørringen den skrev internt, så den siterte spørringen er meldingen som utløste søket. Kilder og
lenker leses fra siden når svaret har lagt seg. Fordi kilder bare finnes til slutt, **bufres runder med søk i stedet
for å strømmes**; vanlige runder strømmes fortsatt token for token.

---

## Hvorfor en nettleser og ikke deres HTTP-API

Den åpenbare veien — å kalle `chat.deepseek.com`s eget API — ble prøvd og forlatt. Nettstedet tvinger hver melding
gjennom to porter:

| Port | Hva det betyr |
|---|---|
| `/api/v0/chat/create_pow_challenge` | et **arbeidsbevis** per melding |
| `challenges.cloudflare.com/turnstile` | en botport ved opprinnelsen |

Å gjenimplementere en av dem er et tapt spill: de er obfuskert, de endrer seg, og når de endrer seg ser feilen ut
nøyaktig som en nettverksfeil. **Siden løser allerede begge for sine egne forespørsler.**

Så adapteren snakker aldri HTTP med nettstedet. Den styrer siden, og siden gjør resten. Autentisering, arbeidsbevis
og Turnstile slutter å være vårt problem og kan ikke gå i stykker uavhengig av nettstedet selv.

**Verifisert:** en vanlig `HEAD` mot nettstedet gir `403`; nettleserveien gir svar.

---

## Grenser, sagt ærlig

**Verktøykall er emulert.** En webchat har ingen strukturert verktøykanal: verktøy beskrives i prompten, og et kall
gjenopprettes ved å trekke ut et JSON-objekt fra svaret. Det fungerer — verifisert — men er svakere enn innebygd
kall: en modell som ignorerer instruksjonen svarer i prosa, og harness ser ingen verktøybruk den runden. **For tungt
agentarbeid er API-veien mer pålitelig.** Webveien er best for samtale, lange svar, subagenter, komprimering og hver
runde der modellen må være webmodellen.

**Den avhenger av et nettsted du ikke kontrollerer.** Når siden bytter form, må utvidelsen følge med. Det er
utviklingsadvarselen øverst på denne siden, ikke en formalitet.

**Den er ikke knyttet til DeepSeek.** Den er ikke godkjent eller støttet av dem, og den gir deg ingen rettigheter i
tjenesten deres. Din bruk av den tjenesten styres av deres vilkår.

---

## Konfigurasjon

`cordis.patch.yml` setter:

| nøkkel | standard | betydning |
|---|---|---|
| `port` | `9222` | nettleserens feilsøkingsport |
| `defaultModel` | `deepseek-chat-search` | brukes når et kall ikke navngir en modell |
| `showBrowser` | `true` | om vinduet er synlig mens det arbeider |

Nettleseren må ha en innlogget `chat.deepseek.com`-sesjon. Det første kallet starter Brave med **Default**-profilen
hvis porten ikke allerede er åpen. Hvis Brave allerede kjører *uten* feilsøkingsport, kan ikke adapteren koble til, og
sier det tydelig i stedet for å feile stille.

---

## Oppbygning

```
index.js          adapteren: harness StreamChunk  ←→  motor
lib/engine.mjs    nettleser + side: skrive, sende, strømme, la legge seg
lib/cdp.mjs       Chrome DevTools Protocol-klient, uten avhengigheter
lib/prompt.mjs    flater ut meldinger + verktøy til én melding; henter kall ut av svaret
lib/savings.mjs   hva webveien sparte deg, priset mot API-et
lib/i18n.mjs      51 språk for panelet
```

**Ingen avhengigheter.** Node 24 har globale `WebSocket` og `fetch`, som er alt CDP trenger, så tokenstrømmen
forlater aldri vertsprosessen, og det er ingen IPC-hopp per delta.

---

## Støtte

Uncle Sam finnes for at du skal slutte å betale per token. Hvis det sparte deg penger og du vil se den neste bygget på
maskinvare som ikke går tom for minne halvveis:

**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**

En stjerne på repositoriet eller en nyttig feilrapport er like mye verdt.

---

## Lisens

**CC BY-NC-ND 4.0** — Creative Commons Navngivelse-IkkeKommersiell-IngenBearbeidelser 4.0 Internasjonal.
Copyright (c) 2026 Darren T. Weldon, publisert under navnet Operating Tag.

**Hele avtalen på én linje: installer og bruk personlig, gratis. Ikke endre, ikke del, ikke selg, og ikke bruk i en
bedrift.**

Dette er ikke åpen kildekode, og det later ikke som det er det.

```
du kan        installere og kjøre det · bruke det personlig, ikke-kommersielt
              lese kildekoden for å forstå den

du kan ikke   endre, tilpasse eller lage et bearbeidet verk
              kopiere, distribuere, publisere, speile eller
              gjøre det tilgjengelig for noen andre
              laste det opp til noen kodevert, register, nettsted, forum eller chat
              selge, videreselge, leie ut eller ta betalt for det eller for tilgang til det
              inkludere det i noe du gir videre til noen andre
              bruke det til noe kommersielt formål eller i næringsvirksomhet
```

**De eneste to legitime kildene er dette repositoriet og npm-pakken
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** En kopi fra et annet
sted er ikke lisensiert, uansett hvem som ga den. Hvis du ser denne programvaren til salgs, er det ikke forfatteren
som selger den.

**Kommersiell bruk, samt retten til å endre og distribuere, finnes under en egen skriftlig lisens.** Spør Operating
Tag — du får et klart svar og en klar pris.

Filen [LICENSE](LICENSE) er den gjeldende, og den begynner med det samme sammendraget på enkel engelsk.

---

Uncle Sam er en uavhengig utvidelse. Ikke knyttet til DeepSeek, ikke godkjent eller støttet av dem.

```
@operatingtag/dsh-unclesam   v1.3.5
Forfatter   Operating Tag
Lisens      CC BY-NC-ND 4.0 — fritt å bruke, ikke å endre, dele eller selge
```
