[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) · [العربية](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](README.no.md) · [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

**DeepSeek Harnessin tarjoaja, joka vastaa oman selaimesi kautta sillä verkkotilillä, joka sinulla jo on, laskutetun API:n sijaan.**

**DeepSeek Harness -lisäosa, joka ohjaa chat.deepseek.com-sivua oikeassa selaimessa — ilmainen vaihtoehto DeepSeekin API:lle. Keskustelu, DeepThink ja verkkohaku omalla tililläsi: ei API-avainta, ei maksua tokenilta.**

**☕ [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.

> **Tämä tuote on aktiivisessa kehityksessä. Odota bugeja.**
>
> Se toimii, on nopea ja sitä on käytetty päivittäin viikkoja — mutta se muuttuu jatkuvasti, ja selainpolku riippuu
> sivustosta, joka muuttuu ilman varoitusta. Jos jokin menee rikki, kuvakaappaus ja versionumero ovat arvokkaampia kuin
> kuvaus. Kiinnitä versio, jos olet siitä riippuvainen.

```
tarjoaja   deepseek-web
mallit     deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
hinta      ei mitään tokenilta — käyttää selaimessasi jo avoinna olevaa tilausta
tila       kehityksessä — odota bugeja
mitattu    ensimmäinen token ~1,9 s · ylimääräinen ~0,6 s · koko kierros ~2,5 s
```

Web-polun vastaukset allekirjoitetaan **🔴 Uncle Sam**. Nimi on vitsi, ei väite: se kertoo, mikä polku vastasi, ja
API-vastauksissa ei ole lainkaan allekirjoitusta. Tiedät aina, kuka sinulle vastasi.

---

## Mitä se säästää

API laskuttaa tokenilta. Verkkotuote ei. Tämä lisäosa rekisteröi `deepseek-web`-mallitarjoajan ja vastaa jokaiseen
kutsuun ohjaamalla `chat.deepseek.com`-sivua oikeassa selaimessa — sivu tekee työn, selain pitää istunnon, eikä mitään
mitata.

| | API-polku | Web-polku |
|---|---|---|
| Hinta | tokenilta, aina | ei mitään tilauksen lisäksi |
| Nopeus | nopea | ~2,5 s kierrosta kohden, mitattu |
| Työkalujen kutsu | natiivi ja luotettava | emuloitu, toimii mutta heikompi |
| Riippuu | API:sta | sivustosta, joka muuttuu ilman varoitusta |

**Molemmat polut pysyvät asennettuina.** Mallivalitsin on kytkin: käytä halpaa polkua oletuksena ja siirry API:in, kun
tehtävä vaatii luotettavia työkaluja.

---

## Asennus

Uncle Sam on **DeepSeek Harness -lisäosa**. Harnessin ulkopuolella se ei tee mitään, koska se rekisteröi
mallitarjoajan, reitin isännälle ja kaksi kohtaa käyttöliittymään.

**Vaatimukset**

| | |
|---|---|
| DeepSeek Harness | mikä tahansa tuore versio, jossa on lisäosien hallinta |
| Selain | Brave suositeltu; Edgeä käytetään automaattisesti, jos Brave puuttuu |
| Node | 22 tai uudempi |

**npm:stä**

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

**Tästä repositoriosta**

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

Lisää sitten pakettirivi profiiliisi, jotta harness lataa sen:

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

**Tai kansiosta:** Asetukset → Lisäosat → asenna paikallisesta polusta, osoita kansio, jossa on `package.json`.

### Ensimmäinen käynnistys

Napsauta **Kirjaudu / avaa chat**. Selain avautuu ja **pysyy näkyvissä**, kunnes olet kirjautunut chat.deepseek.comiin.
Sen jälkeen se pienentyy itsestään, etkä näe sitä enää. Istunto on selainprofiilissasi, joten **lisäosa ei tallenna
salasanaa** — ei ole mitään vuodettavaa.

Sinun pitäisi nähdä:

1. **Asetukset → Uncle Sam** — sivu, jossa tilan rivit ja kirjautumispainike.
2. **Viestikentän alla** — `● DeepSeek Harness` tai `● Uncle Sam`, napsauta vaihtaaksesi.
3. **Malliluettelo** — neljä `(web)`-mallia API:n mallien vieressä.

### Poistaminen

Asetukset → Lisäosat → Uncle Sam → Poista asennus. Mitään ei kirjoiteta sen selainprofiilin ulkopuolelle, jolla
kirjauduit.

---

## API / web -kytkin

**Mallivalitsin on kytkin.** Toista säätöä ei ole, koska toinen säätö, joka valitsisi myös mallin, olisi kaksi totuuden
lähdettä yhdelle päätökselle.

| Valitse tämä malli | Polku | DeepThink | Haku |
|---|---|---|---|
| `DeepSeek Chat (web)` | selain | pois | pois |
| `DeepSeek Chat + Search (web)` | selain | pois | **päällä** |
| `DeepSeek Reasoner (web)` | selain | **päällä** | pois |
| `DeepSeek Reasoner + Search (web)` | selain | **päällä** | **päällä** |
| mikä tahansa malli ilman `(web)` | API | — | — |

Mallin nimen vieressä näkyy **WEB**- tai **API**-merkki, joten aktiivinen polku näkyy yhdellä silmäyksellä. Kun nimeä
ei tunnisteta, merkki ei näytä mitään sen sijaan että arvaisi — väärä merkki olisi pahempi kuin ei merkkiä.

Valintasi säilyy uudelleenkäynnistysten yli. **DeepThink** on päättelykierros; **Haku** antaa sen lukea elävää
verkkoa.

### Haku näkyy keskustelussa

Hakumallin kanssa yksi kierros tuottaa **kaksi lohkoa** — kyselyn, jolla se haki, löydetyt lähteet ja sitten
vastauksen, joka niitä käytti:

```
Verkkohaku — "Mikä on tämän päivän teknologiaotsikko?"
Lähteet (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
Linkit: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
```

Sivu ei paljasta kyselyä, jonka se kirjoitti sisäisesti, joten siteerattu kysely on viesti, joka käynnisti haun.
Lähteet ja linkit luetaan sivulta, kun vastaus on asettunut. Koska lähteitä on vain lopussa, **hakukierrokset
puskuroidaan virtaamisen sijaan**; tavalliset kierrokset virtaavat edelleen token kerrallaan.

---

## Miksi selain eikä heidän HTTP-API

Ilmeinen polku — kutsua `chat.deepseek.com`in omaa API:a — kokeiltiin ja hylättiin. Sivusto pakottaa jokaisen viestin
kahden portin läpi:

| Portti | Mitä se tarkoittaa |
|---|---|
| `/api/v0/chat/create_pow_challenge` | **työtodistus** jokaista viestiä kohden |
| `challenges.cloudflare.com/turnstile` | bottiportti alkuperässä |

Kumman tahansa uudelleenrakentaminen on hävitty peli: ne on hämärretty, ne muuttuvat, ja kun ne muuttuvat, vika näyttää
täsmälleen verkkohäiriöltä. **Sivu ratkaisee jo molemmat omien pyyntöjensä osalta.**

Siksi sovitin ei koskaan puhu HTTP:tä sivuston kanssa. Se ohjaa sivua, ja sivu tekee loput. Todennus, työtodistus ja
Turnstile lakkaavat olemasta ongelmamme eivätkä voi hajota erillään itse sivustosta.

**Vahvistettu:** pelkkä `HEAD` sivustolle palauttaa `403`; selainpolku palauttaa vastauksia.

---

## Rajat, rehellisesti sanottuna

**Työkalujen kutsu on emuloitu.** Verkkokeskustelussa ei ole jäsenneltyä työkalukanavaa: työkalut kuvataan kehotteessa
ja kutsu palautetaan poimimalla JSON-objekti vastauksesta. Se toimii — vahvistettu — mutta on heikompi kuin natiivi
kutsu: malli, joka jättää ohjeen huomiotta, vastaa proosalla, eikä harness näe työkalujen käyttöä sillä kierroksella.
**Raskaaseen agenttityöhön API-polku on luotettavampi.** Web-polku sopii parhaiten keskusteluun, pitkiin vastauksiin,
alagentteihin, tiivistämiseen ja jokaiseen kierrokseen, jossa mallin on oltava web-malli.

**Se riippuu sivustosta, jota et hallitse.** Kun sivu muuttaa muotoaan, lisäosan on muututtava mukana. Se on tämän
sivun yläreunan kehitysvaroitus, ei muodollisuus.

**Se ei liity DeepSeekiin.** He eivät hyväksy tai tue sitä, eikä se anna sinulle mitään oikeuksia heidän palveluunsa.
Käyttöäsi siinä palvelussa säätelevät heidän ehtonsa.

---

## Asetukset

`cordis.patch.yml` asettaa:

| avain | oletus | merkitys |
|---|---|---|
| `port` | `9222` | selaimen virheenkorjausportti |
| `defaultModel` | `deepseek-chat-search` | käytetään, kun kutsu ei nimeä mallia |
| `showBrowser` | `true` | näkyykö ikkuna työn aikana |

Selaimessa on oltava kirjautunut `chat.deepseek.com`-istunto. Ensimmäinen kutsu käynnistää Braven **Default**-profiililla,
jos portti ei ole jo auki. Jos Brave on jo käynnissä *ilman* virheenkorjausporttia, sovitin ei voi liittyä ja sanoo sen
selvästi sen sijaan että epäonnistuisi hiljaa.

---

## Rakenne

```
index.js          sovitin: harnessin StreamChunk  ←→  moottori
lib/engine.mjs    selain + sivu: kirjoita, lähetä, virtaa, anna asettua
lib/cdp.mjs       Chrome DevTools Protocol -asiakas, ei riippuvuuksia
lib/prompt.mjs    litistää viestit + työkalut yhdeksi viestiksi; poimii kutsut vastauksesta
lib/savings.mjs   mitä web-polku säästi, hinnoiteltuna API:ta vasten
lib/i18n.mjs      51 kieltä paneelille
```

**Ei riippuvuuksia.** Nodessa 24 on globaalit `WebSocket` ja `fetch`, mikä on kaikki mitä CDP tarvitsee, joten
tokenvirta ei koskaan poistu isäntäprosessista eikä jokaisesta deltasta ole IPC-hyppyä.

---

## Tuki

Uncle Sam on olemassa, jotta lopetat tokenikohtaisen maksamisen. Jos se säästi rahaa ja haluaisit nähdä seuraavan
rakennettuna laitteistolle, jolta muisti ei lopu kesken:

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

Tähti repositoriossa tai hyödyllinen virheraportti on yhtä arvokas.

---

## Lisenssi

**CC BY-NC-ND 4.0** — Creative Commons Nimeä-EiKaupallinen-EiMuutoksia 4.0 Kansainvälinen.
Copyright (c) 2026 Darren T. Weldon, julkaistu nimellä Operating Tag.

**Koko sopimus yhdellä rivillä: asenna ja käytä henkilökohtaisesti, ilmaiseksi. Älä muuta, älä jaa, älä myy äläkä
käytä yrityksessä.**

Tämä ei ole avointa lähdekoodia, eikä se teeskentele olevansa.

```
saat        asentaa ja ajaa sitä · käyttää sitä henkilökohtaisesti, ei-kaupallisesti
            lukea lähdekoodia ymmärtääksesi sitä

et saa      muuttaa, sovittaa tai luoda johdannaisteosta
            kopioida, jakaa, julkaista, peilata tai
            saattaa kenenkään muun saataville
            ladata sitä mihinkään koodin hosting-palveluun, rekisteriin, sivustolle, foorumille tai chattiin
            myydä, jälleenmyydä, vuokrata tai periä maksua siitä tai sen käytöstä
            sisällyttää sitä mihinkään, jonka luovutat toiselle
            käyttää mihin tahansa kaupalliseen tarkoitukseen tai liiketoiminnan yhteydessä
```

**Ainoat kaksi laillista lähdettä ovat tämä repositorio ja npm-paketti
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Muualta saatu kopio ei
ole lisensoitu, kuka sen ikinä antoikaan. Jos näet tämän ohjelmiston myynnissä, sitä ei myy sen tekijä.

**Kaupallinen käyttö sekä oikeus muuttaa ja jakaa ovat saatavissa erillisellä kirjallisella lisenssillä.** Kysy
Operating Tagilta — saat selvän vastauksen ja selvän hinnan.

Tiedosto [LICENSE](LICENSE) on ratkaiseva, ja se alkaa samalla yhteenvedolla yksinkertaisella englannilla.

---

Uncle Sam on itsenäinen lisäosa. Ei sidoksissa DeepSeekiin, ei heidän hyväksymänsä tai tukemansa.

```
@operatingtag/dsh-unclesam   v1.3.5
Tekijä     Operating Tag
Lisenssi   CC BY-NC-ND 4.0 — vapaa käytettäväksi, ei muutettavaksi, jaettavaksi tai myytäväksi
```
