@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.pt.md
ADDED
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
[English](README.md) · [Español](README.es.md) · [Français](README.fr.md) · [Deutsch](README.de.md) · **Português** · [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)
|
|
2
|
+
|
|
3
|
+
# Uncle Sam
|
|
4
|
+
|
|
5
|
+
**Um provedor para o DeepSeek Harness que responde pelo seu próprio navegador, na conta web que você já tem, em vez da API cobrada por token.**
|
|
6
|
+
|
|
7
|
+
**☕ [Pague-me um café](https://revolut.me/operatingtag)** — escrito por uma pessoa, à noite, sem financiamento. Não há outro modelo de receita. Uma estrela ou um relato de bug vale o mesmo.
|
|
8
|
+
|
|
9
|
+
> **Este produto está em desenvolvimento ativo. Espere bugs.**
|
|
10
|
+
>
|
|
11
|
+
> Funciona, é rápido e roda diariamente há semanas — mas muda o tempo todo, e a rota do navegador depende de um
|
|
12
|
+
> site que muda sem avisar. Se algo quebrar, uma captura de tela e o número da versão valem mais do que uma
|
|
13
|
+
> descrição. Fixe uma versão se você depender dele.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
provedor deepseek-web
|
|
17
|
+
modelos deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
18
|
+
custo nada por token — usa a assinatura que já está aberta no seu navegador
|
|
19
|
+
estado em desenvolvimento — espere bugs
|
|
20
|
+
medido primeiro token ~1,9 s · sobrecarga ~0,6 s · um turno completo em ~2,5 s
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
As respostas da rota web vêm assinadas com **🔴 Uncle Sam**. O nome é uma piada, não uma afirmação: ele marca
|
|
24
|
+
qual rota respondeu, e as respostas da API não levam assinatura nenhuma. Você sempre sabe qual das duas falou
|
|
25
|
+
com você.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## O que ele economiza
|
|
30
|
+
|
|
31
|
+
A API cobra por token. O produto web não. Este plugin registra `deepseek-web` como provedor de modelos e responde
|
|
32
|
+
cada chamada conduzindo o `chat.deepseek.com` em um navegador de verdade — a página faz o trabalho, o navegador
|
|
33
|
+
guarda a sessão, e nada é medido.
|
|
34
|
+
|
|
35
|
+
| | Rota API | Rota web |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| Custo | por token, para sempre | nada além da assinatura |
|
|
38
|
+
| Velocidade | rápida | ~2,5 s por turno, medido |
|
|
39
|
+
| Chamada de ferramentas | nativa e confiável | emulada, funciona mas é mais frágil |
|
|
40
|
+
| Depende de | a API | um site que muda sem avisar |
|
|
41
|
+
|
|
42
|
+
**As duas rotas ficam instaladas.** O seletor de modelo é o interruptor: use a rota barata por padrão e recorra à
|
|
43
|
+
API quando a tarefa exigir ferramentas confiáveis.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Instalação
|
|
48
|
+
|
|
49
|
+
O Uncle Sam é um **plugin do DeepSeek Harness**. Fora do harness ele não faz nada, porque registra um provedor de
|
|
50
|
+
modelos, uma rota no host e dois espaços de interface.
|
|
51
|
+
|
|
52
|
+
**Requisitos**
|
|
53
|
+
|
|
54
|
+
| | |
|
|
55
|
+
|---|---|
|
|
56
|
+
| DeepSeek Harness | qualquer versão recente com gerenciador de plugins |
|
|
57
|
+
| Navegador | Brave recomendado; o Edge é usado automaticamente se o Brave não estiver presente |
|
|
58
|
+
| Node | 22 ou mais novo |
|
|
59
|
+
|
|
60
|
+
**Pelo npm**
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**Por este repositório**
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
70
|
+
cd dsh-unclesam
|
|
71
|
+
pnpm install
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
Depois acrescente a linha do pacote ao seu perfil para o harness carregá-lo:
|
|
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
|
+
**Ou por uma pasta:** Configurações → Plugins → instalar de um caminho local, apontando para a pasta que tem o
|
|
88
|
+
`package.json`.
|
|
89
|
+
|
|
90
|
+
### Primeira execução
|
|
91
|
+
|
|
92
|
+
Clique em **Entrar / abrir o chat**. O navegador abre e **fica visível** até você entrar no chat.deepseek.com.
|
|
93
|
+
Depois disso ele se minimiza sozinho e você não o vê mais. A sessão fica no seu perfil do navegador, então **o
|
|
94
|
+
plugin não guarda nenhuma senha** — não há nada para vazar.
|
|
95
|
+
|
|
96
|
+
Você deve ver então:
|
|
97
|
+
|
|
98
|
+
1. **Configurações → Uncle Sam** — uma página com linhas de status e um botão de login.
|
|
99
|
+
2. **Abaixo da caixa de mensagem** — `● DeepSeek Harness` ou `● Uncle Sam`, clique para alternar.
|
|
100
|
+
3. **A lista de modelos** — quatro modelos `(web)` ao lado dos da API.
|
|
101
|
+
|
|
102
|
+
### Removê-lo
|
|
103
|
+
|
|
104
|
+
Configurações → Plugins → Uncle Sam → Desinstalar. Nada é gravado fora do perfil de navegador em que você entrou.
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## O interruptor API / web
|
|
109
|
+
|
|
110
|
+
**O seletor de modelo é o interruptor.** Não há um segundo controle, porque um segundo controle que também
|
|
111
|
+
escolhesse o modelo seriam duas fontes de verdade para uma única decisão.
|
|
112
|
+
|
|
113
|
+
| Escolha este modelo | Rota | DeepThink | Busca |
|
|
114
|
+
|---|---|---|---|
|
|
115
|
+
| `DeepSeek Chat (web)` | navegador | desligado | desligado |
|
|
116
|
+
| `DeepSeek Chat + Search (web)` | navegador | desligado | **ligado** |
|
|
117
|
+
| `DeepSeek Reasoner (web)` | navegador | **ligado** | desligado |
|
|
118
|
+
| `DeepSeek Reasoner + Search (web)` | navegador | **ligado** | **ligado** |
|
|
119
|
+
| qualquer modelo sem `(web)` | a API | — | — |
|
|
120
|
+
|
|
121
|
+
Um selo **WEB** ou **API** aparece ao lado do nome do modelo para a rota ativa ficar visível de relance. Quando o
|
|
122
|
+
nome não é reconhecido, o selo não mostra nada em vez de adivinhar — um selo errado seria pior que nenhum.
|
|
123
|
+
|
|
124
|
+
Sua escolha permanece entre reinícios. **DeepThink** é a passada de raciocínio; **Busca** permite ler a web ao
|
|
125
|
+
vivo.
|
|
126
|
+
|
|
127
|
+
### A busca aparece na conversa
|
|
128
|
+
|
|
129
|
+
Com um modelo de busca, um turno produz **dois blocos** — a consulta usada, as fontes encontradas e então a
|
|
130
|
+
resposta que se serviu delas:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Busca na web — "Qual é uma manchete de tecnologia de hoje?"
|
|
134
|
+
Fontes (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
135
|
+
Links: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
A página não expõe a consulta que digitou internamente, então a consulta citada é a mensagem que disparou a
|
|
139
|
+
busca. As fontes e os links são lidos da página quando a resposta se assenta. Como as fontes só existem no fim,
|
|
140
|
+
**turnos com busca acumulam em vez de transmitir em fluxo**; turnos comuns continuam transmitindo token a token.
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## Por que um navegador, e não a API HTTP deles
|
|
145
|
+
|
|
146
|
+
A rota óbvia — chamar a API própria do `chat.deepseek.com` — foi tentada e abandonada. O site faz cada mensagem
|
|
147
|
+
passar por dois portões:
|
|
148
|
+
|
|
149
|
+
| Portão | O que significa |
|
|
150
|
+
|---|---|
|
|
151
|
+
| `/api/v0/chat/create_pow_challenge` | um desafio de **prova de trabalho** por mensagem |
|
|
152
|
+
| `challenges.cloudflare.com/turnstile` | uma barreira anti-bot na origem |
|
|
153
|
+
|
|
154
|
+
Reimplementar qualquer um dos dois é jogo perdido: são ofuscados, mudam, e quando mudam a falha parece
|
|
155
|
+
exatamente uma falha de rede. **A página já resolve os dois para as próprias requisições.**
|
|
156
|
+
|
|
157
|
+
Então o adaptador nunca fala HTTP com o site. Ele conduz a página, e a página faz o resto. Autenticação, prova de
|
|
158
|
+
trabalho e Turnstile deixam de ser problema nosso e não podem quebrar independentemente do próprio site.
|
|
159
|
+
|
|
160
|
+
**Verificado:** um `HEAD` simples para o site devolve `403`; a rota do navegador devolve respostas.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Limites, ditos com honestidade
|
|
165
|
+
|
|
166
|
+
**O uso de ferramentas é emulado.** Um chat web não tem canal estruturado de ferramentas: elas são descritas no
|
|
167
|
+
prompt, e uma chamada é recuperada analisando um objeto JSON na resposta. Funciona — verificado —, mas é mais
|
|
168
|
+
frágil que a chamada nativa: um modelo que ignora a instrução responde em prosa e o harness não vê ferramenta
|
|
169
|
+
naquele turno. **Para trabalho agêntico pesado, a rota API é mais confiável.** A rota web é melhor para conversa,
|
|
170
|
+
respostas longas, subagentes, compactação e qualquer turno em que o modelo precise ser o modelo web.
|
|
171
|
+
|
|
172
|
+
**Depende de um site que você não controla.** Quando a página muda de forma, o plugin tem que mudar junto. É o
|
|
173
|
+
aviso de desenvolvimento ativo no topo desta página, não uma formalidade.
|
|
174
|
+
|
|
175
|
+
**Não é afiliado ao DeepSeek.** Não é endossado nem apoiado por eles, e não dá a você nenhum direito sobre o
|
|
176
|
+
serviço deles. Seu uso desse serviço é regido pelos termos deles.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
## Configuração
|
|
181
|
+
|
|
182
|
+
O `cordis.patch.yml` define:
|
|
183
|
+
|
|
184
|
+
| chave | padrão | significado |
|
|
185
|
+
|---|---|---|
|
|
186
|
+
| `port` | `9222` | a porta de depuração do navegador |
|
|
187
|
+
| `defaultModel` | `deepseek-chat-search` | usado quando a chamada não nomeia um modelo |
|
|
188
|
+
| `showBrowser` | `true` | se a janela é visível enquanto trabalha |
|
|
189
|
+
|
|
190
|
+
O navegador precisa ter uma sessão aberta no `chat.deepseek.com`. A primeira chamada abre o Brave no perfil
|
|
191
|
+
**Default** se a porta ainda não estiver aberta. Se o Brave já estiver rodando *sem* porta de depuração, o
|
|
192
|
+
adaptador não consegue se conectar e diz isso claramente em vez de falhar em silêncio.
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
196
|
+
## Arquitetura
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
index.js o adaptador: StreamChunk do harness ←→ motor
|
|
200
|
+
lib/engine.mjs navegador + página: digitar, enviar, transmitir, assentar
|
|
201
|
+
lib/cdp.mjs cliente do Chrome DevTools Protocol, sem dependências
|
|
202
|
+
lib/prompt.mjs achata mensagens + ferramentas em uma mensagem; recupera chamadas da resposta
|
|
203
|
+
lib/savings.mjs o que a rota web economizou, precificado contra a API
|
|
204
|
+
lib/i18n.mjs 51 idiomas para o painel
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
**Sem dependências.** O Node 24 traz `WebSocket` e `fetch` globais, que é tudo de que o CDP precisa: o fluxo de
|
|
208
|
+
tokens nunca sai do processo host e não há salto de IPC por delta.
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
## Apoio
|
|
213
|
+
|
|
214
|
+
O Uncle Sam existe para você parar de pagar por token. Se ele economizou seu dinheiro e você gostaria de ver o
|
|
215
|
+
próximo construído em hardware que não fica sem memória no meio do caminho:
|
|
216
|
+
|
|
217
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
218
|
+
|
|
219
|
+
Uma estrela no repositório ou um relato de bug útil vale o mesmo.
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
## Licença
|
|
224
|
+
|
|
225
|
+
**CC BY-NC-ND 4.0** — Creative Commons Atribuição-NãoComercial-SemDerivações 4.0 Internacional.
|
|
226
|
+
Copyright (c) 2026 Darren T. Weldon, publicado sob o nome Operating Tag.
|
|
227
|
+
|
|
228
|
+
**O acordo inteiro em uma linha: instale e use, pessoalmente, de graça. Não altere, não compartilhe, não venda e
|
|
229
|
+
não use numa empresa.**
|
|
230
|
+
|
|
231
|
+
Isso não é software livre, e não finge ser.
|
|
232
|
+
|
|
233
|
+
```
|
|
234
|
+
você pode instalá-lo e executá-lo · usá-lo pessoalmente, sem fins comerciais
|
|
235
|
+
ler o código-fonte para entendê-lo
|
|
236
|
+
|
|
237
|
+
você não pode modificá-lo, adaptá-lo ou criar uma obra derivada
|
|
238
|
+
copiá-lo, distribuí-lo, publicá-lo, espelhá-lo ou
|
|
239
|
+
disponibilizá-lo a qualquer pessoa
|
|
240
|
+
enviá-lo a qualquer hospedagem de código, registro, site,
|
|
241
|
+
fórum ou chat
|
|
242
|
+
vendê-lo, revendê-lo, alugá-lo ou cobrar por ele ou pelo acesso a ele
|
|
243
|
+
incluí-lo em qualquer coisa que você entregue a outra pessoa
|
|
244
|
+
usá-lo para qualquer fim comercial ou no exercício de uma atividade empresarial
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**As duas únicas fontes legítimas são este repositório e o pacote npm
|
|
248
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Uma cópia vinda de
|
|
249
|
+
qualquer outro lugar não é licenciada, seja quem for que a forneceu. Se você vir este software à venda, não é o
|
|
250
|
+
autor que está vendendo.
|
|
251
|
+
|
|
252
|
+
**O uso comercial, e o direito de modificar e distribuir, estão disponíveis sob uma licença escrita separada.**
|
|
253
|
+
Pergunte ao Operating Tag e você terá uma resposta clara e um preço claro.
|
|
254
|
+
|
|
255
|
+
O arquivo [LICENSE](LICENSE) é o que vale, e ele abre com o mesmo resumo em inglês simples.
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
O Uncle Sam é um plugin independente. Não afiliado ao DeepSeek, nem endossado nem apoiado por ele.
|
|
260
|
+
|
|
261
|
+
```
|
|
262
|
+
@operatingtag/dsh-unclesam v1.0.1
|
|
263
|
+
Autor Operating Tag
|
|
264
|
+
Licença CC BY-NC-ND 4.0 — livre para usar, não para alterar, compartilhar ou vender
|
|
265
|
+
```
|
package/README.ru.md
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
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) · **Русский** · [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
|
+
**Провайдер для 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
|
+
измерено первый токен ~1,9 с · накладные ~0,6 с · полный ход ~2,5 с
|
|
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
|
+
| Скорость | быстро | ~2,5 с на ход, измерено |
|
|
38
|
+
| Вызов инструментов | нативный и надёжный | эмуляция: работает, но слабее |
|
|
39
|
+
| Зависит от | API | сайта, который меняется без предупреждения |
|
|
40
|
+
|
|
41
|
+
**Оба пути остаются установленными.** Переключатель — это выбор модели: по умолчанию дешёвый путь, а к API
|
|
42
|
+
обращаетесь, когда задаче нужны надёжные инструменты.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Установка
|
|
47
|
+
|
|
48
|
+
Uncle Sam — **плагин DeepSeek Harness**. Вне Harness он ничего не делает: он регистрирует провайдера моделей,
|
|
49
|
+
маршрут на хосте и два места в интерфейсе.
|
|
50
|
+
|
|
51
|
+
**Требования**
|
|
52
|
+
|
|
53
|
+
| | |
|
|
54
|
+
|---|---|
|
|
55
|
+
| DeepSeek Harness | любая свежая сборка с менеджером плагинов |
|
|
56
|
+
| Браузер | рекомендуется Brave; Edge используется автоматически, если Brave нет |
|
|
57
|
+
| Node | 22 или новее |
|
|
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
|
+
Затем добавьте строку пакета в свой профиль, чтобы Harness его загрузил:
|
|
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
|
+
Нажмите **Войти / открыть чат**. Браузер откроется и **останется видимым**, пока вы не войдёте на
|
|
91
|
+
chat.deepseek.com. После этого он свернётся сам, и вы его больше не увидите. Сеанс живёт в профиле браузера,
|
|
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
|
+
|
|
107
|
+
## Переключатель API / веб
|
|
108
|
+
|
|
109
|
+
**Переключатель — это выбор модели.** Второго элемента управления нет, потому что второй элемент, который ещё
|
|
110
|
+
и выбирал бы модель, был бы двумя источниками правды для одного решения.
|
|
111
|
+
|
|
112
|
+
| Выберите эту модель | Путь | DeepThink | Поиск |
|
|
113
|
+
|---|---|---|---|
|
|
114
|
+
| `DeepSeek Chat (web)` | браузер | выкл | выкл |
|
|
115
|
+
| `DeepSeek Chat + Search (web)` | браузер | выкл | **вкл** |
|
|
116
|
+
| `DeepSeek Reasoner (web)` | браузер | **вкл** | выкл |
|
|
117
|
+
| `DeepSeek Reasoner + Search (web)` | браузер | **вкл** | **вкл** |
|
|
118
|
+
| любая модель без `(web)` | API | — | — |
|
|
119
|
+
|
|
120
|
+
Рядом с названием модели появляется значок **WEB** или **API**, чтобы активный путь был виден сразу. Если
|
|
121
|
+
название не распознано, значок не показывает ничего вместо того, чтобы угадывать: неверный значок хуже, чем
|
|
122
|
+
никакого.
|
|
123
|
+
|
|
124
|
+
Выбор сохраняется между перезапусками. **DeepThink** — проход рассуждения; **Поиск** позволяет читать живой
|
|
125
|
+
веб.
|
|
126
|
+
|
|
127
|
+
### Поиск виден в переписке
|
|
128
|
+
|
|
129
|
+
С моделью поиска ход даёт **два блока** — запрос, с которым она искала, найденные источники и затем ответ,
|
|
130
|
+
который ими воспользовался:
|
|
131
|
+
|
|
132
|
+
```
|
|
133
|
+
Веб-поиск — «Какая сегодня новость из мира технологий?»
|
|
134
|
+
Источники (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
135
|
+
Ссылки: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Страница не раскрывает запрос, который ввела внутри себя, поэтому цитируемый запрос — это сообщение,
|
|
139
|
+
запустившее поиск. Источники и ссылки считываются со страницы, когда ответ устоялся. Поскольку источники
|
|
140
|
+
существуют только в конце, **ходы с поиском буферизуются, а не транслируются**; обычные ходы по-прежнему
|
|
141
|
+
идут токен за токеном.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
## Почему браузер, а не их HTTP API
|
|
146
|
+
|
|
147
|
+
Очевидный путь — вызывать собственный API `chat.deepseek.com` — был испробован и отброшен. Сайт заставляет
|
|
148
|
+
каждое сообщение пройти двое ворот:
|
|
149
|
+
|
|
150
|
+
| Ворота | Что это значит |
|
|
151
|
+
|---|---|
|
|
152
|
+
| `/api/v0/chat/create_pow_challenge` | **доказательство работы** на каждое сообщение |
|
|
153
|
+
| `challenges.cloudflare.com/turnstile` | защита от ботов на источнике |
|
|
154
|
+
|
|
155
|
+
Повторно реализовывать любое из них — заведомо проигрышное дело: они обфусцированы, они меняются, и когда они
|
|
156
|
+
меняются, сбой выглядит ровно как сетевая авария. **Страница уже решает и то, и другое для своих собственных
|
|
157
|
+
запросов.**
|
|
158
|
+
|
|
159
|
+
Поэтому адаптер никогда не говорит с сайтом по HTTP. Он управляет страницей, а страница делает остальное.
|
|
160
|
+
Авторизация, доказательство работы и Turnstile перестают быть нашей проблемой и не могут сломаться отдельно от
|
|
161
|
+
самого сайта.
|
|
162
|
+
|
|
163
|
+
**Проверено:** простой `HEAD` к сайту возвращает `403`; браузерный путь возвращает ответы.
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
## Ограничения, названные честно
|
|
168
|
+
|
|
169
|
+
**Вызов инструментов эмулируется.** У веб-чата нет структурированного канала для инструментов: они описываются
|
|
170
|
+
в запросе, а вызов восстанавливается разбором JSON-объекта из ответа. Это работает — проверено — но слабее
|
|
171
|
+
нативного вызова: модель, проигнорировавшая инструкцию, отвечает текстом, и Harness в этом ходе вовсе не видит
|
|
172
|
+
использования инструментов. **Для тяжёлой агентской работы путь через API надёжнее.** Веб-путь лучше всего
|
|
173
|
+
подходит для беседы, длинных ответов, подагентов, сжатия контекста и любого хода, где модель обязана быть
|
|
174
|
+
веб-моделью.
|
|
175
|
+
|
|
176
|
+
**Он зависит от сайта, который вы не контролируете.** Когда страница меняет форму, плагин должен меняться
|
|
177
|
+
вместе с ней. Это и есть предупреждение о разработке в начале страницы, а не формальность.
|
|
178
|
+
|
|
179
|
+
**Он не связан с DeepSeek.** Они его не одобряют и не поддерживают, и он не даёт вам никаких прав на их
|
|
180
|
+
сервис. Ваше использование этого сервиса регулируется их условиями.
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
## Настройка
|
|
185
|
+
|
|
186
|
+
`cordis.patch.yml` задаёт:
|
|
187
|
+
|
|
188
|
+
| ключ | по умолчанию | значение |
|
|
189
|
+
|---|---|---|
|
|
190
|
+
| `port` | `9222` | порт отладки браузера |
|
|
191
|
+
| `defaultModel` | `deepseek-chat-search` | используется, когда вызов не называет модель |
|
|
192
|
+
| `showBrowser` | `true` | видно ли окно во время работы |
|
|
193
|
+
|
|
194
|
+
В браузере должен быть открытый сеанс `chat.deepseek.com`. Первый вызов запускает Brave с профилем
|
|
195
|
+
**Default**, если порт ещё не открыт. Если Brave уже работает *без* порта отладки, адаптер не может
|
|
196
|
+
подключиться и прямо об этом сообщает, а не падает молча.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Устройство
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
index.js адаптер: StreamChunk Harness ←→ движок
|
|
204
|
+
lib/engine.mjs браузер и страница: набрать, отправить, транслировать, дождаться
|
|
205
|
+
lib/cdp.mjs клиент Chrome DevTools Protocol, без зависимостей
|
|
206
|
+
lib/prompt.mjs сводит сообщения и инструменты в одно сообщение; достаёт вызовы из ответа
|
|
207
|
+
lib/savings.mjs сколько сэкономил веб-путь, в ценах API
|
|
208
|
+
lib/i18n.mjs 51 язык для панели
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
**Никаких зависимостей.** В Node 24 есть глобальные `WebSocket` и `fetch` — больше CDP ничего не нужно,
|
|
212
|
+
поэтому поток токенов никогда не покидает процесс хоста и на каждую дельту нет перехода через IPC.
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
## Поддержка
|
|
217
|
+
|
|
218
|
+
Uncle Sam существует, чтобы вы перестали платить за токены. Если он сэкономил вам деньги и вам хотелось бы
|
|
219
|
+
увидеть следующий на железе, которое не кончается память на полпути:
|
|
220
|
+
|
|
221
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
222
|
+
|
|
223
|
+
Звезда на репозитории или полезный отчёт об ошибке стоит столько же.
|
|
224
|
+
|
|
225
|
+
---
|
|
226
|
+
|
|
227
|
+
## Лицензия
|
|
228
|
+
|
|
229
|
+
**CC BY-NC-ND 4.0** — Creative Commons «Атрибуция — Некоммерческое использование — Без производных» 4.0
|
|
230
|
+
International. Copyright (c) 2026 Darren T. Weldon, опубликовано под именем Operating Tag.
|
|
231
|
+
|
|
232
|
+
**Весь договор одной строкой: установите и пользуйтесь лично, бесплатно. Не меняйте, не передавайте, не
|
|
233
|
+
продавайте и не используйте в компании.**
|
|
234
|
+
|
|
235
|
+
Это не открытый исходный код, и он не притворяется им.
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
можно устанавливать и запускать · использовать лично, не в коммерческих целях
|
|
239
|
+
читать исходный код, чтобы его понять
|
|
240
|
+
|
|
241
|
+
нельзя изменять, адаптировать или создавать производное произведение
|
|
242
|
+
копировать, распространять, публиковать, зеркалить или
|
|
243
|
+
делать доступным кому-либо
|
|
244
|
+
загружать на любой хостинг кода, в реестр, на сайт, форум или в чат
|
|
245
|
+
продавать, перепродавать, сдавать в аренду или брать деньги за него
|
|
246
|
+
или за доступ к нему
|
|
247
|
+
включать в что-либо, что вы передаёте другому лицу
|
|
248
|
+
использовать в коммерческих целях или в рамках предпринимательской деятельности
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
**Единственные два законных источника — этот репозиторий и пакет npm
|
|
252
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam).** Копия, полученная
|
|
253
|
+
где-либо ещё, не лицензирована, кто бы её ни передал. Если вы видите этот софт в продаже, продаёт его не
|
|
254
|
+
автор.
|
|
255
|
+
|
|
256
|
+
**Коммерческое использование, а также право изменять и распространять, доступны по отдельной письменной
|
|
257
|
+
лицензии.** Спросите Operating Tag — получите прямой ответ и понятную цену.
|
|
258
|
+
|
|
259
|
+
Имеет силу файл [LICENSE](LICENSE), и он начинается с того же краткого изложения простым английским.
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
Uncle Sam — независимый плагин. Не связан с DeepSeek, не одобрен и не поддерживается им.
|
|
264
|
+
|
|
265
|
+
```
|
|
266
|
+
@operatingtag/dsh-unclesam v1.0.1
|
|
267
|
+
Автор Operating Tag
|
|
268
|
+
Лицензия CC BY-NC-ND 4.0 — бесплатно для использования, не для изменения, передачи или продажи
|
|
269
|
+
```
|