@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.es.md ADDED
@@ -0,0 +1,268 @@
1
+ [English](README.md) · **Español** · [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)
2
+
3
+ # Uncle Sam
4
+
5
+ **Un proveedor para DeepSeek Harness que responde a través de tu propio navegador, con la cuenta web que ya tienes, en lugar de la API de pago.**
6
+
7
+ **☕ [Invítame a un café](https://revolut.me/operatingtag)** — lo escribe una persona, de noche, sin financiación. No hay otro modelo de ingresos. Una estrella o un informe de fallo vale lo mismo.
8
+
9
+ > **Este producto está en desarrollo activo. Espera fallos.**
10
+ >
11
+ > Funciona, es rápido y se ha usado a diario durante semanas, pero cambia con frecuencia y la ruta del
12
+ > navegador depende de un sitio web que cambia sin avisar. Si algo se rompe, una captura de pantalla y el
13
+ > número de versión valen más que una descripción. Fija una versión si dependes de él.
14
+
15
+ ```
16
+ proveedor deepseek-web
17
+ modelos deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
18
+ coste nada por token: usa la suscripción que ya tienes abierta en el navegador
19
+ estado en desarrollo — espera fallos
20
+ medido primer token ~1,9 s · sobrecoste ~0,6 s · un turno completo en ~2,5 s
21
+ ```
22
+
23
+ Las respuestas de la ruta web van firmadas con **🔴 Uncle Sam**. El nombre es una broma, no una afirmación:
24
+ marca qué ruta ha respondido, y las respuestas de la API no llevan firma. Siempre sabes cuál de las dos te ha
25
+ contestado.
26
+
27
+ ---
28
+
29
+ ## Qué te ahorra
30
+
31
+ La API cobra por token. El producto web no. Este plugin registra `deepseek-web` como proveedor de modelos y
32
+ responde cada llamada conduciendo `chat.deepseek.com` en un navegador real: la página hace el trabajo, el
33
+ navegador mantiene la sesión y no se factura nada.
34
+
35
+ | | Ruta API | Ruta web |
36
+ |---|---|---|
37
+ | Coste | por token, siempre | nada más allá de la suscripción |
38
+ | Velocidad | rápida | ~2,5 s por turno, medido |
39
+ | Llamadas a herramientas | nativas y fiables | emuladas, funciona pero es más débil |
40
+ | Depende de | la API | un sitio web que cambia sin avisar |
41
+
42
+ **Las dos rutas quedan instaladas.** El selector de modelo es el interruptor, así que puedes usar la barata por
43
+ defecto y recurrir a la API cuando una tarea necesite herramientas fiables.
44
+
45
+ ---
46
+
47
+ ## Instalación
48
+
49
+ Uncle Sam es un **plugin de DeepSeek Harness**. No hace nada fuera del harness, porque registra un proveedor de
50
+ modelos, una ruta del host y dos espacios de interfaz.
51
+
52
+ **Requisitos**
53
+
54
+ | | |
55
+ |---|---|
56
+ | DeepSeek Harness | cualquier versión reciente con gestor de plugins |
57
+ | Navegador | Brave recomendado; Edge se usa automáticamente si falta Brave |
58
+ | Node | 22 o superior |
59
+
60
+ **Desde npm**
61
+
62
+ ```bash
63
+ pnpm add @operatingtag/dsh-unclesam
64
+ ```
65
+
66
+ **Desde este repositorio**
67
+
68
+ ```bash
69
+ git clone https://github.com/operatingtag/dsh-unclesam
70
+ cd dsh-unclesam
71
+ pnpm install
72
+ ```
73
+
74
+ Después añade la fila del paquete a tu perfil para que el harness lo cargue:
75
+
76
+ ```yaml
77
+ # cordis.patch.yml
78
+ - insert:
79
+ - id: dsh-unclesam
80
+ name: '@operatingtag/dsh-unclesam'
81
+ config:
82
+ port: 9222
83
+ defaultModel: deepseek-chat-search
84
+ autoMinimise: true
85
+ ```
86
+
87
+ **O desde una carpeta:** Ajustes → Plugins → instalar desde una ruta local, apuntando a la carpeta que contiene
88
+ `package.json`.
89
+
90
+ ### Primera ejecución
91
+
92
+ Pulsa **Iniciar sesión / abrir el chat**. El navegador se abre y **permanece visible** hasta que hayas iniciado
93
+ sesión en chat.deepseek.com. Después se minimiza solo y no lo volverás a ver. La sesión vive en tu perfil del
94
+ navegador, así que **el plugin no guarda ninguna contraseña**: no hay nada que filtrar.
95
+
96
+ Deberías ver entonces:
97
+
98
+ 1. **Ajustes → Uncle Sam** — una página con filas de estado y un botón de inicio de sesión.
99
+ 2. **Bajo la caja de chat** — `● DeepSeek Harness` o `● Uncle Sam`, pulsa para cambiar.
100
+ 3. **La lista de modelos** — cuatro modelos `(web)` junto a los de la API.
101
+
102
+ ### Desinstalarlo
103
+
104
+ Ajustes → Plugins → Uncle Sam → Desinstalar. No se escribe nada fuera del perfil del navegador con el que
105
+ iniciaste sesión.
106
+
107
+ ---
108
+
109
+ ## El interruptor API / web
110
+
111
+ **El selector de modelo es el interruptor.** No hay un segundo control, porque un segundo control que además
112
+ eligiera el modelo serían dos fuentes de verdad para una sola decisión.
113
+
114
+ | Elige este modelo | Ruta | DeepThink | Búsqueda |
115
+ |---|---|---|---|
116
+ | `DeepSeek Chat (web)` | navegador | no | no |
117
+ | `DeepSeek Chat + Search (web)` | navegador | no | **sí** |
118
+ | `DeepSeek Reasoner (web)` | navegador | **sí** | no |
119
+ | `DeepSeek Reasoner + Search (web)` | navegador | **sí** | **sí** |
120
+ | cualquier modelo sin `(web)` | la API | — | — |
121
+
122
+ Una insignia **WEB** o **API** aparece junto a la etiqueta del modelo para que la ruta activa se vea de un
123
+ vistazo. Cuando la etiqueta no se reconoce, la insignia no muestra nada en lugar de adivinar: una insignia
124
+ equivocada sería peor que ninguna.
125
+
126
+ Tu elección se mantiene entre reinicios. **DeepThink** es la pasada de razonamiento; **Búsqueda** le permite
127
+ leer la web en vivo.
128
+
129
+ ### La búsqueda se ve en la conversación
130
+
131
+ Con un modelo de búsqueda, un turno produce **dos bloques**: la consulta con la que buscó, las fuentes que
132
+ encontró y después la respuesta que las usó.
133
+
134
+ ```
135
+ Búsqueda web — "¿Cuál es un titular tecnológico de hoy?"
136
+ Fuentes (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
137
+ Enlaces: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
138
+ ```
139
+
140
+ La página no expone la consulta que escribió internamente, así que la consulta citada es el mensaje que
141
+ provocó la búsqueda. Las fuentes y los enlaces se leen de la página cuando la respuesta se asienta. Como las
142
+ fuentes solo existen al final, **los turnos con búsqueda se acumulan en lugar de emitirse en streaming**; los
143
+ turnos normales siguen emitiéndose token a token.
144
+
145
+ ---
146
+
147
+ ## Por qué un navegador y no su API HTTP
148
+
149
+ La ruta obvia —llamar a la API propia de `chat.deepseek.com`— se intentó y se abandonó. El sitio hace que cada
150
+ mensaje pase dos puertas:
151
+
152
+ | Puerta | Qué significa |
153
+ |---|---|
154
+ | `/api/v0/chat/create_pow_challenge` | un desafío de **prueba de trabajo** por mensaje |
155
+ | `challenges.cloudflare.com/turnstile` | una barrera anti-bots en el origen |
156
+
157
+ Reimplementar cualquiera de las dos es perder el tiempo: están ofuscadas, cambian, y cuando cambian el fallo
158
+ parece exactamente un fallo de red. **La página ya resuelve ambas para sus propias peticiones.**
159
+
160
+ Así que el adaptador nunca habla HTTP con el sitio. Conduce la página, y la página hace el resto. La
161
+ autenticación, la prueba de trabajo y Turnstile dejan de ser nuestro problema y no pueden romperse de forma
162
+ independiente al propio sitio.
163
+
164
+ **Verificado:** un `HEAD` simple al sitio devuelve `403`; la ruta del navegador devuelve respuestas.
165
+
166
+ ---
167
+
168
+ ## Límites, dichos con honestidad
169
+
170
+ **El uso de herramientas está emulado.** Un chat web no tiene canal estructurado de herramientas, así que las
171
+ herramientas se describen en el mensaje y una llamada se recupera analizando un objeto JSON de la respuesta.
172
+ Funciona —verificado— pero es más débil que las llamadas nativas: un modelo que ignora la instrucción responde
173
+ en prosa y el harness no ve ninguna herramienta ese turno. **Para trabajo agéntico pesado, la ruta API es más
174
+ fiable.** La ruta web es mejor para conversación, respuestas largas, subagentes, compactación y cualquier turno
175
+ en el que el modelo deba ser el modelo web.
176
+
177
+ **Depende de un sitio web que no controlas.** Cuando la página cambia de forma, el plugin tiene que cambiar con
178
+ ella. Eso es la advertencia de desarrollo activo de arriba, no una formalidad.
179
+
180
+ **No está afiliado a DeepSeek.** No está respaldado por ellos y no te da ningún derecho sobre su servicio. Tu
181
+ uso de ese servicio se rige por sus términos.
182
+
183
+ ---
184
+
185
+ ## Configuración
186
+
187
+ `cordis.patch.yml` define:
188
+
189
+ | clave | por defecto | significado |
190
+ |---|---|---|
191
+ | `port` | `9222` | el puerto de depuración del navegador |
192
+ | `defaultModel` | `deepseek-chat-search` | se usa cuando una llamada no indica modelo |
193
+ | `showBrowser` | `true` | si la ventana es visible mientras trabaja |
194
+
195
+ El navegador debe tener una sesión iniciada en `chat.deepseek.com`. La primera llamada abre Brave con el perfil
196
+ **Default** si el puerto no está ya abierto. Si Brave ya se está ejecutando *sin* puerto de depuración, el
197
+ adaptador no puede conectarse y lo dice claramente en lugar de fallar en silencio.
198
+
199
+ ---
200
+
201
+ ## Arquitectura
202
+
203
+ ```
204
+ index.js el adaptador: StreamChunk del harness ←→ motor
205
+ lib/engine.mjs navegador + página: escribir, enviar, transmitir, asentar
206
+ lib/cdp.mjs cliente del Chrome DevTools Protocol, sin dependencias
207
+ lib/prompt.mjs aplana mensajes + herramientas en un mensaje; recupera llamadas de la respuesta
208
+ lib/savings.mjs lo que te ahorró la ruta web, valorado contra la API
209
+ lib/i18n.mjs 51 idiomas para el panel
210
+ ```
211
+
212
+ **Sin dependencias.** Node 24 incluye `WebSocket` y `fetch` globales, que es todo lo que CDP necesita, así que
213
+ el flujo de tokens nunca sale del proceso host y no hay salto IPC por delta.
214
+
215
+ ---
216
+
217
+ ## Apoyo
218
+
219
+ Uncle Sam existe para que dejes de pagar por token. Si te ha ahorrado dinero y te gustaría ver el siguiente
220
+ construido sobre hardware que no se queda sin memoria a mitad de camino:
221
+
222
+ **[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
223
+
224
+ Una estrella en el repositorio o un informe de fallo útil vale lo mismo.
225
+
226
+ ---
227
+
228
+ ## Licencia
229
+
230
+ **CC BY-NC-ND 4.0** — Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
231
+ Copyright (c) 2026 Darren T. Weldon, publicado bajo el nombre Operating Tag.
232
+
233
+ **Todo el acuerdo, en una línea: instálalo y úsalo, personalmente, gratis. No lo cambies, no lo compartas, no
234
+ lo vendas y no lo uses en una empresa.**
235
+
236
+ Eso no es código abierto, y no pretende serlo.
237
+
238
+ ```
239
+ puedes instalarlo y ejecutarlo · usarlo personalmente, sin fines comerciales
240
+ leer el código para entenderlo
241
+
242
+ no puedes modificarlo, adaptarlo ni crear una obra derivada
243
+ copiarlo, distribuirlo, publicarlo, replicarlo ni ponerlo a disposición de nadie
244
+ subirlo a ningún alojamiento de código, registro, web, foro o chat
245
+ venderlo, revenderlo, alquilarlo ni cobrar por él o por acceder a él
246
+ incluirlo en cualquier cosa que entregues a otra persona
247
+ usarlo con cualquier fin comercial ni en el ejercicio de una actividad empresarial
248
+ ```
249
+
250
+ **Las dos únicas fuentes legítimas son este repositorio y el paquete npm
251
+ [`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Una copia que
252
+ venga de cualquier otro sitio no está licenciada, sea quien sea que la haya facilitado. Si ves este software a
253
+ la venta, no lo está vendiendo su autor.
254
+
255
+ **El uso comercial, y el derecho a modificar y distribuir, están disponibles bajo una licencia escrita
256
+ separada.** Pregunta a Operating Tag y recibirás una respuesta clara y un precio claro.
257
+
258
+ El archivo [LICENSE](LICENSE) es el que rige, y abre con el mismo resumen en inglés sencillo.
259
+
260
+ ---
261
+
262
+ Uncle Sam es un plugin independiente. No está afiliado, respaldado ni soportado por DeepSeek.
263
+
264
+ ```
265
+ @operatingtag/dsh-unclesam v1.1.0
266
+ Autor Operating Tag
267
+ Licencia CC BY-NC-ND 4.0 — gratis para usar, no para cambiar, compartir o vender
268
+ ```
package/README.fa.md ADDED
@@ -0,0 +1,260 @@
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.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
+ **یک ارائه‌دهنده برای DeepSeek Harness که به‌جای API پرداختی، از طریق مرورگر خودتان و روی همان حساب وب که دارید پاسخ می‌دهد.**
6
+
7
+ **☕ [یک قهوه مهمانم کنید](https://revolut.me/operatingtag)** — یک نفر آن را شب‌ها و بدون هیچ سرمایه‌ای می‌نویسد. مدل درآمد دیگری وجود ندارد. یک ستاره یا یک گزارش باگ مفید هم به همان اندازه ارزش دارد.
8
+
9
+ > **این محصول در حال توسعه فعال است. انتظار باگ داشته باشید.**
10
+ >
11
+ > کار می‌کند، سریع است و هفته‌هاست هر روز استفاده می‌شود — اما مدام تغییر می‌کند، و مسیر مرورگر به وب‌سایتی وابسته
12
+ > است که بدون اطلاع تغییر می‌کند. اگر چیزی خراب شد، یک تصویر از صفحه و شماره نسخه بیشتر از یک توضیح به کار می‌آید.
13
+ > اگر به آن وابسته‌اید، نسخه را ثابت کنید.
14
+
15
+ ```
16
+ ارائه‌دهنده deepseek-web
17
+ مدل‌ها deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
18
+ هزینه صفر برای هر توکن — از اشتراکی که از قبل در مرورگرتان باز است استفاده می‌کند
19
+ وضعیت در حال توسعه — انتظار باگ داشته باشید
20
+ اندازه‌گیری اولین توکن ~۱٫۹ ثانیه · سرباری ~۰٫۶ ثانیه · یک نوبت کامل در ~۲٫۵ ثانیه
21
+ ```
22
+
23
+ پاسخ‌های مسیر وب با **🔴 Uncle Sam** امضا می‌شوند. این نام یک شوخی است، نه یک ادعا: نشان می‌دهد کدام مسیر پاسخ
24
+ داده است، و پاسخ‌های API هیچ امضایی ندارند. همیشه می‌دانید چه کسی به شما پاسخ داده است.
25
+
26
+ ---
27
+
28
+ ## چه چیزی برایتان ذخیره می‌کند
29
+
30
+ API برای هر توکن صورت‌حساب می‌کند. محصول وب این کار را نمی‌کند. این افزونه `deepseek-web` را به‌عنوان ارائه‌دهنده
31
+ مدل ثبت می‌کند و به هر فراخوانی با راندن `chat.deepseek.com` در یک مرورگر واقعی پاسخ می‌دهد — صفحه کار را انجام
32
+ می‌دهد، مرورگر نشست را نگه می‌دارد و هیچ چیزی اندازه‌گیری نمی‌شود.
33
+
34
+ | | مسیر API | مسیر وب |
35
+ |---|---|---|
36
+ | هزینه | به‌ازای هر توکن، همیشه | چیزی فراتر از اشتراک |
37
+ | سرعت | سریع | ~۲٫۵ ثانیه در هر نوبت، اندازه‌گیری‌شده |
38
+ | فراخوانی ابزار | بومی و قابل اعتماد | شبیه‌سازی‌شده، کار می‌کند اما ضعیف‌تر |
39
+ | وابسته به | API | وب‌سایتی که بدون اطلاع تغییر می‌کند |
40
+
41
+ **هر دو مسیر نصب‌شده می‌مانند.** انتخابگر مدل همان کلید است: به‌طور پیش‌فرض از مسیر ارزان استفاده کنید و وقتی کاری
42
+ به ابزار قابل اعتماد نیاز داشت به API بروید.
43
+
44
+ ---
45
+
46
+ ## نصب
47
+
48
+ Uncle Sam یک **افزونه DeepSeek Harness** است. بیرون از هارنس کاری نمی‌کند، چون یک ارائه‌دهنده مدل، یک مسیر میزبان
49
+ و دو جایگاه رابط را ثبت می‌کند.
50
+
51
+ **پیش‌نیازها**
52
+
53
+ | | |
54
+ |---|---|
55
+ | DeepSeek Harness | هر بیلد تازه‌ای با مدیر افزونه |
56
+ | مرورگر | Brave توصیه می‌شود؛ اگر نباشد Edge خودکار استفاده می‌شود |
57
+ | Node | ۲۲ یا جدیدتر |
58
+
59
+ **از npm**
60
+
61
+ ```bash
62
+ pnpm add @operatingtag/dsh-unclesam
63
+ ```
64
+
65
+ **از همین مخزن**
66
+
67
+ ```bash
68
+ git clone https://github.com/operatingtag/dsh-unclesam
69
+ cd dsh-unclesam
70
+ pnpm install
71
+ ```
72
+
73
+ سپس خط بسته را به پروفایل خود اضافه کنید تا هارنس آن را بارگذاری کند:
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
+ **یا از یک پوشه:** تنظیمات → افزونه‌ها → نصب از مسیر محلی، با اشاره به پوشه‌ای که `package.json` دارد.
87
+
88
+ ### اولین اجرا
89
+
90
+ روی **ورود / باز کردن چت** کلیک کنید. مرورگر باز می‌شود و **قابل مشاهده می‌ماند** تا وقتی در chat.deepseek.com وارد
91
+ شوید. بعد از آن خودش کوچک می‌شود و دیگر آن را نمی‌بینید. نشست در پروفایل مرورگر شما زندگی می‌کند، بنابراین
92
+ **افزونه هیچ رمزی ذخیره نمی‌کند** — چیزی برای لو رفتن وجود ندارد.
93
+
94
+ بعد باید ببینید:
95
+
96
+ 1. **تنظیمات → Uncle Sam** — صفحه‌ای با ردیف‌های وضعیت و یک دکمه ورود.
97
+ 2. **زیر کادر پیام** — `● DeepSeek Harness` یا `● Uncle Sam`، برای تغییر کلیک کنید.
98
+ 3. **فهرست مدل‌ها** — چهار مدل `(web)` کنار مدل‌های API.
99
+
100
+ ### حذف
101
+
102
+ تنظیمات → افزونه‌ها → Uncle Sam → حذف نصب. بیرون از پروفایل مرورگری که با آن وارد شدید چیزی نوشته نمی‌شود.
103
+
104
+ ---
105
+
106
+ ## کلید API / وب
107
+
108
+ **انتخابگر مدل همان کلید است.** کنترل دومی وجود ندارد، چون کنترل دومی که مدل را هم انتخاب کند یعنی دو منبع حقیقت
109
+ برای یک تصمیم.
110
+
111
+ | این مدل را انتخاب کنید | مسیر | DeepThink | جستجو |
112
+ |---|---|---|---|
113
+ | `DeepSeek Chat (web)` | مرورگر | خاموش | خاموش |
114
+ | `DeepSeek Chat + Search (web)` | مرورگر | خاموش | **روشن** |
115
+ | `DeepSeek Reasoner (web)` | مرورگر | **روشن** | خاموش |
116
+ | `DeepSeek Reasoner + Search (web)` | مرورگر | **روشن** | **روشن** |
117
+ | هر مدلی بدون `(web)` | API | — | — |
118
+
119
+ نشان **WEB** یا **API** کنار نام مدل نمایش داده می‌شود تا مسیر فعال در یک نگاه دیده شود. وقتی نام شناخته نشود،
120
+ نشان به‌جای حدس زدن هیچ چیزی نشان نمی‌دهد — نشان اشتباه بدتر از بی‌نشان است.
121
+
122
+ انتخاب شما پس از راه‌اندازی مجدد باقی می‌ماند. **DeepThink** گذر استدلال است؛ **جستجو** به آن اجازه می‌دهد وب زنده
123
+ را بخواند.
124
+
125
+ ### جستجو در گفتگو دیده می‌شود
126
+
127
+ با یک مدل جستجو، یک نوبت **دو بلوک** تولید می‌کند — پرسشی که با آن جستجو کرد، منابعی که یافت، و سپس پاسخی که از
128
+ آنها استفاده کرد:
129
+
130
+ ```
131
+ جستجوی وب — «یک تیتر خبری فناوری امروز چیست؟»
132
+ منابع (۴): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
133
+ پیوندها: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
134
+ ```
135
+
136
+ صفحه پرسشی را که درون خودش تایپ کرده آشکار نمی‌کند، بنابراین پرسش نقل‌شده همان پیامی است که جستجو را آغاز کرد.
137
+ منابع و پیوندها وقتی پاسخ آرام گرفت از صفحه خوانده می‌شوند. چون منابع فقط در پایان وجود دارند، **نوبت‌های دارای
138
+ جستجو به‌جای جریان یافتن، انباشته می‌شوند**؛ نوبت‌های معمولی همچنان توکن‌به‌توکن جریان می‌یابند.
139
+
140
+ ---
141
+
142
+ ## چرا مرورگر، و نه HTTP API خودشان
143
+
144
+ راه آشکار — فراخوانی API خود `chat.deepseek.com` — آزموده و رها شد. سایت هر پیام را از دو دروازه می‌گذراند:
145
+
146
+ | دروازه | معنی |
147
+ |---|---|
148
+ | `/api/v0/chat/create_pow_challenge` | یک **اثبات کار** برای هر پیام |
149
+ | `challenges.cloudflare.com/turnstile` | یک دروازه ضدربات روی مبدأ |
150
+
151
+ بازسازی هر یک از این دو بازی باخته است: مبهم‌سازی شده‌اند، تغییر می‌کنند، و وقتی تغییر کنند خرابی دقیقاً شبیه یک
152
+ خرابی شبکه به نظر می‌رسد. **صفحه هر دو را برای درخواست‌های خودش حل کرده است.**
153
+
154
+ پس آداپتور هرگز با سایت HTTP صحبت نمی‌کند. صفحه را می‌راند و بقیه با صفحه است. احراز هویت، اثبات کار و Turnstile
155
+ دیگر مشکل ما نیستند و نمی‌توانند مستقل از خود سایت خراب شوند.
156
+
157
+ **تأیید شده:** یک `HEAD` ساده به سایت `403` برمی‌گرداند؛ مسیر مرورگر پاسخ برمی‌گرداند.
158
+
159
+ ---
160
+
161
+ ## محدودیت‌ها، صادقانه گفته شده
162
+
163
+ **فراخوانی ابزار شبیه‌سازی است.** یک چت وب کانال ساختاریافته ابزار ندارد: ابزارها در پرامپت توصیف می‌شوند و یک
164
+ فراخوانی با جدا کردن یک شیء JSON از پاسخ بازیابی می‌شود. کار می‌کند — تأیید شده — اما از فراخوانی بومی ضعیف‌تر
165
+ است: مدلی که دستور را نادیده بگیرد با متن پاسخ می‌دهد و هارنس در آن نوبت هیچ استفاده‌ای از ابزار نمی‌بیند.
166
+ **برای کار سنگین عاملی، مسیر API قابل اعتمادتر است.** مسیر وب برای گفتگو، پاسخ‌های بلند، زیرعامل‌ها، فشرده‌سازی و
167
+ هر نوبتی که مدل باید مدل وب باشد بهترین است.
168
+
169
+ **به وب‌سایتی وابسته است که شما کنترلش نمی‌کنید.** وقتی شکل صفحه تغییر کند، افزونه باید با آن تغییر کند. این همان
170
+ هشدار توسعه در بالای این صفحه است، نه تشریفات.
171
+
172
+ **با DeepSeek وابسته نیست.** تأیید یا پشتیبانی نمی‌شود و هیچ حقی در سرویس آنها به شما نمی‌دهد. استفاده شما از آن
173
+ سرویس تابع شرایط آنها است.
174
+
175
+ ---
176
+
177
+ ## پیکربندی
178
+
179
+ `cordis.patch.yml` تنظیم می‌کند:
180
+
181
+ | کلید | پیش‌فرض | معنی |
182
+ |---|---|---|
183
+ | `port` | `9222` | درگاه اشکال‌زدایی مرورگر |
184
+ | `defaultModel` | `deepseek-chat-search` | زمانی که فراخوانی مدلی را نام نمی‌برد |
185
+ | `showBrowser` | `true` | اینکه پنجره در حین کار دیده شود یا نه |
186
+
187
+ مرورگر باید یک نشست واردشده `chat.deepseek.com` داشته باشد. اولین فراخوانی Brave را با پروفایل **Default** اجرا
188
+ می‌کند اگر درگاه از قبل باز نباشد. اگر Brave از قبل *بدون* درگاه اشکال‌زدایی در حال اجرا باشد، آداپتور نمی‌تواند
189
+ متصل شود و صریحاً این را می‌گوید نه اینکه بی‌صدا شکست بخورد.
190
+
191
+ ---
192
+
193
+ ## ساختار
194
+
195
+ ```
196
+ index.js آداپتور: StreamChunk هارنس ←→ موتور
197
+ lib/engine.mjs مرورگر + صفحه: تایپ، ارسال، جریان، آرام گرفتن
198
+ lib/cdp.mjs کلاینت Chrome DevTools Protocol، بدون وابستگی
199
+ lib/prompt.mjs پیام‌ها + ابزارها را به یک پیام تخت می‌کند؛ فراخوانی‌ها را از پاسخ بازیابی می‌کند
200
+ lib/savings.mjs اینکه مسیر وب چه اندازه برایتان ذخیره کرد، در برابر API قیمت‌گذاری‌شده
201
+ lib/i18n.mjs ۵۱ زبان برای پنل
202
+ ```
203
+
204
+ **هیچ وابستگی‌ای نیست.** Node 24 `WebSocket` و `fetch` سراسری دارد، که تمام نیاز CDP است، پس جریان توکن هرگز از
205
+ فرایند میزبان خارج نمی‌شود و برای هر دلتا جهش IPC وجود ندارد.
206
+
207
+ ---
208
+
209
+ ## پشتیبانی
210
+
211
+ Uncle Sam وجود دارد تا شما پرداخت به‌ازای توکن را متوقف کنید. اگر برایتان پول ذخیره کرد و می‌خواهید نسخه بعدی روی
212
+ سخت‌افزاری ساخته شود که در میانه راه حافظه‌اش تمام نمی‌شود:
213
+
214
+ **[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
215
+
216
+ یک ستاره روی مخزن یا یک گزارش باگ مفید هم به همان اندازه ارزش دارد.
217
+
218
+ ---
219
+
220
+ ## پروانه
221
+
222
+ **CC BY-NC-ND 4.0** — Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.
223
+ Copyright (c) 2026 Darren T. Weldon، منتشرشده با نام Operating Tag.
224
+
225
+ **تمام توافق در یک خط: خودتان نصب کنید و استفاده کنید، رایگان. تغییر ندهید، به اشتراک نگذارید، نفروشید و در یک شرکت
226
+ استفاده نکنید.**
227
+
228
+ این نرم‌افزار آزاد نیست و ادعا هم نمی‌کند که هست.
229
+
230
+ ```
231
+ می‌توانید نصب و اجرا کنید · به‌صورت شخصی و غیرتجاری استفاده کنید
232
+ برای درک آن کد منبع را بخوانید
233
+
234
+ نمی‌توانید تغییر دهید، اقتباس کنید یا اثر مشتق بسازید
235
+ کپی کنید، توزیع کنید، منتشر کنید، آینه بسازید یا
236
+ در دسترس دیگران بگذارید
237
+ روی هر میزبان کد، رجیستری، وب‌سایت، انجمن یا چت بارگذاری کنید
238
+ بفروشید، بازفروش کنید، اجاره دهید یا برای خود آن یا دسترسی به آن پول بگیرید
239
+ آن را در هر چیزی که به دیگری تحویل می‌دهید بگنجانید
240
+ برای هر هدف تجاری یا در جریان فعالیت کسب‌وکار استفاده کنید
241
+ ```
242
+
243
+ **تنها دو منبع مشروع این مخزن و بسته npm
244
+ [`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam) است.** نسخه‌ای که از
245
+ جای دیگری برسد مجاز نیست، هر کسی آن را داده باشد. اگر این نرم‌افزار را در فروش دیدید، فروشنده نویسنده آن نیست.
246
+
247
+ **استفاده تجاری، و حق تغییر و توزیع، با یک پروانه کتبی جداگانه در دسترس است.** از Operating Tag بپرسید — پاسخ
248
+ روشن و قیمت روشن می‌گیرید.
249
+
250
+ پرونده [LICENSE](LICENSE) مرجع است و با همان خلاصه به انگلیسی ساده آغاز می‌شود.
251
+
252
+ ---
253
+
254
+ Uncle Sam یک افزونه مستقل است. وابسته به DeepSeek نیست، تأیید یا پشتیبانی نمی‌شود.
255
+
256
+ ```
257
+ @operatingtag/dsh-unclesam v1.1.0
258
+ نویسنده Operating Tag
259
+ پروانه CC BY-NC-ND 4.0 — آزاد برای استفاده، نه برای تغییر، اشتراک یا فروش
260
+ ```