前言¶
在 DSH 裏查資料、逛英文社區時,常見做法是開翻譯插件做逐句機翻,或在側欄複製正文再丟給模型。前者往往不理頁面主題,Film 和 Develop 在膠片社區裏會被譯成字面意思;後者打斷閱讀節奏,寫 Reddit 評論還要自己把中文改成英文。下面介紹 SenhoiBot 維護的 dsh-page-translator:在真實頁面上原地替換譯文、保留版式,並複用 DSH 宿主模型做主題術語與中文草稿→英文回覆,不單獨持 API key。
這是什麼¶
dsh-page-translator 是 DeepSeek Harness 的聯網類插件(當前包版本 0.7.0,MIT 許可證)。同一套頁面控制器支持兩個入口:
- DSH 桌面版右側內置瀏覽器(Electron
<webview>):頁面右下角「譯」膠囊; - Edge / Chrome MV3 未打包擴展(倉庫內
edge-extension/):任意 http/https 頁同樣控件,翻譯經本機 DSH 擴展橋完成。
Web 版 DSH 的內置瀏覽器爲跨域 iframe,插件讀不到 DOM;內置瀏覽器模式僅在桌面安裝版生效。插件與擴展均通過 ctx.llm 調用(推理強度 off),額度與憑據由正在運行的 DSH 進程承擔。
核心功能¶
整頁主題感知翻譯¶
翻譯結合整頁主題,不是按句孤立機翻。README 舉例:膠片攝影站點上 Film → 膠片/膠捲、Develop → 沖洗、Magazine(16mm)→ 裝片暗盒。流程上先對頁面做一次主題與術語表分析(宿主路由 POST /page-translator/context),再分塊並行翻譯並原地寫回 DOM;不經過代理,登錄態、腳本與版式保留。
進度以百分比顯示(如「翻譯中 42%」「已譯 100%」),不再展示段數梗概。Reddit 翻頁、無限滾動、展開評論等新 DOM 會自動繼續翻譯(短暫「更新中 …%」),無需手動還原再點。
中文→英文回覆(社區互動)¶
「譯」按鈕右側有輸入框與語氣下拉(自然 / 口語 / 幽默 / 專業,默認自然)。輸入中文後回車或點 →EN,結合當前頁面主題與語氣生成英文回覆,浮層顯示並可複製,面向 Reddit 等英文社區評論。提示詞內置常見中文網感詞的意譯規則(如真香、入坑、刀銳奶化等),要求短、口語、像母語評論而非直譯。
同一句中文切換語氣會重新生成(README 對「報恩的鏡頭」在不同語氣下的英文差異有示例表)。
懸浮控件與位置記憶¶
整條「譯」膠囊可拖動(按住圖標/文字區域;輸入框、下拉、→EN 上不觸發拖動)。位置在內置瀏覽器與 Edge 擴展中跨頁面記住;拖動閾值 5px,拖動結束會吞掉誤觸的 click。回覆浮層貼着控件上/下方錨定。
Edge 擴展與本機橋¶
擴展自身不調模型:內容腳本經 service worker 訪問 http://127.0.0.1:34118/ext/*(與宿主 LlmTranslator、LRU 緩存共用)。橋默認只監聽迴環地址;可選配置 extensionToken 與擴展選項中的令牌一致以加強訪問控制。
安裝與啓用¶
DSH 插件(推薦)¶
dsh plugin --profile <profile> add github:SenhoiBot/dsh-page-translator
也可在本機已有源碼目錄時用 link: 安裝(見倉庫 README)。裝好後刷新 DSH 界面;改 index.js / lib/* 需重啓 DSH 實例,改 client.js / page-script-hosted.js 後刷新並重載內置瀏覽器頁即可。
Edge 擴展(可選)¶
- 確認 DSH 桌面版正在運行(擴展依賴宿主橋;關閉時按鈕會提示連接失敗)。
- 打開
edge://extensions,啓用開發人員模式,「加載解壓縮的擴展」→ 選擇插件目錄下的edge-extension(典型路徑形如...\plugins\dsh-page-translator\edge-extension)。 - 擴展選項中橋地址默認
http://127.0.0.1:34118,可「測試連接」(成功時 README 寫明顯示連接成功:DSH 擴展橋 v0.3.0)。 - 打開普通網頁,點右下角「譯」驗證翻譯與還原。
edge://、chrome://、擴展商店及 PDF 閱讀器內頁面無法注入。
典型用法¶
- 在 DSH 右側內置瀏覽器,或 Edge 中已加載擴展的頁面,打開目標網址。
- 點右下角「譯」開始整頁翻譯;再點一次還原原文。滾動或翻頁後新內容會自動跟進翻譯。
- 要在社區回覆:在輸入框寫中文,選好語氣,回車或
→EN→ 複製浮層英文 → 粘貼到站點評論框。
膠片社區與 Reddit 類場景在 README 的網感對照表與 E2E 腳本(如 e2e/compose-live.mjs)中有可復現示例。
配置¶
在 profile patch 中按插件 id 覆蓋(均可省略):
- id: dsh-page-translator
config:
provider: deepseek-account # 默認按 DSH 默認模型
model: deepseek-flash
target: zh # zh/en/ja/ko/ru
port: 34118 # Edge 擴展橋迴環端口(0 = 隨機)
extensionToken: '' # 可選,與擴展選項一致
callTimeoutMs: 25000
llmConcurrency: 8
若 34118 被佔用,插件會回退隨機端口:內置瀏覽器仍可用,擴展需改橋地址或指定空閒 port。
適用場景與注意¶
適合誰:經常在 DSH 內置瀏覽器或 Edge 裏讀外文站、並在英文社區用中文起草再要地道英文回覆的用戶;需要保留頁面交互與登錄態,又不想在插件裏再配一套 API key 的 DSH 桌面用戶。
安全與權限:插件以當前 DSH 進程權限運行,模型調用走宿主配置;安裝前建議閱讀 GitHub 倉庫 源碼與 MIT 許可證。擴展僅通過本機迴環橋通信,不新增對目標站點的額外網絡請求(拖動與位置走已有注入橋或 chrome.storage.local)。
性能預期:README 記載每頁主題分析冷啓動約 2.9s、緩存後約 10ms;譯義緩存位於宿主進程 LRU,同頁二次翻譯幾乎瞬時。推理已固定 off,延遲主要來自往返與分塊翻譯。
結尾¶
dsh-page-translator 把「讀外文頁」和「用英文回帖」收攏到同一套主題感知翻譯與回覆流程裏,並可選 Edge 擴展覆蓋 DSH 外的瀏覽器標籤。目錄與說明見 SkillHub 插件頁,源碼與安裝細節見 GitHub:SenhoiBot/dsh-page-translator。