@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/CHANGELOG.md +35 -0
- package/LICENSE +2 -0
- package/README.de.md +274 -0
- package/README.es.md +268 -0
- package/README.fr.md +272 -0
- package/README.hi.md +263 -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.ru.md +269 -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 +18 -2
package/README.id.md
ADDED
|
@@ -0,0 +1,264 @@
|
|
|
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**
|
|
2
|
+
|
|
3
|
+
# Uncle Sam
|
|
4
|
+
|
|
5
|
+
**Sebuah penyedia untuk DeepSeek Harness yang menjawab lewat browser Anda sendiri, di akun web yang sudah Anda punya, bukan lewat API berbayar.**
|
|
6
|
+
|
|
7
|
+
**☕ [Traktir saya kopi](https://revolut.me/operatingtag)** — ditulis oleh satu orang, di malam hari, tanpa pendanaan. Tidak ada model pendapatan lain. Satu bintang atau laporan bug yang berguna sama nilainya.
|
|
8
|
+
|
|
9
|
+
> **Produk ini sedang dikembangkan secara aktif. Harapkan bug.**
|
|
10
|
+
>
|
|
11
|
+
> Ia bekerja, cepat, dan sudah dipakai setiap hari selama berminggu-minggu — tetapi terus berubah, dan jalur
|
|
12
|
+
> browser bergantung pada sebuah situs yang berubah tanpa pemberitahuan. Kalau ada yang rusak, tangkapan layar dan
|
|
13
|
+
> nomor versi lebih berguna daripada deskripsi. Pin versinya kalau Anda bergantung padanya.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
penyedia deepseek-web
|
|
17
|
+
model deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
18
|
+
biaya nol per token — memakai langganan yang sudah terbuka di browser Anda
|
|
19
|
+
status dalam pengembangan — harapkan bug
|
|
20
|
+
terukur token pertama ~1,9 dtk · tambahan ~0,6 dtk · satu giliran ~2,5 dtk
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Jawaban dari jalur web ditandatangani **🔴 Uncle Sam**. Nama itu adalah lelucon, bukan klaim: ia menandai jalur
|
|
24
|
+
mana yang menjawab, sedangkan jawaban API tidak bertanda tangan sama sekali. Anda selalu tahu siapa yang menjawab.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Apa yang dihemat
|
|
29
|
+
|
|
30
|
+
API menagih per token. Produk web tidak. Plugin ini mendaftarkan `deepseek-web` sebagai penyedia model dan menjawab
|
|
31
|
+
setiap panggilan dengan mengendalikan `chat.deepseek.com` di browser sungguhan — halaman yang bekerja, browser
|
|
32
|
+
yang menyimpan sesi, dan tidak ada yang diukur.
|
|
33
|
+
|
|
34
|
+
| | Jalur API | Jalur web |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Biaya | per token, selamanya | tidak ada selain langganan |
|
|
37
|
+
| Kecepatan | cepat | ~2,5 dtk per giliran, terukur |
|
|
38
|
+
| Panggilan alat | asli dan andal | ditiru, berjalan tetapi lebih lemah |
|
|
39
|
+
| Bergantung pada | API | situs yang berubah tanpa pemberitahuan |
|
|
40
|
+
|
|
41
|
+
**Kedua jalur tetap terpasang.** Pemilih model adalah sakelarnya: pakai jalur murah sebagai bawaan, dan beralih ke
|
|
42
|
+
API saat tugas membutuhkan alat yang andal.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Memasang
|
|
47
|
+
|
|
48
|
+
Uncle Sam adalah **plugin DeepSeek Harness**. Di luar harness ia tidak melakukan apa pun, karena ia mendaftarkan
|
|
49
|
+
penyedia model, satu rute host, dan dua tempat antarmuka.
|
|
50
|
+
|
|
51
|
+
**Persyaratan**
|
|
52
|
+
|
|
53
|
+
| | |
|
|
54
|
+
|---|---|
|
|
55
|
+
| DeepSeek Harness | versi terbaru mana pun dengan pengelola plugin |
|
|
56
|
+
| Browser | Brave disarankan; Edge dipakai otomatis jika Brave tidak ada |
|
|
57
|
+
| Node | 22 atau lebih baru |
|
|
58
|
+
|
|
59
|
+
**Dari npm**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Dari repositori ini**
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
69
|
+
cd dsh-unclesam
|
|
70
|
+
pnpm install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Lalu tambahkan baris paket ke profil Anda agar harness memuatnya:
|
|
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
|
+
**Atau dari folder:** Pengaturan → Plugin → pasang dari jalur lokal, menunjuk folder yang berisi `package.json`.
|
|
87
|
+
|
|
88
|
+
### Menjalankan pertama kali
|
|
89
|
+
|
|
90
|
+
Klik **Masuk / buka obrolan**. Browser terbuka dan **tetap terlihat** sampai Anda masuk di chat.deepseek.com.
|
|
91
|
+
Setelah itu ia mengecil sendiri dan Anda tidak akan melihatnya lagi. Sesi hidup di profil browser Anda, jadi
|
|
92
|
+
**plugin tidak menyimpan kata sandi apa pun** — tidak ada yang bisa bocor.
|
|
93
|
+
|
|
94
|
+
Anda seharusnya melihat:
|
|
95
|
+
|
|
96
|
+
1. **Pengaturan → Uncle Sam** — halaman dengan baris status dan tombol masuk.
|
|
97
|
+
2. **Di bawah kotak pesan** — `● DeepSeek Harness` atau `● Uncle Sam`, klik untuk beralih.
|
|
98
|
+
3. **Daftar model** — empat model `(web)` di samping model API.
|
|
99
|
+
|
|
100
|
+
### Menghapus
|
|
101
|
+
|
|
102
|
+
Pengaturan → Plugin → Uncle Sam → Copot pemasangan. Tidak ada yang ditulis di luar profil browser tempat Anda
|
|
103
|
+
masuk.
|
|
104
|
+
|
|
105
|
+
---
|
|
106
|
+
|
|
107
|
+
## Sakelar API / web
|
|
108
|
+
|
|
109
|
+
**Pemilih model adalah sakelarnya.** Tidak ada kontrol kedua, karena kontrol kedua yang juga memilih model berarti
|
|
110
|
+
dua sumber kebenaran untuk satu keputusan.
|
|
111
|
+
|
|
112
|
+
| Pilih model ini | Jalur | DeepThink | Pencarian |
|
|
113
|
+
|---|---|---|---|
|
|
114
|
+
| `DeepSeek Chat (web)` | browser | mati | mati |
|
|
115
|
+
| `DeepSeek Chat + Search (web)` | browser | mati | **hidup** |
|
|
116
|
+
| `DeepSeek Reasoner (web)` | browser | **hidup** | mati |
|
|
117
|
+
| `DeepSeek Reasoner + Search (web)` | browser | **hidup** | **hidup** |
|
|
118
|
+
| model tanpa `(web)` | API | — | — |
|
|
119
|
+
|
|
120
|
+
Lencana **WEB** atau **API** muncul di samping nama model supaya jalur aktif terlihat sekilas. Bila nama tidak
|
|
121
|
+
dikenali, lencana tidak menampilkan apa pun alih-alih menebak — lencana yang salah lebih buruk daripada tidak ada.
|
|
122
|
+
|
|
123
|
+
Pilihan Anda bertahan setelah mulai ulang. **DeepThink** adalah lintasan penalaran; **Pencarian** membiarkannya
|
|
124
|
+
membaca web langsung.
|
|
125
|
+
|
|
126
|
+
### Pencarian terlihat di percakapan
|
|
127
|
+
|
|
128
|
+
Dengan model pencarian, satu giliran menghasilkan **dua blok** — kueri yang dipakainya, sumber yang ditemukan, lalu
|
|
129
|
+
jawaban yang memakainya:
|
|
130
|
+
|
|
131
|
+
```
|
|
132
|
+
Pencarian web — "Apa satu judul berita teknologi hari ini?"
|
|
133
|
+
Sumber (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
134
|
+
Tautan: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Halaman tidak membuka kueri yang diketiknya secara internal, jadi kueri yang dikutip adalah pesan yang memicu
|
|
138
|
+
pencarian. Sumber dan tautan dibaca dari halaman setelah jawaban tenang. Karena sumber hanya ada di akhir,
|
|
139
|
+
**giliran berpencarian dikumpulkan alih-alih dialirkan**; giliran biasa tetap mengalir token demi token.
|
|
140
|
+
|
|
141
|
+
---
|
|
142
|
+
|
|
143
|
+
## Mengapa browser, bukan HTTP API mereka
|
|
144
|
+
|
|
145
|
+
Jalur yang jelas — memanggil API `chat.deepseek.com` sendiri — sudah dicoba dan ditinggalkan. Situs memaksa setiap
|
|
146
|
+
pesan melewati dua gerbang:
|
|
147
|
+
|
|
148
|
+
| Gerbang | Artinya |
|
|
149
|
+
|---|---|
|
|
150
|
+
| `/api/v0/chat/create_pow_challenge` | **bukti kerja** per pesan |
|
|
151
|
+
| `challenges.cloudflare.com/turnstile` | gerbang bot di origin |
|
|
152
|
+
|
|
153
|
+
Membangun ulang salah satunya adalah pertandingan yang pasti kalah: keduanya dikaburkan, keduanya berubah, dan saat
|
|
154
|
+
berubah kegagalannya tampak persis seperti gangguan jaringan. **Halaman sudah menyelesaikan keduanya untuk
|
|
155
|
+
permintaannya sendiri.**
|
|
156
|
+
|
|
157
|
+
Jadi adaptor tidak pernah berbicara HTTP dengan situs. Ia mengendalikan halaman, dan halaman melakukan sisanya.
|
|
158
|
+
Autentikasi, bukti kerja, dan Turnstile berhenti menjadi masalah kita dan tidak bisa rusak terpisah dari situsnya.
|
|
159
|
+
|
|
160
|
+
**Terverifikasi:** sebuah `HEAD` biasa ke situs mengembalikan `403`; jalur browser mengembalikan jawaban.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Batasan, dinyatakan jujur
|
|
165
|
+
|
|
166
|
+
**Pemakaian alat ditiru.** Obrolan web tidak punya kanal alat terstruktur: alat dijelaskan di prompt, dan panggilan
|
|
167
|
+
dipulihkan dengan mengurai objek JSON dari jawaban. Ini bekerja — terverifikasi — tetapi lebih lemah daripada
|
|
168
|
+
panggilan alat asli: model yang mengabaikan instruksi menjawab dengan prosa, dan harness tidak melihat pemakaian
|
|
169
|
+
alat pada giliran itu. **Untuk kerja agen yang berat, jalur API lebih andal.** Jalur web paling cocok untuk obrolan,
|
|
170
|
+
jawaban panjang, subagen, pemadatan, dan giliran mana pun di mana model harus menjadi model web.
|
|
171
|
+
|
|
172
|
+
**Ini bergantung pada situs yang tidak Anda kendalikan.** Saat halaman berubah bentuk, plugin harus berubah
|
|
173
|
+
bersamanya. Itulah peringatan pengembangan di bagian atas halaman ini, bukan formalitas.
|
|
174
|
+
|
|
175
|
+
**Ini tidak berafiliasi dengan DeepSeek.** Tidak didukung maupun disponsori oleh mereka, dan tidak memberi Anda
|
|
176
|
+
hak apa pun atas layanan mereka. Pemakaian Anda atas layanan itu diatur oleh ketentuan mereka.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Konfigurasi
|
|
181
|
+
|
|
182
|
+
`cordis.patch.yml` mengatur:
|
|
183
|
+
|
|
184
|
+
| kunci | bawaan | arti |
|
|
185
|
+
|---|---|---|
|
|
186
|
+
| `port` | `9222` | port debug browser |
|
|
187
|
+
| `defaultModel` | `deepseek-chat-search` | dipakai saat panggilan tidak menyebut model |
|
|
188
|
+
| `showBrowser` | `true` | apakah jendela terlihat selama bekerja |
|
|
189
|
+
|
|
190
|
+
Browser harus memiliki sesi `chat.deepseek.com` yang sudah masuk. Panggilan pertama meluncurkan Brave pada profil
|
|
191
|
+
**Default** jika port belum terbuka. Jika Brave sudah berjalan *tanpa* port debug, adaptor tidak bisa menempel dan
|
|
192
|
+
mengatakannya dengan jelas alih-alih gagal diam-diam.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Struktur
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
index.js adaptor: StreamChunk harness ←→ mesin
|
|
200
|
+
lib/engine.mjs browser + halaman: ketik, kirim, alirkan, tenangkan
|
|
201
|
+
lib/cdp.mjs klien Chrome DevTools Protocol, tanpa dependensi
|
|
202
|
+
lib/prompt.mjs meratakan pesan + alat menjadi satu pesan; memulihkan panggilan dari jawaban
|
|
203
|
+
lib/savings.mjs berapa yang dihemat jalur web, dihargai terhadap API
|
|
204
|
+
lib/i18n.mjs 51 bahasa untuk panel
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Tanpa dependensi.** Node 24 menyertakan `WebSocket` dan `fetch` global, itu saja yang dibutuhkan CDP, jadi arus
|
|
208
|
+
token tidak pernah meninggalkan proses host dan tidak ada lompatan IPC per delta.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Dukungan
|
|
213
|
+
|
|
214
|
+
Uncle Sam ada supaya Anda berhenti membayar per token. Jika ia menghemat uang Anda dan Anda ingin melihat yang
|
|
215
|
+
berikutnya dibangun di perangkat keras yang tidak kehabisan memori di tengah jalan:
|
|
216
|
+
|
|
217
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
218
|
+
|
|
219
|
+
Satu bintang di repositori atau laporan bug yang berguna sama nilainya.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Lisensi
|
|
224
|
+
|
|
225
|
+
**CC BY-NC-ND 4.0** — Creative Commons Atribusi-NonKomersial-TanpaTurunan 4.0 Internasional.
|
|
226
|
+
Copyright (c) 2026 Darren T. Weldon, diterbitkan dengan nama Operating Tag.
|
|
227
|
+
|
|
228
|
+
**Seluruh kesepakatan dalam satu baris: pasang dan pakai secara pribadi, gratis. Jangan ubah, jangan bagikan,
|
|
229
|
+
jangan jual, dan jangan pakai di perusahaan.**
|
|
230
|
+
|
|
231
|
+
Ini bukan sumber terbuka, dan tidak berpura-pura demikian.
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
Anda boleh memasang dan menjalankannya · memakainya secara pribadi, non-komersial
|
|
235
|
+
membaca kode sumber untuk memahaminya
|
|
236
|
+
|
|
237
|
+
Anda tidak mengubahnya, mengadaptasinya, atau membuat karya turunan
|
|
238
|
+
boleh menyalin, mendistribusikan, menerbitkan, mencerminkan, atau
|
|
239
|
+
menyediakannya bagi siapa pun
|
|
240
|
+
mengunggahnya ke hosting kode, registri, situs, forum, atau obrolan mana pun
|
|
241
|
+
menjual, menjual ulang, menyewakan, atau memungut bayaran untuknya atau untuk aksesnya
|
|
242
|
+
memasukkannya ke dalam apa pun yang Anda serahkan kepada orang lain
|
|
243
|
+
memakainya untuk tujuan komersial apa pun atau dalam kegiatan usaha
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Hanya ada dua sumber sah: repositori ini dan paket npm
|
|
247
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Salinan dari tempat
|
|
248
|
+
lain tidak berlisensi, siapa pun yang memberikannya. Jika Anda melihat perangkat lunak ini dijual, bukan penulisnya
|
|
249
|
+
yang menjual.
|
|
250
|
+
|
|
251
|
+
**Pemakaian komersial, serta hak mengubah dan mendistribusikan, tersedia melalui lisensi tertulis terpisah.** Tanya
|
|
252
|
+
Operating Tag — Anda akan mendapat jawaban jelas dan harga jelas.
|
|
253
|
+
|
|
254
|
+
Berkas [LICENSE](LICENSE) yang mengikat, dan ia dibuka dengan ringkasan yang sama dalam bahasa Inggris sederhana.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
Uncle Sam adalah plugin independen. Tidak berafiliasi dengan DeepSeek, tidak didukung maupun disponsori oleh mereka.
|
|
259
|
+
|
|
260
|
+
```
|
|
261
|
+
@operatingtag/dsh-unclesam v1.0.1
|
|
262
|
+
Penulis Operating Tag
|
|
263
|
+
Lisensi CC BY-NC-ND 4.0 — bebas dipakai, tidak untuk diubah, dibagikan, atau dijual
|
|
264
|
+
```
|
package/README.it.md
ADDED
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
[English](README.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · [Português](README.pt.md) · **Italiano** · [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 provider per DeepSeek Harness che risponde attraverso il tuo browser, sull'account web che hai già, invece dell'API a pagamento.**
|
|
6
|
+
|
|
7
|
+
**☕ [Offrimi un caffè](https://revolut.me/operatingtag)** — scritto da una persona, di notte, senza finanziamenti. Non c'è nessun altro modello di ricavo. Una stella o una segnalazione di bug valgono lo stesso.
|
|
8
|
+
|
|
9
|
+
> **Questo prodotto è in sviluppo attivo. Aspettati dei bug.**
|
|
10
|
+
>
|
|
11
|
+
> Funziona, è veloce ed è usato ogni giorno da settimane — ma cambia di continuo, e la strada del browser dipende
|
|
12
|
+
> da un sito che cambia senza avvisare. Se qualcosa si rompe, uno screenshot e il numero di versione valgono più
|
|
13
|
+
> di una descrizione. Fissa una versione se ci fai affidamento.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
provider deepseek-web
|
|
17
|
+
modelli deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
18
|
+
costo niente per token — usa l'abbonamento già aperto nel tuo browser
|
|
19
|
+
stato in sviluppo — aspettati dei bug
|
|
20
|
+
misurato primo token ~1,9 s · sovraccarico ~0,6 s · un turno completo in ~2,5 s
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Le risposte della strada web sono firmate **🔴 Uncle Sam**. Il nome è uno scherzo, non una dichiarazione: indica
|
|
24
|
+
quale strada ha risposto, e le risposte dell'API non portano alcuna firma. Sai sempre chi ti ha risposto.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Quanto ti fa risparmiare
|
|
29
|
+
|
|
30
|
+
L'API fattura per token. Il prodotto web no. Questo plugin registra `deepseek-web` come provider di modelli e
|
|
31
|
+
risponde a ogni chiamata guidando `chat.deepseek.com` in un browser vero — il lavoro lo fa la pagina, la sessione
|
|
32
|
+
la tiene il browser, e niente viene misurato.
|
|
33
|
+
|
|
34
|
+
| | Strada API | Strada web |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Costo | per token, per sempre | niente oltre l'abbonamento |
|
|
37
|
+
| Velocità | veloce | ~2,5 s per turno, misurato |
|
|
38
|
+
| Chiamata strumenti | nativa e affidabile | emulata, funziona ma è più debole |
|
|
39
|
+
| Dipende da | l'API | un sito che cambia senza avvisare |
|
|
40
|
+
|
|
41
|
+
**Restano installate entrambe le strade.** Il selettore di modello è l'interruttore: usa quella economica come
|
|
42
|
+
predefinita e passa all'API quando un compito richiede strumenti affidabili.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Installazione
|
|
47
|
+
|
|
48
|
+
Uncle Sam è un **plugin di DeepSeek Harness**. Fuori dall'harness non fa nulla, perché registra un provider di
|
|
49
|
+
modelli, una rotta sull'host e due spazi dell'interfaccia.
|
|
50
|
+
|
|
51
|
+
**Requisiti**
|
|
52
|
+
|
|
53
|
+
| | |
|
|
54
|
+
|---|---|
|
|
55
|
+
| DeepSeek Harness | qualsiasi versione recente con il gestore di plugin |
|
|
56
|
+
| Browser | Brave consigliato, Edge usato automaticamente se manca Brave |
|
|
57
|
+
| Node | 22 o superiore |
|
|
58
|
+
|
|
59
|
+
**Da npm**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Da questo repository**
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
69
|
+
cd dsh-unclesam
|
|
70
|
+
pnpm install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Poi aggiungi la riga del pacchetto al tuo profilo perché l'harness lo carichi:
|
|
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
|
+
**Oppure da una cartella:** Impostazioni → Plugin → installa da un percorso locale, indicando la cartella con il
|
|
87
|
+
`package.json`.
|
|
88
|
+
|
|
89
|
+
### Primo avvio
|
|
90
|
+
|
|
91
|
+
Premi **Accedi / apri la chat**. Il browser si apre e **resta visibile** finché non hai fatto l'accesso su
|
|
92
|
+
chat.deepseek.com. Dopo si riduce da solo e non lo vedrai più. La sessione vive nel profilo del browser, quindi
|
|
93
|
+
**il plugin non memorizza nessuna password** — non c'è niente da far trapelare.
|
|
94
|
+
|
|
95
|
+
Dovresti poi vedere:
|
|
96
|
+
|
|
97
|
+
1. **Impostazioni → Uncle Sam** — una pagina con righe di stato e un pulsante di accesso.
|
|
98
|
+
2. **Sotto la casella di testo** — `● DeepSeek Harness` o `● Uncle Sam`, clicca per cambiare.
|
|
99
|
+
3. **L'elenco dei modelli** — quattro modelli `(web)` accanto a quelli dell'API.
|
|
100
|
+
|
|
101
|
+
### Rimuoverlo
|
|
102
|
+
|
|
103
|
+
Impostazioni → Plugin → Uncle Sam → Disinstalla. Non viene scritto nulla fuori dal profilo del browser con cui
|
|
104
|
+
hai fatto l'accesso.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## L'interruttore API / web
|
|
109
|
+
|
|
110
|
+
**Il selettore di modello è l'interruttore.** Non c'è un secondo comando, perché un secondo comando che scegliesse
|
|
111
|
+
anche il modello sarebbe due fonti di verità per una sola decisione.
|
|
112
|
+
|
|
113
|
+
| Scegli questo modello | Strada | DeepThink | Ricerca |
|
|
114
|
+
|---|---|---|---|
|
|
115
|
+
| `DeepSeek Chat (web)` | browser | off | off |
|
|
116
|
+
| `DeepSeek Chat + Search (web)` | browser | off | **on** |
|
|
117
|
+
| `DeepSeek Reasoner (web)` | browser | **on** | off |
|
|
118
|
+
| `DeepSeek Reasoner + Search (web)` | browser | **on** | **on** |
|
|
119
|
+
| qualsiasi modello senza `(web)` | l'API | — | — |
|
|
120
|
+
|
|
121
|
+
Accanto al nome del modello compare un badge **WEB** o **API**, così la strada attiva si vede a colpo d'occhio.
|
|
122
|
+
Quando il nome non viene riconosciuto il badge non mostra nulla invece di indovinare — un badge sbagliato sarebbe
|
|
123
|
+
peggio di nessun badge.
|
|
124
|
+
|
|
125
|
+
La scelta resta anche dopo il riavvio. **DeepThink** è la passata di ragionamento; **Ricerca** gli permette di
|
|
126
|
+
leggere il web dal vivo.
|
|
127
|
+
|
|
128
|
+
### La ricerca si vede nella conversazione
|
|
129
|
+
|
|
130
|
+
Con un modello di ricerca un turno produce **due blocchi** — la query usata, le fonti trovate e poi la risposta
|
|
131
|
+
che se n'è servita:
|
|
132
|
+
|
|
133
|
+
```
|
|
134
|
+
Ricerca web — «Qual è una notizia tecnologica di oggi?»
|
|
135
|
+
Fonti (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
136
|
+
Link: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
La pagina non espone la query digitata internamente, quindi la query citata è il messaggio che ha fatto partire la
|
|
140
|
+
ricerca. Fonti e link vengono letti dalla pagina quando la risposta si è assestata. Poiché le fonti esistono solo
|
|
141
|
+
alla fine, **i turni con ricerca si accumulano invece di andare in streaming**; i turni normali continuano a
|
|
142
|
+
streaming token per token.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Perché un browser e non la loro API HTTP
|
|
147
|
+
|
|
148
|
+
La strada ovvia — chiamare l'API di `chat.deepseek.com` — è stata tentata e abbandonata. Il sito fa passare ogni
|
|
149
|
+
messaggio attraverso due cancelli:
|
|
150
|
+
|
|
151
|
+
| Cancello | Cosa significa |
|
|
152
|
+
|---|---|
|
|
153
|
+
| `/api/v0/chat/create_pow_challenge` | una **prova di lavoro** per messaggio |
|
|
154
|
+
| `challenges.cloudflare.com/turnstile` | una barriera anti-bot sull'origine |
|
|
155
|
+
|
|
156
|
+
Reimplementare l'uno o l'altro è una partita persa: sono offuscati, cambiano, e quando cambiano il guasto sembra
|
|
157
|
+
esattamente un guasto di rete. **La pagina risolve già entrambi per le proprie richieste.**
|
|
158
|
+
|
|
159
|
+
Quindi l'adattatore non parla mai HTTP con il sito. Guida la pagina, e la pagina fa il resto. Autenticazione,
|
|
160
|
+
prova di lavoro e Turnstile smettono di essere un nostro problema e non possono rompersi indipendentemente dal
|
|
161
|
+
sito stesso.
|
|
162
|
+
|
|
163
|
+
**Verificato:** un semplice `HEAD` al sito restituisce `403`; la strada del browser restituisce risposte.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Limiti, detti con onestà
|
|
168
|
+
|
|
169
|
+
**La chiamata di strumenti è emulata.** Una chat web non ha un canale strutturato per gli strumenti: vengono
|
|
170
|
+
descritti nel prompt e una chiamata viene recuperata estraendo un oggetto JSON dalla risposta. Funziona —
|
|
171
|
+
verificato — ma è più debole della chiamata nativa: un modello che ignora l'istruzione risponde in prosa e
|
|
172
|
+
l'harness non vede alcuno strumento in quel turno. **Per lavoro agentico pesante la strada API è più affidabile.**
|
|
173
|
+
La strada web è migliore per conversazione, risposte lunghe, subagenti, compattazione e ogni turno in cui il
|
|
174
|
+
modello deve essere quello web.
|
|
175
|
+
|
|
176
|
+
**Dipende da un sito che non controlli.** Quando la pagina cambia forma, il plugin deve cambiare con lei. È
|
|
177
|
+
l'avviso di sviluppo attivo in cima a questa pagina, non una formalità.
|
|
178
|
+
|
|
179
|
+
**Non è affiliato a DeepSeek.** Non è approvato né supportato da loro, e non ti dà alcun diritto sul loro
|
|
180
|
+
servizio. Il tuo uso di quel servizio è regolato dai loro termini.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Configurazione
|
|
185
|
+
|
|
186
|
+
`cordis.patch.yml` imposta:
|
|
187
|
+
|
|
188
|
+
| chiave | predefinito | significato |
|
|
189
|
+
|---|---|---|
|
|
190
|
+
| `port` | `9222` | la porta di debug del browser |
|
|
191
|
+
| `defaultModel` | `deepseek-chat-search` | usato quando una chiamata non indica un modello |
|
|
192
|
+
| `showBrowser` | `true` | se la finestra è visibile mentre lavora |
|
|
193
|
+
|
|
194
|
+
Il browser deve avere una sessione aperta su `chat.deepseek.com`. La prima chiamata avvia Brave con il profilo
|
|
195
|
+
**Default** se la porta non è già aperta. Se Brave è già in esecuzione *senza* porta di debug, l'adattatore non
|
|
196
|
+
riesce a collegarsi e lo dice chiaramente invece di fallire in silenzio.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Struttura
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
index.js l'adattatore: StreamChunk dell'harness ←→ motore
|
|
204
|
+
lib/engine.mjs browser + pagina: scrivere, inviare, trasmettere, assestare
|
|
205
|
+
lib/cdp.mjs client Chrome DevTools Protocol, zero dipendenze
|
|
206
|
+
lib/prompt.mjs appiattisce messaggi + strumenti in un messaggio; recupera le chiamate dalla risposta
|
|
207
|
+
lib/savings.mjs quanto ti ha fatto risparmiare la strada web, prezzato contro l'API
|
|
208
|
+
lib/i18n.mjs 51 lingue per il pannello
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Nessuna dipendenza.** Node 24 include `WebSocket` e `fetch` globali, che è tutto ciò di cui il CDP ha bisogno:
|
|
212
|
+
il flusso dei token non lascia mai il processo host e non c'è un salto IPC per ogni delta.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Sostegno
|
|
217
|
+
|
|
218
|
+
Uncle Sam esiste perché tu smetta di pagare per token. Se ti ha fatto risparmiare e vorresti vedere il prossimo
|
|
219
|
+
costruito su hardware che non finisce la memoria a metà strada:
|
|
220
|
+
|
|
221
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
222
|
+
|
|
223
|
+
Una stella sul repository o una segnalazione di bug utile valgono lo stesso.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Licenza
|
|
228
|
+
|
|
229
|
+
**CC BY-NC-ND 4.0** — Creative Commons Attribuzione-NonCommerciale-NonOpereDerivate 4.0 Internazionale.
|
|
230
|
+
Copyright (c) 2026 Darren T. Weldon, pubblicato con il nome Operating Tag.
|
|
231
|
+
|
|
232
|
+
**Tutto l'accordo in una riga: installalo e usalo, personalmente, gratis. Non modificarlo, non condividerlo, non
|
|
233
|
+
venderlo e non usarlo in un'azienda.**
|
|
234
|
+
|
|
235
|
+
Questo non è open source, e non finge di esserlo.
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
puoi installarlo ed eseguirlo · usarlo personalmente, senza fini commerciali
|
|
239
|
+
leggere il codice per capirlo
|
|
240
|
+
|
|
241
|
+
non puoi modificarlo, adattarlo o crearne un'opera derivata
|
|
242
|
+
copiarlo, distribuirlo, pubblicarlo, rispecchiarlo o renderlo
|
|
243
|
+
disponibile a chiunque altro
|
|
244
|
+
caricarlo su qualsiasi hosting di codice, registro, sito, forum o chat
|
|
245
|
+
venderlo, rivenderlo, affittarlo o farsi pagare per esso o per accedervi
|
|
246
|
+
includerlo in qualsiasi cosa consegni a un'altra persona
|
|
247
|
+
usarlo per qualsiasi fine commerciale o nell'esercizio di un'attività d'impresa
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
**Le uniche due fonti legittime sono questo repository e il pacchetto npm
|
|
251
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Una copia arrivata
|
|
252
|
+
da qualunque altro posto non è sotto licenza, chiunque te l'abbia fornita. Se vedi questo software in vendita, non
|
|
253
|
+
lo sta vendendo l'autore.
|
|
254
|
+
|
|
255
|
+
**L'uso commerciale, e il diritto di modificare e distribuire, sono disponibili con una licenza scritta
|
|
256
|
+
separata.** Chiedi a Operating Tag e avrai una risposta chiara e un prezzo chiaro.
|
|
257
|
+
|
|
258
|
+
Il file [LICENSE](LICENSE) è quello che fa fede, e si apre con lo stesso riassunto in inglese semplice.
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
Uncle Sam è un plugin indipendente. Non affiliato a DeepSeek, né approvato né supportato da loro.
|
|
263
|
+
|
|
264
|
+
```
|
|
265
|
+
@operatingtag/dsh-unclesam v1.0.1
|
|
266
|
+
Autore Operating Tag
|
|
267
|
+
Licenza CC BY-NC-ND 4.0 — libero da usare, non da modificare, condividere o vendere
|
|
268
|
+
```
|