在 DeepSeek Harness (DSH) 的使用場景中,推理模型(如 DeepSeek、GLM、Gemini)常輸出大量英文思維鏈。對於中文用戶,閱讀長篇英文思考過程消耗精力。dsh-cot-en2cn 旨在提供一種非侵入式的解決方案,在展開思考塊時,將英文譯文直接渲染在原文下方,而不修改任何會話數據。
插件簡介¶
該插件由 Eyeing0721 維護,採用 MIT 許可證。它是一個 Web UI 插件,利用瀏覽器端和宿主端的配合,通過 MutationObserver 監聽對話視圖,動態插入譯文 DOM。核心特性包括零運行時依賴、不觸碰 API Key、雙端緩存以及 83 項自動化測試。
安裝與啓用¶
系統要求¶
- DeepSeek Harness (DSH)
>=0.1.0-rc.5 - Node.js
>=20
安裝命令¶
從 GitHub 安裝(推薦):
dsh plugin --profile web add github:Eyeing0721/dsh-cot-en2cn
國內網絡如果卡在下載那一步,建議先設置代理再執行:
$env:HTTPS_PROXY = 'http://127.0.0.1:7897'
本地目錄安裝¶
從本地目錄安裝時(link 方式),源目錄不可刪除或移動,否則插件會失效。
dsh plugin --profile web add /path/to/dsh-cot-en2cn
安裝完成後,重啓 dsh web,刷新瀏覽器頁面即可生效。
卸載¶
dsh plugin --profile web remove dsh-cot-en2cn
使用方式¶
- 界面交互:展開任意「思考」塊,中文譯文會直接渲染在思考原文正下方。譯文左側帶有一條豎線,頂部顯示所用模型、緩存命中情況及耗時。右上角提供
重新翻譯、複製、收起按鈕。 - 觸發機制:
- 摺疊的思考塊絕不翻譯,不產生模型調用。
- 原文爲中文時直接跳過,不發起請求。
- 展開思考塊時,若模型仍在流式輸出,默認等待其思考結束後再翻譯。
- 控制面板:進入 設置 → 插件 → 「CoT 英文轉中文」 即可打開配置面板。
配置項¶
配置文件路徑:$DSH_HOME/storages/cot-en2cn/config.json。所有配置項在載入時都會經過校驗。
| 配置項 | 默認值 | 說明 |
|---|---|---|
| 啓用 CoT 中文翻譯 | 開 | 總開關,關閉後所有譯文面板立即消失。 |
| 展開時自動翻譯 | 開 | 關閉後每塊思考需要手動點擊「翻譯這段思考」。 |
| 思考過程中也翻譯 | 關 | 模型還在流式輸出時就翻譯(更費 token)。 |
| Provider / 模型 | 空 | 留空則跟隨 DSH 默認模型。翻譯建議選便宜快的小模型。 |
| 關閉思考(推薦) | 開 | 僅 DeepSeek 官方適配器認此映射。 |
| 目標語言 | 簡體中文 | 可選繁體中文 / English / 日本語。 |
| 單塊字符數 | 3000 | 超過則分塊翻譯並緩存。調小更穩但請求數變多。 |
| 併發請求數 | 2 | 同時進行的模型請求數。 |
| 單次超時 | 120 秒 | 單次模型請求的截止時間。 |
| 服務端緩存條數 | 600 | 按”塊”緩存譯文。 |
| 跳過已是中文的思考 | 開 | 原文本來就是中文時直接跳過。 |
| 譯文文字大小 | 13px | 僅影響譯文面板顯示。 |
原理與安全¶
插件採用雙端架構:
- 宿主端(lib/index.js):註冊六條本地同源路由(如 /dsh-cot-en2cn/translate),通過 DSH 的 ctx.llm.stream() 發起翻譯請求,嚴格限制僅接收本機請求。
- 瀏覽器端(lib/client.js):利用 MutationObserver 監聽對話視圖,尋找帶有 data-variant="think" 屬性的思考節點,在下方動態插入譯文 DOM。
由此提供三項保證:
1. 絕不污染會話數據:不寫會話日誌,軌跡(Trajectory)視圖不受影響。
2. 零副作用:隨時停用插件,界面恢復原生狀態。
3. 優雅降級:若 DSH 調整 DOM 結構,插件僅不顯示譯文,不會破壞宿主頁面渲染。
質量保證¶
項目內置 83 項自動化測試,無第三方框架依賴。
npm test
測試覆蓋包括長文本分塊可逆性、中文檢測、緩存讀寫、併發控制、配置校驗及 DOM 事件攔截等。
鏈接¶
- GitHub: https://github.com/Eyeing0721/dsh-cot-en2cn
- DSH Catalog: https://www.skillhub.cn/plugins/Eyeing0721/dsh-cot-en2cn