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.es.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.es.png?v=1.2.16" alt="dsh-think-translate — El pensamiento de la IA, en tu idioma" width="100%" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<p align="center">
|
|
6
|
+
<b>Traducción de la capa visual para DeepSeek Harness.</b><br />
|
|
7
|
+
Lee el razonamiento, sigue las tareas y comprende las respuestas. Conserva los originales; la traducción no entra en el contexto del modelo.
|
|
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.es.svg?v=1.2.16" alt="Licencia MIT" />
|
|
12
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/badge-local.es.svg?v=1.2.16" alt="Ollama local" />
|
|
13
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/badge-original.es.svg?v=1.2.16" alt="Originales intactos" />
|
|
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> · <b>Español</b> · <a href="README.fr.md">Français</a> · <a href="README.de.md">Deutsch</a> · <a href="README.ru.md">Русский</a> · <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.es.svg?v=1.2.16" alt="Instalar" height="24" /></a> · <a href="#demo"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-demo.es.svg?v=1.2.16" alt="Demostraciones" height="24" /></a> · <a href="#features"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-features.es.svg?v=1.2.16" alt="Funciones" height="24" /></a> · <a href="#comparison"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-comparison.es.svg?v=1.2.16" alt="Comparación" height="24" /></a> · <a href="#faq"><img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/nav-faq.es.svg?v=1.2.16" alt="Preguntas" height="24" /></a>
|
|
22
|
+
</p>
|
|
14
23
|
|
|
15
24
|
---
|
|
16
25
|
|
|
17
|
-
|
|
26
|
+
<a id="demo"></a>
|
|
27
|
+
## Ve cómo surge el pensamiento
|
|
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="Demo 1 · Razonamiento y respuestas" 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="Demo 2 · Más operaciones" width="100%" />
|
|
36
|
+
</td>
|
|
37
|
+
</tr>
|
|
38
|
+
<tr>
|
|
39
|
+
<td align="center" valign="top"><sub>Demo 1 · Razonamiento y respuestas</sub></td>
|
|
40
|
+
<td align="center" valign="top"><sub>Demo 2 · Más operaciones</sub></td>
|
|
41
|
+
</tr>
|
|
42
|
+
</table>
|
|
18
43
|
|
|
19
|
-
|
|
44
|
+
<a id="comparison"></a>
|
|
45
|
+
## Comparación con el plugin oficial de traducción
|
|
20
46
|
|
|
21
|
-
|
|
47
|
+
<p align="center">
|
|
48
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/translation-comparison.es.png?v=1.2.16" alt="Comparación con el plugin oficial de traducción" width="100%" />
|
|
49
|
+
</p>
|
|
22
50
|
|
|
23
|
-
|
|
24
|
-
- **🕵️ Lee cualquier cadena de pensamiento** — razonamiento, cadena de pensamiento, tarjetas de tareas y respuestas traducidos en tiempo real, por lotes
|
|
25
|
-
- **8 idiomas de destino** — 中文 / English / 日本語 / 한국어 / Español / Français / Deutsch / Русский
|
|
26
|
-
- **Interfaz en un solo idioma** — panel de ajustes, filas de pensamiento y tarjetas de tareas siguen el idioma de destino (sin mezclar zh/en); la elección persiste
|
|
27
|
-
- **Ollama local** — reutiliza la instalación y los modelos existentes. Si Ollama está habilitado en primera posición o pulsas Probar, inicia el servicio y carga el modelo cuando sea necesario. El software o los modelos que falten solo se instalan/descargan mediante el botón de preparación, con progreso en tiempo real
|
|
28
|
-
- **🧠 Coste de contexto cero** — capa de visualización pura: el modelo sigue viendo el texto original y el texto traducido nunca consume la ventana de contexto
|
|
29
|
-
- **Respaldo Google / Bing** — cambio automático si el modelo local no está disponible (google usa un túnel CONNECT de Node con el proxy del sistema)
|
|
30
|
-
- **Artefactos de código omitidos** — rutas, comandos, URL, regex y líneas de código puro nunca se traducen
|
|
31
|
-
- **Traducción por lotes de frases** — las cadenas largas se traducen en lotes pequeños para mantener la calidad en modelos locales pequeños
|
|
32
|
-
- **🧩 Fragmentación por párrafos y frases** — las cadenas largas se dividen por líneas en blanco (se conserva la estructura de párrafos) y luego por frases, para que un modelo local pequeño mantenga la calidad
|
|
33
|
-
- **Salida en streaming** — las traducciones aparecen lote a lote mientras piensa; expande la fila Think para comparar con el original
|
|
34
|
-
- **🎚️ Momento de traducción ajustable** — pre-traducir todo / carga diferida de cadenas antiguas (por defecto) / solo al expandir
|
|
35
|
-
- **🔗 Cadena de proveedores dinámica** — el orden de la lista es el orden de uso: arrastra para reordenar y activa o desactiva cada fila. Integrados google gtx / bing / Ollama local más cualquier endpoint personalizado
|
|
36
|
-
- **🔌 Proveedores personalizados (OpenAI y Anthropic)** — añade desde el panel cualquier endpoint compatible con OpenAI (`/v1/chat/completions`) o la **Anthropic Messages API** (Claude): tipo, preajuste, URL base, clave de API y modelo
|
|
37
|
-
- **🪄 Hereda los proveedores configurados en DSH** — detecta filas DSH de solo lectura desde `profiles/<profile>/cordis.patch.yml` / anterior `settings.yaml` (`llm-pi-ai.providers`) y un botón reescanea y las añade todas a la cadena; la clave se resuelve en cada petición desde `.credentials.yaml` y nunca se guarda en la config del plugin. La ruta por defecto del propio harness también cuenta: si `default-model` / `agent-default-model` apunta a `deepseek-official`, la API oficial de DeepSeek aparece como una fila DSH más
|
|
38
|
-
- **⏱️ Resistente** — los fallos se guardan en memoria durante 30 segundos para evitar reintentos continuos y después se reintentan automáticamente; cada proveedor tiene su botón de prueba
|
|
51
|
+
Activa este plugin o el traductor oficial de razonamiento. Ambos controlan la interfaz del razonamiento.
|
|
39
52
|
|
|
40
|
-
|
|
53
|
+
<a id="quick-start"></a>
|
|
54
|
+
## Un comando para empezar
|
|
41
55
|
|
|
42
56
|
```bash
|
|
43
|
-
# Opción 1: npm (recomendado)
|
|
44
57
|
dsh plugin --profile web add dsh-think-translate
|
|
45
|
-
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Tras instalar, reinicia completamente DSH Web. Abre **Ajustes → Traducción del pensamiento** y elige el idioma y los proveedores.
|
|
46
61
|
|
|
47
|
-
|
|
62
|
+
<details>
|
|
63
|
+
<summary><b>Instalar desde GitHub, actualizar y otros métodos</b></summary>
|
|
64
|
+
|
|
65
|
+
Instalar desde GitHub:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
48
68
|
dsh plugin --profile web add github:UncleK/dsh-think-translate
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Actualizar desde npm:
|
|
49
72
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
New-Item -ItemType Junction -Path "$HOME\.dsh\profiles\node_modules\dsh-think-translate" `
|
|
53
|
-
-Target "<ruta del repositorio>"
|
|
54
|
-
# 2. añade a "$HOME\.dsh\profiles\web\cordis.patch.yml":
|
|
55
|
-
# - insert:
|
|
56
|
-
# - id: dsh-think-translate
|
|
57
|
-
# name: dsh-think-translate
|
|
58
|
-
# 3. reinicia web
|
|
73
|
+
```bash
|
|
74
|
+
dsh plugin --profile web add dsh-think-translate@latest
|
|
59
75
|
```
|
|
60
76
|
|
|
61
|
-
|
|
77
|
+
Reinicia DSH por completo después de instalar o actualizar. Para una instalación manual, enlaza el paquete al perfil y regístralo en `cordis.patch.yml`. Para el uso normal, se recomiendan los comandos anteriores.
|
|
78
|
+
|
|
79
|
+
</details>
|
|
80
|
+
|
|
81
|
+
<a id="features"></a>
|
|
82
|
+
## Hay más que razonamiento por entender
|
|
83
|
+
|
|
84
|
+
<table>
|
|
85
|
+
<tr>
|
|
86
|
+
<td width="50%" valign="top">
|
|
87
|
+
<h3>Razonamiento en directo</h3>
|
|
88
|
+
<p>Pretraducir todo, cargar historial bajo demanda o traducir solo al expandir</p>
|
|
89
|
+
</td>
|
|
90
|
+
<td width="50%" valign="top">
|
|
91
|
+
<h3>Tareas y respuestas juntas</h3>
|
|
92
|
+
<p>Razonamiento, tarjetas y lista de tareas del editor; respuestas y motivos de rechazo de revisión automática opcionales</p>
|
|
93
|
+
</td>
|
|
94
|
+
</tr>
|
|
95
|
+
<tr>
|
|
96
|
+
<td width="50%" valign="top">
|
|
97
|
+
<h3>Entiende las decisiones de revisión</h3>
|
|
98
|
+
<p>Si la revisión automática rechaza una llamada, su motivo aparece traducido junto al original. Los botones de decisión existentes siguen disponibles.</p>
|
|
99
|
+
</td>
|
|
100
|
+
<td width="50%" valign="top">
|
|
101
|
+
<h3>Conserva originales y código</h3>
|
|
102
|
+
<p>Conserva originales; la traducción no entra en el contexto del modelo. Reutiliza el renderizado Markdown; protege código, rutas y comandos antes de traducir.</p>
|
|
103
|
+
</td>
|
|
104
|
+
</tr>
|
|
105
|
+
<tr>
|
|
106
|
+
<td width="50%" valign="top">
|
|
107
|
+
<h3>Modelos locales bajo demanda</h3>
|
|
108
|
+
<p>Liberación manual, al desmarcar y tras inactividad; recarga en la siguiente traducción</p>
|
|
109
|
+
</td>
|
|
110
|
+
<td width="50%" valign="top">
|
|
111
|
+
<h3>Proveedores en tu orden</h3>
|
|
112
|
+
<p>Alternativa automática según el orden activo; idioma claramente incorrecto activa el siguiente; reintento tras la espera</p>
|
|
113
|
+
</td>
|
|
114
|
+
</tr>
|
|
115
|
+
</table>
|
|
116
|
+
|
|
117
|
+
### Conecta los proveedores que ya usas
|
|
118
|
+
|
|
119
|
+
**Ollama · Google · Bing · OpenAI · Anthropic Messages API**
|
|
120
|
+
|
|
121
|
+
Detecta proveedores configurados en DSH sin volver a introducir endpoints y claves. Prueba cada fila por separado; el orden de la lista controla los intentos.
|
|
122
|
+
|
|
123
|
+
```text
|
|
124
|
+
Tu primera opción → siguiente proveedor activo → … → original si todos fallan
|
|
125
|
+
```
|
|
62
126
|
|
|
63
|
-
|
|
127
|
+
<details>
|
|
128
|
+
<summary><b>Endpoints personalizados, credenciales y recuperación</b></summary>
|
|
64
129
|
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
130
|
+
- Admite `/v1/chat/completions` compatible con OpenAI y la API nativa Anthropic Messages.
|
|
131
|
+
- Detecta proveedores del perfil DSH actual y sus modificaciones; vuelve a explorar y añádelos a la cadena.
|
|
132
|
+
- `apiKeyEnv` se resuelve al solicitar; la credencial resuelta no se guarda en la configuración.
|
|
133
|
+
- Los fallos esperan 30 segundos en la memoria del host antes de nuevos intentos. Un idioma claramente incorrecto activa el siguiente proveedor.
|
|
134
|
+
- La detección omite texto reconocido en el idioma de destino; las pruebas de proveedor siempre hacen una solicitud real.
|
|
68
135
|
|
|
69
|
-
|
|
136
|
+
</details>
|
|
70
137
|
|
|
71
|
-
|
|
138
|
+
### Modelos locales de traducción: carga y liberación bajo demanda
|
|
72
139
|
|
|
73
|
-
|
|
140
|
+
| Tu acción | Comportamiento |
|
|
141
|
+
|---|---|
|
|
142
|
+
| Traducir o probar | Inicia el servicio y carga el modelo seleccionado bajo demanda |
|
|
143
|
+
| Liberar memoria del modelo | Espera las traducciones activas y libera; conserva archivos, interruptores y orden |
|
|
144
|
+
| Desmarcar el proveedor local | Lo desactiva y libera el modelo seleccionado |
|
|
145
|
+
| Reactivarlo o abrir ajustes | No precarga; carga en la próxima traducción real |
|
|
146
|
+
| Configurar liberación por inactividad | 5 minutos por defecto; 1 / 5 / 10 / 30 / 60 minutos o desactivada |
|
|
74
147
|
|
|
75
|
-
|
|
148
|
+
El plazo se aplica desde el próximo uso. Ollama controla el modelo seleccionado sin cambiar variables globales. El software o los modelos faltantes solo se instalan o descargan al pulsar preparar, mostrando el progreso.
|
|
76
149
|
|
|
77
|
-
|
|
150
|
+
<a id="languages"></a>
|
|
151
|
+
### Tu idioma te acompaña
|
|
78
152
|
|
|
79
|
-
|
|
153
|
+
中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Русский · Português
|
|
80
154
|
|
|
81
|
-
|
|
155
|
+
Nueve idiomas de destino, ajustes y textos de tareas, incluido el portugués. La selección se conserva al recargar.
|
|
82
156
|
|
|
83
|
-
|
|
157
|
+
<a id="faq"></a>
|
|
158
|
+
## Respuestas a preguntas frecuentes
|
|
84
159
|
|
|
85
|
-
|
|
160
|
+
<details>
|
|
161
|
+
<summary><b>No aparece la opción de traducción tras instalar o actualizar</b></summary>
|
|
86
162
|
|
|
87
|
-
|
|
163
|
+
Reinicia completamente `dsh web`. El grafo de módulos se monta al iniciar el proceso; recargar la página puede no bastar. El pie de ajustes muestra la versión instalada.
|
|
88
164
|
|
|
89
|
-
|
|
165
|
+
</details>
|
|
90
166
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
3. Gestiona la **cadena de proveedores** (arrastra para ordenar, marca para activar):
|
|
94
|
-
- Integrados: **google gtx / bing** (gratis, mediante el proxy del sistema) y **Ollama local**; se reutilizan el software y los modelos existentes. Los componentes que falten requieren el botón de preparación, con progreso (7b/14b o un modelo personalizado)
|
|
95
|
-
- **Proveedores DSH**: los endpoints ya configurados en `profiles/<profile>/cordis.patch.yml` / anterior `settings.yaml` aparecen solos (solo lectura; márcalos para añadirlos a la cadena). El botón **Importar desde la config de DSH**, justo debajo de la lista, vuelve a escanear y los añade todos de una vez: ni baseURL ni clave que reescribir, porque la clave se resuelve desde las credenciales de DSH
|
|
96
|
-
- La clave se escribe a mano o llega como **`apiKeyEnv`** desde un preajuste o una fila DSH: esa fila muestra la insignia `env:NAME`, y la clave se resuelve en cada petición sin escribirse nunca en `config.json`. El formulario de edición no tiene campo de variable de entorno (el valor se conserva intacto), pero vaciar un campo lo elimina de verdad (se envía como borrado explícito)
|
|
97
|
-
- Si desmarcas uno, se omite. Los detalles están en [README.md](README.md)
|
|
98
|
-
4. Envía un mensaje y expande la fila Think para ver la traducción
|
|
167
|
+
<details>
|
|
168
|
+
<summary><b>La lista de modelos locales está vacía</b></summary>
|
|
99
169
|
|
|
100
|
-
|
|
170
|
+
Comprueba `ollama list` o `/api/tags`, el directorio activo y `OLLAMA_MODELS` del servicio. No hace falta volver a descargar archivos existentes.
|
|
101
171
|
|
|
102
|
-
|
|
103
|
-
navegador → POST /_xlate/translate (mismo origen, sin CORS)
|
|
104
|
-
→ cadena de proveedores en el host (fail-open, reordenable):
|
|
105
|
-
chain: [provider1, provider2, ...] ← orden arrastrando en Ajustes
|
|
106
|
-
google / bing / compatible con OpenAI / Anthropic
|
|
107
|
-
cadena fallback (opcional, desactivada por defecto, se activa en el config)
|
|
108
|
-
→ texto original si fallan todos los proveedores habilitados
|
|
109
|
-
```
|
|
172
|
+
</details>
|
|
110
173
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
- **Mitad host** (`lib/index.js`): adaptadores de proveedor, caché LRU (600), `/_xlate/models`, `/_xlate/model/pull` + `pull-status` (configura automáticamente al terminar)
|
|
114
|
-
- **Mitad cliente** (`lib/client.js`): UI en 8 idiomas, traducción por lotes, filas Think en streaming, persistencia en localStorage
|
|
115
|
-
- Capa de visualización pura: los originales permanecen en la transcripción y el contexto del modelo
|
|
174
|
+
<details>
|
|
175
|
+
<summary><b>Aparece client bundles not found después de actualizar DSH</b></summary>
|
|
116
176
|
|
|
117
|
-
|
|
177
|
+
Ejecuta `pnpm run build` en el repositorio de DeepSeek Harness y reinicia DSH Web.
|
|
118
178
|
|
|
119
|
-
|
|
120
|
-
- Cambios en el cliente se aplican al refrescar; cambios en el host requieren reiniciar web
|
|
121
|
-
- Las cadenas de 8 idiomas viven en el diccionario `UI_TEXT` de `lib/client.js`
|
|
179
|
+
</details>
|
|
122
180
|
|
|
123
|
-
|
|
181
|
+
<details>
|
|
182
|
+
<summary><b>¿Un fallo de traducción afecta a la conversación?</b></summary>
|
|
183
|
+
|
|
184
|
+
Si todos los proveedores activos fallan, se conserva el original. Prueba cada proveedor y consulta el último error en ajustes. Las solicitudes posteriores pueden reintentarlo tras la espera.
|
|
185
|
+
|
|
186
|
+
</details>
|
|
187
|
+
|
|
188
|
+
<details>
|
|
189
|
+
<summary><b>Cambios recientes y compatibilidad</b></summary>
|
|
190
|
+
|
|
191
|
+
**1.2.16** añade portugués al destino y la interfaz, renueva los nueve README e imágenes localizadas y declara tres imágenes para el mercado.
|
|
192
|
+
|
|
193
|
+
**1.2.15** añade gestión de memoria local y adapta imágenes, plegado de razonamiento y selección del original a DSH `0.2.2-alpha.2`.
|
|
194
|
+
|
|
195
|
+
**1.2.13** añade traducción de motivos de rechazo de revisión automática. Gracias a [llg1634](https://github.com/llg1634) por el informe, parche inicial y pruebas.
|
|
196
|
+
|
|
197
|
+
Más versiones: [GitHub Releases](https://github.com/UncleK/dsh-think-translate/releases).
|
|
198
|
+
|
|
199
|
+
</details>
|
|
200
|
+
|
|
201
|
+
<details>
|
|
202
|
+
<summary><b>Desarrollo y funcionamiento</b></summary>
|
|
203
|
+
|
|
204
|
+
- `lib/index.js`: rutas del host, proveedores, configuración, caché y modelos locales.
|
|
205
|
+
- `lib/client.js`: ajustes, traducción visual, lotes en streaming y caché del navegador.
|
|
206
|
+
- `lib/config.json`: configuración en ejecución, excluida de Git y npm.
|
|
207
|
+
- Sin compilación adicional: el código es el producto. Reinicia DSH tras cambiar el host.
|
|
208
|
+
- Verifica con `npm test`. Detección y credenciales: [notas de mantenimiento](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">Informar de un problema</a> · <a href="https://github.com/UncleK/dsh-think-translate/releases">Versiones</a> · <a href="https://github.com/UncleK/dsh-think-translate/blob/main/LICENSE">Licencia MIT</a>
|
|
217
|
+
</p>
|