@operatingtag/dsh-unclesam 0.0.0-stage → 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 +928 -0
- package/LICENSE +144 -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 +260 -2
- 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/client.js +1099 -0
- package/cordis.patch.yml +48 -0
- package/icon.svg +17 -0
- package/index.js +1414 -0
- package/install.cmd +43 -0
- package/install.ps1 +311 -0
- package/lib/cdp.mjs +247 -0
- package/lib/engine.mjs +1412 -0
- package/lib/i18n.mjs +141 -0
- package/lib/prefs.mjs +101 -0
- package/lib/prompt.mjs +498 -0
- package/lib/savings.mjs +131 -0
- package/locale/ar.json +98 -0
- package/locale/az.json +98 -0
- package/locale/bg.json +98 -0
- package/locale/bn.json +98 -0
- package/locale/cs.json +98 -0
- package/locale/da.json +98 -0
- package/locale/de.json +98 -0
- package/locale/el.json +98 -0
- package/locale/en.json +98 -0
- package/locale/es.json +98 -0
- package/locale/fa.json +98 -0
- package/locale/fi.json +98 -0
- package/locale/fr.json +98 -0
- package/locale/he.json +98 -0
- package/locale/hi.json +98 -0
- package/locale/hr.json +98 -0
- package/locale/hu.json +98 -0
- package/locale/id.json +98 -0
- package/locale/it.json +98 -0
- package/locale/ja.json +98 -0
- package/locale/ka.json +98 -0
- package/locale/kk.json +98 -0
- package/locale/km.json +98 -0
- package/locale/ko.json +98 -0
- package/locale/lt.json +98 -0
- package/locale/mr.json +98 -0
- package/locale/ms.json +98 -0
- package/locale/my.json +98 -0
- package/locale/ne.json +98 -0
- package/locale/nl.json +98 -0
- package/locale/no.json +98 -0
- package/locale/pl.json +98 -0
- package/locale/pt.json +98 -0
- package/locale/ro.json +98 -0
- package/locale/ru.json +98 -0
- package/locale/si.json +98 -0
- package/locale/sk.json +98 -0
- package/locale/sl.json +98 -0
- package/locale/sr.json +98 -0
- package/locale/sv.json +98 -0
- package/locale/sw.json +98 -0
- package/locale/ta.json +98 -0
- package/locale/te.json +98 -0
- package/locale/th.json +98 -0
- package/locale/tl.json +98 -0
- package/locale/tr.json +98 -0
- package/locale/uk.json +98 -0
- package/locale/ur.json +98 -0
- package/locale/uz.json +98 -0
- package/locale/vi.json +98 -0
- package/locale/zh.json +98 -0
- package/package.json +89 -4
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
|
+
```
|
package/README.tr.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](README.pt.md) · [Italiano](README.it.md) · **Türkçe** · [한국어](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
|
+
**Ücretli API yerine, hâlihazırda sahip olduğunuz web hesabıyla, kendi tarayıcınız üzerinden yanıt veren bir DeepSeek Harness sağlayıcısı.**
|
|
6
|
+
|
|
7
|
+
**☕ [Bana bir kahve ısmarla](https://revolut.me/operatingtag)** — tek bir kişi tarafından, geceleri, hiçbir finansman olmadan yazılıyor. Başka gelir modeli yok. Bir yıldız ya da işe yarar bir hata bildirimi de aynı değerde.
|
|
8
|
+
|
|
9
|
+
> **Bu ürün aktif geliştirme aşamasında. Hatalar bekleyin.**
|
|
10
|
+
>
|
|
11
|
+
> Çalışıyor, hızlı ve haftalardır her gün kullanılıyor — ama sürekli değişiyor ve tarayıcı yolu, haber vermeden
|
|
12
|
+
> değişen bir web sitesine bağlı. Bir şey bozulursa, bir açıklamadan çok ekran görüntüsü ve sürüm numarası işe
|
|
13
|
+
> yarar. Ona bağımlıysanız sürümü sabitleyin.
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
sağlayıcı deepseek-web
|
|
17
|
+
modeller deepseek-chat · deepseek-chat-search · deepseek-reasoner · deepseek-reasoner-search
|
|
18
|
+
maliyet token başına sıfır — tarayıcınızda zaten açık olan aboneliği kullanır
|
|
19
|
+
durum geliştirme aşamasında — hatalar bekleyin
|
|
20
|
+
ölçülen ilk token ~1,9 sn · ek yük ~0,6 sn · bir tur ~2,5 sn
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Web yolundan gelen yanıtlar **🔴 Uncle Sam** ile imzalanır. Bu ad bir şaka, bir iddia değil: hangi yolun yanıt
|
|
24
|
+
verdiğini işaretler ve API yanıtlarında hiç imza yoktur. Size kimin yanıt verdiğini her zaman bilirsiniz.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Ne kazandırır
|
|
29
|
+
|
|
30
|
+
API token başına ücret alır. Web ürünü almaz. Bu eklenti `deepseek-web`'i model sağlayıcısı olarak kaydeder ve
|
|
31
|
+
her çağrıyı gerçek bir tarayıcıda `chat.deepseek.com`'u sürerek yanıtlar — işi sayfa yapar, oturumu tarayıcı
|
|
32
|
+
tutar ve hiçbir şey ölçülmez.
|
|
33
|
+
|
|
34
|
+
| | API yolu | Web yolu |
|
|
35
|
+
|---|---|---|
|
|
36
|
+
| Maliyet | token başına, sürekli | abonelik dışında hiçbir şey |
|
|
37
|
+
| Hız | hızlı | tur başına ~2,5 sn, ölçüldü |
|
|
38
|
+
| Araç çağrısı | yerleşik ve güvenilir | taklit, çalışıyor ama daha zayıf |
|
|
39
|
+
| Bağımlı olduğu şey | API | haber vermeden değişen bir web sitesi |
|
|
40
|
+
|
|
41
|
+
**İki yol da kurulu kalır.** Model seçici zaten anahtardır: varsayılan olarak ucuz yolu kullanın, güvenilir araç
|
|
42
|
+
kullanımı gereken işlerde API'ye geçin.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Kurulum
|
|
47
|
+
|
|
48
|
+
Uncle Sam bir **DeepSeek Harness eklentisidir**. Harness dışında hiçbir şey yapmaz, çünkü bir model sağlayıcısı,
|
|
49
|
+
bir ana makine rotası ve iki arayüz yuvası kaydeder.
|
|
50
|
+
|
|
51
|
+
**Gereksinimler**
|
|
52
|
+
|
|
53
|
+
| | |
|
|
54
|
+
|---|---|
|
|
55
|
+
| DeepSeek Harness | eklenti yöneticisi olan herhangi bir güncel sürüm |
|
|
56
|
+
| Tarayıcı | Brave önerilir; Brave yoksa Edge otomatik kullanılır |
|
|
57
|
+
| Node | 22 veya üstü |
|
|
58
|
+
|
|
59
|
+
**npm'den**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
pnpm add @operatingtag/dsh-unclesam
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
**Bu depodan**
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
git clone https://github.com/operatingtag/dsh-unclesam
|
|
69
|
+
cd dsh-unclesam
|
|
70
|
+
pnpm install
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Sonra harness'in yüklemesi için profilinize paket satırını ekleyin:
|
|
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
|
+
**Ya da bir klasörden:** Ayarlar → Eklentiler → yerel bir yoldan kur, `package.json` içeren klasörü gösterin.
|
|
87
|
+
|
|
88
|
+
### İlk çalıştırma
|
|
89
|
+
|
|
90
|
+
**Giriş yap / sohbeti aç** düğmesine basın. chat.deepseek.com'da giriş yapana kadar tarayıcı **görünür kalır**.
|
|
91
|
+
Sonrasında kendini simge durumuna indirir ve bir daha görmezsiniz. Oturum tarayıcı profilinizde yaşar, yani
|
|
92
|
+
**eklenti hiçbir parola saklamaz** — sızabilecek bir şey yoktur.
|
|
93
|
+
|
|
94
|
+
Ardından şunları görmelisiniz:
|
|
95
|
+
|
|
96
|
+
1. **Ayarlar → Uncle Sam** — durum satırları ve bir giriş düğmesi olan bir sayfa.
|
|
97
|
+
2. **Mesaj kutusunun altında** — `● DeepSeek Harness` veya `● Uncle Sam`, geçiş için tıklayın.
|
|
98
|
+
3. **Model listesi** — API modellerinin yanında dört `(web)` modeli.
|
|
99
|
+
|
|
100
|
+
### Kaldırma
|
|
101
|
+
|
|
102
|
+
Ayarlar → Eklentiler → Uncle Sam → Kaldır. Giriş yaptığınız tarayıcı profili dışında hiçbir şey yazılmaz.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## API / web anahtarı
|
|
107
|
+
|
|
108
|
+
**Model seçici anahtarın kendisidir.** İkinci bir denetim yok, çünkü modeli de seçen ikinci bir denetim tek bir
|
|
109
|
+
karar için iki doğruluk kaynağı olurdu.
|
|
110
|
+
|
|
111
|
+
| Bu modeli seçin | Yol | DeepThink | Arama |
|
|
112
|
+
|---|---|---|---|
|
|
113
|
+
| `DeepSeek Chat (web)` | tarayıcı | kapalı | kapalı |
|
|
114
|
+
| `DeepSeek Chat + Search (web)` | tarayıcı | kapalı | **açık** |
|
|
115
|
+
| `DeepSeek Reasoner (web)` | tarayıcı | **açık** | kapalı |
|
|
116
|
+
| `DeepSeek Reasoner + Search (web)` | tarayıcı | **açık** | **açık** |
|
|
117
|
+
| `(web)` olmayan her model | API | — | — |
|
|
118
|
+
|
|
119
|
+
Model adının yanında **WEB** ya da **API** rozeti görünür, böylece etkin yol bir bakışta belli olur. Ad
|
|
120
|
+
tanınmadığında rozet tahmin etmek yerine hiçbir şey göstermez — yanlış bir rozet hiç olmamasından kötüdür.
|
|
121
|
+
|
|
122
|
+
Seçiminiz yeniden başlatmalar arasında korunur. **DeepThink** akıl yürütme geçişidir; **Arama** canlı web'i
|
|
123
|
+
okumasını sağlar.
|
|
124
|
+
|
|
125
|
+
### Arama konuşmada görünür
|
|
126
|
+
|
|
127
|
+
Bir arama modeliyle bir tur **iki blok** üretir — aradığı sorgu, bulduğu kaynaklar ve sonra bunları kullanan
|
|
128
|
+
yanıt:
|
|
129
|
+
|
|
130
|
+
```
|
|
131
|
+
Web araması — "Bugünün bir teknoloji haberi nedir?"
|
|
132
|
+
Kaynaklar (4): yna.co.kr · fnnews.com · rthk.hk · sina.com.cn
|
|
133
|
+
Bağlantılar: https://k.sina.com.cn/article_... http://www.21jingji.com/article_...
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Sayfa, kendi içinde yazdığı sorguyu açığa çıkarmaz; bu yüzden alıntılanan sorgu aramayı başlatan mesajdır.
|
|
137
|
+
Kaynaklar ve bağlantılar yanıt yerleştikten sonra sayfadan okunur. Kaynaklar yalnızca sonda var olduğu için
|
|
138
|
+
**aramalı turlar akış yerine biriktirilir**; sıradan turlar hâlâ token token akar.
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Neden tarayıcı, neden onların HTTP API'si değil
|
|
143
|
+
|
|
144
|
+
Akla gelen yol — `chat.deepseek.com`'un kendi API'sini çağırmak — denendi ve bırakıldı. Site her mesajı iki
|
|
145
|
+
kapıdan geçiriyor:
|
|
146
|
+
|
|
147
|
+
| Kapı | Anlamı |
|
|
148
|
+
|---|---|
|
|
149
|
+
| `/api/v0/chat/create_pow_challenge` | mesaj başına bir **iş kanıtı** |
|
|
150
|
+
| `challenges.cloudflare.com/turnstile` | kaynakta bir bot kapısı |
|
|
151
|
+
|
|
152
|
+
Bunlardan birini yeniden yazmak kaybedilmiş bir savaştır: karartılmışlardır, değişirler ve değiştiklerinde
|
|
153
|
+
başarısızlık tam olarak bir ağ arızasına benzer. **Sayfa ikisini de kendi istekleri için zaten çözmüş
|
|
154
|
+
durumda.**
|
|
155
|
+
|
|
156
|
+
Bu yüzden bağdaştırıcı siteyle hiç HTTP konuşmaz. Sayfayı sürer, gerisini sayfa yapar. Kimlik doğrulama, iş
|
|
157
|
+
kanıtı ve Turnstile artık bizim sorunumuz değildir ve sitenin kendisinden bağımsız olarak bozulamazlar.
|
|
158
|
+
|
|
159
|
+
**Doğrulandı:** siteye düz bir `HEAD` `403` döndürür; tarayıcı yolu yanıt döndürür.
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## Dürüstçe söylenen sınırlar
|
|
164
|
+
|
|
165
|
+
**Araç kullanımı taklitten ibarettir.** Bir web sohbetinde yapılandırılmış araç kanalı yoktur: araçlar istemde
|
|
166
|
+
anlatılır ve bir çağrı, yanıttan bir JSON nesnesi ayrıştırılarak geri kazanılır. Çalışıyor — doğrulandı — ama
|
|
167
|
+
yerleşik araç çağrısından zayıftır: talimatı yok sayan bir model düz yazıyla yanıt verir ve harness o turda hiç
|
|
168
|
+
araç kullanımı görmez. **Ağır ajan işleri için API yolu daha güvenilirdir.** Web yolu sohbet, uzun yanıtlar, alt
|
|
169
|
+
ajanlar, sıkıştırma ve modelin web modeli olması gereken her tur için en iyisidir.
|
|
170
|
+
|
|
171
|
+
**Kontrol etmediğiniz bir web sitesine bağlıdır.** Sayfa şekil değiştirince eklenti de onunla değişmek zorundadır.
|
|
172
|
+
Bu sayfanın başındaki geliştirme uyarısı bir formalite değil.
|
|
173
|
+
|
|
174
|
+
**DeepSeek ile bağlantılı değildir.** Onlar tarafından onaylanmamış, desteklenmemiştir ve size onların
|
|
175
|
+
hizmetinde hiçbir hak vermez. O hizmeti kullanımınız onların koşullarına tabidir.
|
|
176
|
+
|
|
177
|
+
---
|
|
178
|
+
|
|
179
|
+
## Yapılandırma
|
|
180
|
+
|
|
181
|
+
`cordis.patch.yml` şunları ayarlar:
|
|
182
|
+
|
|
183
|
+
| anahtar | varsayılan | anlamı |
|
|
184
|
+
|---|---|---|
|
|
185
|
+
| `port` | `9222` | tarayıcının hata ayıklama portu |
|
|
186
|
+
| `defaultModel` | `deepseek-chat-search` | çağrı model belirtmediğinde kullanılır |
|
|
187
|
+
| `showBrowser` | `true` | çalışırken pencerenin görünür olup olmadığı |
|
|
188
|
+
|
|
189
|
+
Tarayıcıda açık bir `chat.deepseek.com` oturumu olmalıdır. İlk çağrıda port henüz açık değilse Brave
|
|
190
|
+
**Default** profiliyle başlatılır. Brave hata ayıklama portu *olmadan* çalışıyorsa bağdaştırıcı bağlanamaz ve
|
|
191
|
+
sessizce başarısız olmak yerine bunu açıkça söyler.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## Yapı
|
|
196
|
+
|
|
197
|
+
```
|
|
198
|
+
index.js bağdaştırıcı: harness StreamChunk ←→ motor
|
|
199
|
+
lib/engine.mjs tarayıcı + sayfa: yaz, gönder, akıt, otur
|
|
200
|
+
lib/cdp.mjs Chrome DevTools Protocol istemcisi, sıfır bağımlılık
|
|
201
|
+
lib/prompt.mjs mesajları + araçları tek mesaja düzleştirir; çağrıları yanıttan geri kazanır
|
|
202
|
+
lib/savings.mjs web yolunun size kazandırdığı, API fiyatıyla hesaplanmış
|
|
203
|
+
lib/i18n.mjs panel için 51 dil
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
**Bağımlılık yok.** Node 24 global `WebSocket` ve `fetch` ile birlikte gelir; CDP'nin ihtiyacı olan tek şey
|
|
207
|
+
budur, böylece token akışı ana makine sürecini hiç terk etmez ve her delta için bir IPC sıçraması olmaz.
|
|
208
|
+
|
|
209
|
+
---
|
|
210
|
+
|
|
211
|
+
## Destek
|
|
212
|
+
|
|
213
|
+
Uncle Sam, token başına ödeme yapmayı bırakın diye var. Size para kazandırdıysa ve bir sonrakinin yarı yolda
|
|
214
|
+
belleği tükenmeyen donanımda yapılmasını isterseniz:
|
|
215
|
+
|
|
216
|
+
**[☕ revolut.me/operatingtag](https://revolut.me/operatingtag)**
|
|
217
|
+
|
|
218
|
+
Depoya bir yıldız ya da işe yarar bir hata bildirimi de aynı değerde.
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Lisans
|
|
223
|
+
|
|
224
|
+
**CC BY-NC-ND 4.0** — Creative Commons Atıf-GayrıTicari-Türetilemez 4.0 Uluslararası.
|
|
225
|
+
Copyright (c) 2026 Darren T. Weldon, Operating Tag adıyla yayımlandı.
|
|
226
|
+
|
|
227
|
+
**Tüm anlaşma tek satırda: kişisel olarak kurun ve kullanın, ücretsiz. Değiştirmeyin, paylaşmayın, satmayın ve
|
|
228
|
+
bir şirkette kullanmayın.**
|
|
229
|
+
|
|
230
|
+
Bu açık kaynak değildir ve öyleymiş gibi davranmaz.
|
|
231
|
+
|
|
232
|
+
```
|
|
233
|
+
yapabilirsiniz kurup çalıştırmak · kişisel ve ticari olmayan amaçla kullanmak
|
|
234
|
+
anlamak için kaynağı okumak
|
|
235
|
+
|
|
236
|
+
yapamazsınız değiştirmek, uyarlamak veya türev bir eser oluşturmak
|
|
237
|
+
kopyalamak, dağıtmak, yayımlamak, aynalamak ya da
|
|
238
|
+
başkasının kullanımına sunmak
|
|
239
|
+
herhangi bir kod barındırma, kayıt defteri, web sitesi,
|
|
240
|
+
forum veya sohbete yüklemek
|
|
241
|
+
satmak, yeniden satmak, kiralamak ya da kendisi veya erişimi için ücret almak
|
|
242
|
+
başka birine verdiğiniz herhangi bir şeye dahil etmek
|
|
243
|
+
herhangi bir ticari amaçla veya iş faaliyeti kapsamında kullanmak
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
**Tek iki meşru kaynak bu depo ve npm paketi
|
|
247
|
+
[`@operatingtag/dsh-unclesam`](https://www.npmjs.com/package/@operatingtag/dsh-unclesam)'dir.** Başka bir
|
|
248
|
+
yerden gelen kopya, kim vermiş olursa olsun lisanslı değildir. Bu yazılımı satışta görürseniz, satan yazarı
|
|
249
|
+
değildir.
|
|
250
|
+
|
|
251
|
+
**Ticari kullanım ile değiştirme ve dağıtma hakkı ayrı bir yazılı lisansla verilir.** Operating Tag'a sorun;
|
|
252
|
+
net bir yanıt ve net bir fiyat alırsınız.
|
|
253
|
+
|
|
254
|
+
Bağlayıcı olan [LICENSE](LICENSE) dosyasıdır ve aynı özetle sade bir İngilizceyle başlar.
|
|
255
|
+
|
|
256
|
+
---
|
|
257
|
+
|
|
258
|
+
Uncle Sam bağımsız bir eklentidir. DeepSeek ile bağlantılı değildir, onlar tarafından onaylanmamış veya
|
|
259
|
+
desteklenmemiştir.
|
|
260
|
+
|
|
261
|
+
```
|
|
262
|
+
@operatingtag/dsh-unclesam v1.0.1
|
|
263
|
+
Yazar Operating Tag
|
|
264
|
+
Lisans CC BY-NC-ND 4.0 — kullanması serbest, değiştirmesi, paylaşması veya satması değil
|
|
265
|
+
```
|