dsh-think-translate 1.2.13 → 1.2.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +177 -85
- package/README.es.md +177 -85
- package/README.fr.md +177 -85
- package/README.ja.md +177 -85
- package/README.ko.md +177 -85
- package/README.md +217 -127
- package/README.pt.md +217 -0
- package/README.ru.md +177 -85
- package/README.zh-CN.md +229 -125
- package/docs/first-release-evidence.json +25 -0
- package/docs/official-translation-comparison.md +35 -0
- package/lib/client.js +205 -21
- package/lib/index.js +134 -27
- package/lib/local-model.js +89 -0
- package/lib/ollama.js +11 -5
- package/package.json +80 -78
- package/screenshots.json +5 -0
- package/demo/demo.gif +0 -0
- package/demo/demo2.gif +0 -0
package/README.ru.md
CHANGED
|
@@ -1,125 +1,217 @@
|
|
|
1
|
-
<
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/hero.ru.png?v=1.2.16" alt="dsh-think-translate — Мысли ИИ — на вашем языке" width="100%" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<b>Перевод слоя отображения для DeepSeek Harness.</b><br />
|
|
7
|
+
Читайте рассуждения, следите за задачами и понимайте ответы. Оригиналы сохранены; переводы не входят в контекст модели.
|
|
8
|
+
</p>
|
|
4
9
|
|
|
5
|
-
|
|
10
|
+
<p align="center">
|
|
11
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/badge-mit.ru.svg?v=1.2.16" alt="Лицензия MIT" />
|
|
12
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/badge-local.ru.svg?v=1.2.16" alt="Локальный Ollama" />
|
|
13
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/badge-original.ru.svg?v=1.2.16" alt="Оригиналы сохранены" />
|
|
14
|
+
</p>
|
|
6
15
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
16
|
+
<p align="center">
|
|
17
|
+
<a href="README.zh-CN.md">中文</a> · <a href="README.md">English</a> · <a href="README.ja.md">日本語</a> · <a href="README.ko.md">한국어</a> · <a href="README.es.md">Español</a> · <a href="README.fr.md">Français</a> · <a href="README.de.md">Deutsch</a> · <b>Русский</b> · <a href="README.pt.md">Português</a>
|
|
18
|
+
</p>
|
|
10
19
|
|
|
11
|
-
<
|
|
12
|
-
|
|
13
|
-
</
|
|
20
|
+
<p align="center">
|
|
21
|
+
<a href="#quick-start"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-quick-start.ru.svg?v=1.2.16" alt="Установка" height="24" /></a> · <a href="#demo"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-demo.ru.svg?v=1.2.16" alt="Демонстрации" height="24" /></a> · <a href="#features"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-features.ru.svg?v=1.2.16" alt="Возможности" height="24" /></a> · <a href="#comparison"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-comparison.ru.svg?v=1.2.16" alt="Сравнение" height="24" /></a> · <a href="#faq"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-faq.ru.svg?v=1.2.16" alt="Вопросы" height="24" /></a>
|
|
22
|
+
</p>
|
|
14
23
|
|
|
15
24
|
---
|
|
16
25
|
|
|
17
|
-
|
|
26
|
+
<a id="demo"></a>
|
|
27
|
+
## Наблюдайте, как рождаются мысли
|
|
28
|
+
|
|
29
|
+
<table>
|
|
30
|
+
<tr>
|
|
31
|
+
<td width="50%" align="center" valign="bottom">
|
|
32
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/demo/demo.gif?v=1.2.16" alt="Демо 1 · Рассуждения и ответы" width="100%" />
|
|
33
|
+
</td>
|
|
34
|
+
<td width="50%" align="center" valign="bottom">
|
|
35
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/demo/demo2.gif?v=1.2.16" alt="Демо 2 · Другие операции" width="100%" />
|
|
36
|
+
</td>
|
|
37
|
+
</tr>
|
|
38
|
+
<tr>
|
|
39
|
+
<td align="center" valign="top"><sub>Демо 1 · Рассуждения и ответы</sub></td>
|
|
40
|
+
<td align="center" valign="top"><sub>Демо 2 · Другие операции</sub></td>
|
|
41
|
+
</tr>
|
|
42
|
+
</table>
|
|
18
43
|
|
|
19
|
-
|
|
44
|
+
<a id="comparison"></a>
|
|
45
|
+
## Сравнение с официальным плагином перевода
|
|
20
46
|
|
|
21
|
-
|
|
47
|
+
<p align="center">
|
|
48
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/translation-comparison.ru.png?v=1.2.16" alt="Сравнение с официальным плагином перевода" width="100%" />
|
|
49
|
+
</p>
|
|
22
50
|
|
|
23
|
-
|
|
24
|
-
- **🕵️ Читайте любую цепочку рассуждений** — рассуждения, цепочка мыслей, карточки задач и ответы переводятся в реальном времени, потоком по батчам
|
|
25
|
-
- **8 целевых языков** — 中文 / English / 日本語 / 한국어 / Español / Français / Deutsch / Русский
|
|
26
|
-
- **Одноязычный интерфейс** — панель настроек, строки размышлений и карточки задач следуют целевому языку (без смешения zh/en); выбор сохраняется
|
|
27
|
-
- **Локальный Ollama** — используются существующие установка и модели. Если включённый Ollama стоит первым или нажата кнопка проверки, сервис запускается и модель загружается по необходимости. Установка и скачивание отсутствующих компонентов начинаются только после нажатия кнопки подготовки, с отображением прогресса
|
|
28
|
-
- **🧠 Нулевая стоимость контекста** — чистый слой отображения: модель по-прежнему видит исходный текст, а переведённый текст никогда не расходует окно контекста
|
|
29
|
-
- **Запасной вариант Google / Bing** — автоматическое переключение, если локальная модель недоступна (google идёт через Node CONNECT-туннель с системным прокси)
|
|
30
|
-
- **Кодовые артефакты пропускаются** — пути, команды, URL, регулярные выражения и чистые строки кода не переводятся
|
|
31
|
-
- **Пакетный перевод по предложениям** — длинные цепочки переводятся небольшими пакетами, чтобы локальные малые модели сохраняли качество
|
|
32
|
-
- **🧩 Разбивка по абзацам и предложениям** — длинные цепочки делятся по пустым строкам (структура абзацев сохраняется) и дополнительно по предложениям, чтобы локальные малые модели сохраняли качество
|
|
33
|
-
- **Потоковый вывод** — переводы появляются пакет за пакетом во время размышления; разверните строку Think для сравнения с оригиналом
|
|
34
|
-
- **🎚️ Настраиваемый момент перевода** — переводить всё / ленивая загрузка старых цепочек (по умолчанию) / только при раскрытии
|
|
35
|
-
- **🔗 Динамическая цепочка провайдеров** — порядок списка и есть порядок обращения: перетаскивайте для сортировки, включайте и выключайте каждую строку. Встроенные google gtx / bing / локальный Ollama плюс любые свои эндпоинты
|
|
36
|
-
- **🔌 Свои провайдеры (OpenAI и Anthropic)** — из панели можно добавить любой OpenAI-совместимый эндпоинт (`/v1/chat/completions`) или **Anthropic Messages API** (Claude): тип, шаблон, базовый URL, ключ API, модель
|
|
37
|
-
- **🪄 Наследование провайдеров из DSH** — читает из `profiles/<profile>/cordis.patch.yml` / прежний `settings.yaml` (`llm-pi-ai.providers`) строки DSH только для чтения; одна кнопка заново сканирует и добавляет их все в цепочку. Ключ разрешается на каждый запрос из `.credentials.yaml` и никогда не попадает в конфиг плагина. Собственный маршрут харнесса тоже учитывается: если `default-model` / `agent-default-model` указывает на `deepseek-official`, официальный API DeepSeek появляется как ещё одна строка DSH
|
|
38
|
-
- **⏱️ Восстановление после ошибок** — неудачные переводы сохраняются в памяти на 30 секунд, чтобы избежать частых повторов, затем автоматически повторяются; у каждого провайдера есть кнопка проверки
|
|
51
|
+
Включайте этот плагин или официальный переводчик рассуждений. Оба управляют интерфейсом рассуждений.
|
|
39
52
|
|
|
40
|
-
|
|
53
|
+
<a id="quick-start"></a>
|
|
54
|
+
## Одна команда для начала
|
|
41
55
|
|
|
42
56
|
```bash
|
|
43
|
-
# Способ 1: npm (рекомендуется)
|
|
44
57
|
dsh plugin --profile web add dsh-think-translate
|
|
45
|
-
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
После установки полностью перезапустите DSH Web. Откройте **Настройки → Перевод размышлений** и выберите язык и провайдеров.
|
|
46
61
|
|
|
47
|
-
|
|
62
|
+
<details>
|
|
63
|
+
<summary><b>Установка из GitHub, обновление и другие способы</b></summary>
|
|
64
|
+
|
|
65
|
+
Установить из GitHub:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
48
68
|
dsh plugin --profile web add github:UncleK/dsh-think-translate
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Обновить из npm:
|
|
49
72
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
New-Item -ItemType Junction -Path "$HOME\.dsh\profiles\node_modules\dsh-think-translate" `
|
|
53
|
-
-Target "<путь к репозиторию>"
|
|
54
|
-
# 2. добавьте в "$HOME\.dsh\profiles\web\cordis.patch.yml":
|
|
55
|
-
# - insert:
|
|
56
|
-
# - id: dsh-think-translate
|
|
57
|
-
# name: dsh-think-translate
|
|
58
|
-
# 3. перезапустите web
|
|
73
|
+
```bash
|
|
74
|
+
dsh plugin --profile web add dsh-think-translate@latest
|
|
59
75
|
```
|
|
60
76
|
|
|
61
|
-
|
|
77
|
+
Полностью перезапускайте DSH после установки или обновления. При ручном размещении свяжите пакет с профилем и добавьте запись в `cordis.patch.yml`. Обычно рекомендуются команды выше.
|
|
78
|
+
|
|
79
|
+
</details>
|
|
80
|
+
|
|
81
|
+
<a id="features"></a>
|
|
82
|
+
## Понимать нужно не только рассуждения
|
|
83
|
+
|
|
84
|
+
<table>
|
|
85
|
+
<tr>
|
|
86
|
+
<td width="50%" valign="top">
|
|
87
|
+
<h3>Читайте рассуждения в реальном времени</h3>
|
|
88
|
+
<p>Предперевод всего, загрузка истории по мере надобности или перевод при раскрытии</p>
|
|
89
|
+
</td>
|
|
90
|
+
<td width="50%" valign="top">
|
|
91
|
+
<h3>Задачи и ответы вместе</h3>
|
|
92
|
+
<p>Рассуждения, карточки и список задач в поле ввода; ответы и причины отказа автопроверки — по выбору</p>
|
|
93
|
+
</td>
|
|
94
|
+
</tr>
|
|
95
|
+
<tr>
|
|
96
|
+
<td width="50%" valign="top">
|
|
97
|
+
<h3>Понимайте причины решений проверки</h3>
|
|
98
|
+
<p>Если автопроверка отклоняет вызов инструмента, рядом с оригиналом появляется перевод причины. Обычные кнопки решения остаются доступны.</p>
|
|
99
|
+
</td>
|
|
100
|
+
<td width="50%" valign="top">
|
|
101
|
+
<h3>Сохраняйте оригиналы и код</h3>
|
|
102
|
+
<p>Оригинал сохранён; перевод не попадает в контекст модели. Компоненты Markdown; защита кода, путей и команд до перевода.</p>
|
|
103
|
+
</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td width="50%" valign="top">
|
|
107
|
+
<h3>Локальные модели по необходимости</h3>
|
|
108
|
+
<p>Вручную, при снятии флажка или после простоя; загрузка при следующем переводе</p>
|
|
109
|
+
</td>
|
|
110
|
+
<td width="50%" valign="top">
|
|
111
|
+
<h3>Провайдеры в вашем порядке</h3>
|
|
112
|
+
<p>Автопереход по включённым провайдерам; явно неверный язык вызывает следующий; повтор после паузы</p>
|
|
113
|
+
</td>
|
|
114
|
+
</tr>
|
|
115
|
+
</table>
|
|
116
|
+
|
|
117
|
+
### Подключите знакомых провайдеров
|
|
118
|
+
|
|
119
|
+
**Ollama · Google · Bing · OpenAI · Anthropic Messages API**
|
|
120
|
+
|
|
121
|
+
Обнаруживайте провайдеров DSH без повторного ввода адресов и ключей. Каждую строку можно проверить отдельно; порядок списка определяет попытки.
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
Первый выбор → следующий включённый провайдер → … → оригинал, если все не сработали
|
|
125
|
+
```
|
|
62
126
|
|
|
63
|
-
|
|
127
|
+
<details>
|
|
128
|
+
<summary><b>Свои API, ключи и восстановление</b></summary>
|
|
64
129
|
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
130
|
+
- Поддерживаются совместимый с OpenAI `/v1/chat/completions` и нативный Anthropic Messages API.
|
|
131
|
+
- Обнаружение читает текущий профиль DSH и переопределения. Повторите поиск и добавьте провайдеров в цепочку.
|
|
132
|
+
- `apiKeyEnv` разрешается при запросе; полученные ключи не записываются в конфигурацию плагина.
|
|
133
|
+
- После сбоя действует пауза 30 секунд в памяти host. Затем новые запросы могут повторить попытку. Явно неверный язык вызывает следующего провайдера.
|
|
134
|
+
- Текст, распознанный как целевой язык, пропускается; тест провайдера всегда отправляет настоящий запрос.
|
|
68
135
|
|
|
69
|
-
|
|
136
|
+
</details>
|
|
70
137
|
|
|
71
|
-
|
|
138
|
+
### Локальные модели перевода: загрузка и освобождение по необходимости
|
|
72
139
|
|
|
73
|
-
|
|
140
|
+
| Ваше действие | Поведение плагина |
|
|
141
|
+
|---|---|
|
|
142
|
+
| Перевести или проверить | Запуск службы и загрузка выбранной модели по необходимости |
|
|
143
|
+
| Освободить память модели | Дождаться текущих переводов, затем выгрузить; сохранить файлы, переключатели и порядок |
|
|
144
|
+
| Снять флажок локального провайдера | Отключить его и выгрузить выбранную модель |
|
|
145
|
+
| Снова включить или открыть настройки | Без предварительной загрузки; загрузка при следующем переводе |
|
|
146
|
+
| Настроить освобождение после простоя | По умолчанию 5 минут; 1 / 5 / 10 / 30 / 60 минут или выкл. |
|
|
74
147
|
|
|
75
|
-
|
|
148
|
+
Время применяется со следующего использования. Ollama отслеживает выбранную модель без изменения глобальных переменных среды. Недостающие программы или модели устанавливаются и скачиваются только после нажатия подготовки, с показом прогресса.
|
|
76
149
|
|
|
77
|
-
|
|
150
|
+
<a id="languages"></a>
|
|
151
|
+
### Ваш язык всегда с вами
|
|
78
152
|
|
|
79
|
-
|
|
153
|
+
中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Русский · Português
|
|
80
154
|
|
|
81
|
-
|
|
155
|
+
Девять языков перевода, настроек и задач, включая португальский. Выбор сохраняется после обновления страницы.
|
|
82
156
|
|
|
83
|
-
|
|
157
|
+
<a id="faq"></a>
|
|
158
|
+
## Частые вопросы
|
|
84
159
|
|
|
85
|
-
|
|
160
|
+
<details>
|
|
161
|
+
<summary><b>После установки или обновления нет пункта перевода</b></summary>
|
|
86
162
|
|
|
87
|
-
|
|
163
|
+
Полностью перезапустите `dsh web`. Граф модулей собирается при старте; обновления страницы может быть недостаточно. Внизу настроек указана версия установленного пакета.
|
|
88
164
|
|
|
89
|
-
|
|
165
|
+
</details>
|
|
90
166
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
3. Управляйте **цепочкой провайдеров** (перетаскивание — порядок, галочка — включение):
|
|
94
|
-
- Встроенные: **google gtx / bing** (бесплатно, через системный прокси) и **локальный Ollama**. Существующие программа и модели используются повторно; для установки или скачивания недостающих компонентов нужно нажать кнопку подготовки, прогресс отображается (7b/14b или своя модель)
|
|
95
|
-
- **Провайдеры DSH**: настроенные в `profiles/<profile>/cordis.patch.yml` / прежний `settings.yaml` эндпоинты появляются сами (только чтение; галочка добавляет их в цепочку). Кнопка **Импортировать из конфигурации DSH** сразу под списком заново сканирует конфигурацию и добавляет их все за один раз — ни baseURL, ни ключ вводить не нужно: ключ берётся из учётных данных DSH
|
|
96
|
-
- Ключ вводится вручную или приходит как **`apiKeyEnv`** из шаблона либо строки DSH: у такой строки появляется значок `env:NAME`, а ключ разрешается на каждый запрос и никогда не пишется в `config.json`. В форме редактирования нет поля переменной окружения (значение сохраняется как есть), но очистка поля действительно его удаляет (отправляется как явное удаление)
|
|
97
|
-
- Снятая галочка означает, что провайдер пропускается. Подробности — в [README.md](README.md)
|
|
98
|
-
4. Отправьте сообщение и разверните строку Think, чтобы увидеть перевод
|
|
167
|
+
<details>
|
|
168
|
+
<summary><b>Список локальных моделей пуст</b></summary>
|
|
99
169
|
|
|
100
|
-
|
|
170
|
+
Проверьте `ollama list` или `/api/tags`, каталог моделей и `OLLAMA_MODELS` службы. Повторно скачивать имеющиеся файлы не нужно.
|
|
101
171
|
|
|
102
|
-
|
|
103
|
-
браузер → POST /_xlate/translate (тот же origin, без CORS)
|
|
104
|
-
→ цепочка провайдеров на host (fail-open, с изменяемым порядком):
|
|
105
|
-
chain: [provider1, provider2, ...] ← порядок перетаскиванием в настройках
|
|
106
|
-
google / bing / OpenAI-совместимый / Anthropic
|
|
107
|
-
fallback-цепочка (необязательно, по умолчанию выключена, включается в конфиге)
|
|
108
|
-
→ исходный текст, если все включённые провайдеры недоступны
|
|
109
|
-
```
|
|
172
|
+
</details>
|
|
110
173
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
- **Host-часть** (`lib/index.js`): адаптеры провайдеров, LRU-кэш (600), `/_xlate/models`, `/_xlate/model/pull` + `pull-status` (автонастройка по завершении)
|
|
114
|
-
- **Client-часть** (`lib/client.js`): интерфейс на 8 языках, пакетный перевод, потоковые строки Think, localStorage
|
|
115
|
-
- Чистый слой отображения: оригиналы остаются в истории и контексте модели
|
|
174
|
+
<details>
|
|
175
|
+
<summary><b>Client bundles not found после обновления DSH</b></summary>
|
|
116
176
|
|
|
117
|
-
|
|
177
|
+
Выполните `pnpm run build` в репозитории DeepSeek Harness и перезапустите DSH Web.
|
|
118
178
|
|
|
119
|
-
|
|
120
|
-
- Изменения клиента применяются при обновлении страницы; изменения host требуют перезапуска web
|
|
121
|
-
- Строки на 8 языках находятся в словаре `UI_TEXT` в `lib/client.js`
|
|
179
|
+
</details>
|
|
122
180
|
|
|
123
|
-
|
|
181
|
+
<details>
|
|
182
|
+
<summary><b>Сбой перевода влияет на разговор?</b></summary>
|
|
183
|
+
|
|
184
|
+
Если все включённые провайдеры не сработали, остаётся оригинал. Проверьте отдельные провайдеры и последнюю ошибку в настройках. После паузы новые запросы могут повторить попытку.
|
|
185
|
+
|
|
186
|
+
</details>
|
|
187
|
+
|
|
188
|
+
<details>
|
|
189
|
+
<summary><b>Изменения и совместимость</b></summary>
|
|
190
|
+
|
|
191
|
+
**1.2.16** добавляет португальский для перевода и интерфейса, обновляет все девять README и сравнительных изображений, объявляет три изображения для маркета.
|
|
192
|
+
|
|
193
|
+
**1.2.15** добавляет управление памятью локальных моделей и адаптацию изображений, группового сворачивания и выбора оригинала к DSH `0.2.2-alpha.2`.
|
|
194
|
+
|
|
195
|
+
**1.2.13** переводит причины отказа автопроверки. Спасибо [llg1634](https://github.com/llg1634) за сообщение, первый патч и тесты.
|
|
196
|
+
|
|
197
|
+
Предыдущие версии: [GitHub Releases](https://github.com/UncleK/dsh-think-translate/releases).
|
|
198
|
+
|
|
199
|
+
</details>
|
|
200
|
+
|
|
201
|
+
<details>
|
|
202
|
+
<summary><b>Разработка и устройство</b></summary>
|
|
203
|
+
|
|
204
|
+
- `lib/index.js`: маршруты host, провайдеры, конфигурация, кеш и локальные модели.
|
|
205
|
+
- `lib/client.js`: настройки, перевод отображения, потоковые пакеты и кеш браузера.
|
|
206
|
+
- `lib/config.json`: конфигурация времени выполнения, исключена из Git и npm.
|
|
207
|
+
- Дополнительная сборка не требуется. После изменения host перезапустите DSH.
|
|
208
|
+
- Проверка: `npm test`. Обнаружение и ключи: [заметки по сопровождению](https://github.com/UncleK/dsh-think-translate/blob/main/docs/maintenance-notes.md).
|
|
209
|
+
|
|
210
|
+
</details>
|
|
211
|
+
|
|
212
|
+
---
|
|
124
213
|
|
|
125
|
-
|
|
214
|
+
<p align="center">
|
|
215
|
+
<b>dsh-think-translate</b><br />
|
|
216
|
+
<a href="https://github.com/UncleK/dsh-think-translate/issues">Сообщить о проблеме</a> · <a href="https://github.com/UncleK/dsh-think-translate/releases">Версии</a> · <a href="https://github.com/UncleK/dsh-think-translate/blob/main/LICENSE">Лицензия MIT</a>
|
|
217
|
+
</p>
|