@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.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
|
+
```
|