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.ja.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.ja.png?v=1.2.16" alt="dsh-think-translate — AI の思考を、あなたの言語で" 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.ja.svg?v=1.2.16" alt="MIT License" />
|
|
12
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/badge-local.ja.svg?v=1.2.16" alt="ローカル Ollama" />
|
|
13
|
+
<img src="https://raw.githubusercontent.com/UncleK/dsh-think-translate/main/docs/assets/badge-original.ja.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> · <b>日本語</b> · <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> · <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.ja.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.ja.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.ja.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.ja.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.ja.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.ja.png?v=1.2.16" alt="公式翻訳プラグインとの比較" width="100%" />
|
|
49
|
+
</p>
|
|
22
50
|
|
|
23
|
-
|
|
24
|
-
- **🕵️ どんな思考チェーンも読める** — 推論・思考チェーン・タスクカード・回答をリアルタイムに翻訳し、バッチ単位でストリーミング表示
|
|
25
|
-
- **8 つの対象言語** — 中文 / English / 日本語 / 한국어 / Español / Français / Deutsch / Русский
|
|
26
|
-
- **単一言語 UI** — 設定パネル・思考行・タスクカードがすべて対象言語に追従(中英混在なし)、選択は永続化
|
|
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 行を自動検出し、ボタン1つで再スキャンしてまとめてチェーンに追加。キーは `.credentials.yaml` からリクエスト時に解決され、プラグインの設定には保存されません。harness 自身の既定ルートも対象です:`default-model` / `agent-default-model` が `deepseek-official` を指していれば、DeepSeek の公式 API も DSH 行として提供されます
|
|
38
|
-
- **⏱️ 失敗からの復帰** — 失敗結果はメモリ内で30秒間キャッシュして連続再試行を抑え、期限後に自動再試行。各プロバイダーにテストボタンを用意
|
|
51
|
+
本プラグインか公式思考翻訳のどちらか一方を有効にしてください。両者とも思考表示を担当します。
|
|
39
52
|
|
|
40
|
-
|
|
53
|
+
<a id="quick-start"></a>
|
|
54
|
+
## コマンド1つで使い始める
|
|
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 を完全に再起動してください。手動配置ではパッケージを profile にリンクし、`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>独自エンドポイント、認証情報と復旧</b></summary>
|
|
64
129
|
|
|
65
|
-
-
|
|
66
|
-
-
|
|
67
|
-
-
|
|
130
|
+
- OpenAI 互換 `/v1/chat/completions` と Anthropic Messages API に対応します。
|
|
131
|
+
- 現在の DSH profile と上書き設定から提供元を検出し、再スキャンして翻訳チェーンに追加できます。
|
|
132
|
+
- `apiKeyEnv` はリクエスト時に解決し、解決したキーはプラグイン設定へ書き戻しません。
|
|
133
|
+
- 失敗は Host メモリで30秒間クールダウンし、その後の翻訳で再試行します。明らかに違う言語なら次の提供元を試します。
|
|
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
|
+
翻訳先、設定画面、タスク表示はポルトガル語を含む9言語に対応。選択はページ更新後も保持されます。
|
|
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
|
-
- キーは直接入力するほか、プリセットや DSH 行が持つ **`apiKeyEnv`** でも指定できます。その行には `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(同一オリジン、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 言語 UI、文単位バッチ翻訳、ストリーミング Think 行、localStorage 永続化
|
|
115
|
-
- 純表示層:原文は会話履歴とモデルコンテキストに完全保持
|
|
174
|
+
<details>
|
|
175
|
+
<summary><b>DSH 更新後に client bundles not found と表示される</b></summary>
|
|
116
176
|
|
|
117
|
-
|
|
177
|
+
DeepSeek Harness のリポジトリで `pnpm run build` を実行し、DSH Web を再起動してください。
|
|
118
178
|
|
|
119
|
-
|
|
120
|
-
- client 変更はページ更新で反映、host 変更は web 再起動が必要
|
|
121
|
-
- 8 言語の文言は `lib/client.js` の `UI_TEXT` ディクショナリにあり
|
|
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**:翻訳先と UI にポルトガル語を追加。9言語の README と比較画像を更新し、市場向け画像を3枚に拡充。
|
|
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 License</a>
|
|
217
|
+
</p>
|