@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.
Files changed (83) hide show
  1. package/CHANGELOG.md +928 -0
  2. package/LICENSE +144 -0
  3. package/README.de.md +274 -0
  4. package/README.es.md +268 -0
  5. package/README.fr.md +272 -0
  6. package/README.hi.md +263 -0
  7. package/README.id.md +264 -0
  8. package/README.it.md +268 -0
  9. package/README.ja.md +263 -0
  10. package/README.ko.md +258 -0
  11. package/README.md +260 -2
  12. package/README.nl.md +266 -0
  13. package/README.pl.md +266 -0
  14. package/README.pt.md +265 -0
  15. package/README.ru.md +269 -0
  16. package/README.tr.md +265 -0
  17. package/README.uk.md +265 -0
  18. package/README.vi.md +263 -0
  19. package/README.zh.md +248 -0
  20. package/client.js +1099 -0
  21. package/cordis.patch.yml +48 -0
  22. package/icon.svg +17 -0
  23. package/index.js +1414 -0
  24. package/install.cmd +43 -0
  25. package/install.ps1 +311 -0
  26. package/lib/cdp.mjs +247 -0
  27. package/lib/engine.mjs +1412 -0
  28. package/lib/i18n.mjs +141 -0
  29. package/lib/prefs.mjs +101 -0
  30. package/lib/prompt.mjs +498 -0
  31. package/lib/savings.mjs +131 -0
  32. package/locale/ar.json +98 -0
  33. package/locale/az.json +98 -0
  34. package/locale/bg.json +98 -0
  35. package/locale/bn.json +98 -0
  36. package/locale/cs.json +98 -0
  37. package/locale/da.json +98 -0
  38. package/locale/de.json +98 -0
  39. package/locale/el.json +98 -0
  40. package/locale/en.json +98 -0
  41. package/locale/es.json +98 -0
  42. package/locale/fa.json +98 -0
  43. package/locale/fi.json +98 -0
  44. package/locale/fr.json +98 -0
  45. package/locale/he.json +98 -0
  46. package/locale/hi.json +98 -0
  47. package/locale/hr.json +98 -0
  48. package/locale/hu.json +98 -0
  49. package/locale/id.json +98 -0
  50. package/locale/it.json +98 -0
  51. package/locale/ja.json +98 -0
  52. package/locale/ka.json +98 -0
  53. package/locale/kk.json +98 -0
  54. package/locale/km.json +98 -0
  55. package/locale/ko.json +98 -0
  56. package/locale/lt.json +98 -0
  57. package/locale/mr.json +98 -0
  58. package/locale/ms.json +98 -0
  59. package/locale/my.json +98 -0
  60. package/locale/ne.json +98 -0
  61. package/locale/nl.json +98 -0
  62. package/locale/no.json +98 -0
  63. package/locale/pl.json +98 -0
  64. package/locale/pt.json +98 -0
  65. package/locale/ro.json +98 -0
  66. package/locale/ru.json +98 -0
  67. package/locale/si.json +98 -0
  68. package/locale/sk.json +98 -0
  69. package/locale/sl.json +98 -0
  70. package/locale/sr.json +98 -0
  71. package/locale/sv.json +98 -0
  72. package/locale/sw.json +98 -0
  73. package/locale/ta.json +98 -0
  74. package/locale/te.json +98 -0
  75. package/locale/th.json +98 -0
  76. package/locale/tl.json +98 -0
  77. package/locale/tr.json +98 -0
  78. package/locale/uk.json +98 -0
  79. package/locale/ur.json +98 -0
  80. package/locale/uz.json +98 -0
  81. package/locale/vi.json +98 -0
  82. package/locale/zh.json +98 -0
  83. 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
+ ```