前言¶
在 DSH(DeepSeek Harness)裏做智能體時,常見做法是自己在對話裏拼 HTTP 請求、記端口和路徑,再去調本機上的漫畫翻譯後端。Saber-Translator 本身提供 REST API,但「查書架、排翻譯、看任務進度、取譯圖、改術語表」仍需要你對照文檔逐項調用。下面介紹社區插件 dsh-plugin-saber(倉庫 Luca-42/saber-dsh-plugin),由維護者 Luca-42 發佈:它把 Saber 的 HTTP 能力註冊成一組 DSH 工具,讓模型在自然語言意圖下完成讀寫,並在結果裏說明實際執行了什麼。
這是什麼¶
dsh-plugin-saber 是面向 web profile 的 DSH 插件,npm 包名爲 dsh-plugin-saber(當前資料中的版本爲 0.2.0,許可證 MIT)。定位是:通過本機 Saber-Translator 的 HTTP API,驅動漫畫翻譯全流程,而不是在 DSH 內嵌翻譯模型。插件對 Saber 3.5+(v2 後端) 提供完整鏈路;對 3.3.x(legacy) 則只保證只讀查詢,任務類工具會明確說明該版本沒有任務 API。
核心功能¶
插件按工具拆分能力。寫操作在符合請求時會直接執行,不逐次確認;不支持的能力返回中文說明,而不是拋出 404 堆棧。
| 工具 | 作用 | Saber 3.5+ | Saber 3.3.x |
|---|---|---|---|
saber_status |
版本線、存儲版本、端口、書架、Worker/隊列狀態 | ✅ | ✅ |
saber_books |
書架列表(search / limit) | ✅ | ✅ |
saber_book |
書詳情與章節列表 | ✅ | ✅ |
saber_pages |
章節頁面列表(渲染狀態、譯圖有無) | ✅ | ✅(需 bookId) |
saber_translate |
排翻譯任務(單章 / 多章 / 整本;standard/hq/proofread/remove_text) | ✅ | ❌ |
saber_jobs |
任務隊列或歷史列表 | ✅ | ❌ |
saber_job |
單個任務詳情(進度、失敗項、產物) | ✅ | ❌ |
saber_job_control |
暫停 / 恢復 / 取消 / 重試 / 隊列暫停 | ✅ | ❌ |
saber_page_image |
取原圖 / 去字圖 / 譯圖,落到臨時目錄 | ✅ | ❌ |
saber_terms |
讀/寫術語表與禁翻表 | ✅ | ❌ |
saber_backend |
啓動 / 停止 / 狀態(僅管理插件自己啓動的進程) | ✅ | ✅ |
API 版本由插件自動探測:先訪問 /api/v2/health,再訪問 /api/server-info。適配層 adapters/v2.js 與 adapters/legacy.js 隔離版本差異,工具層不感知具體 API 版本。
安裝與啓用¶
推薦使用 npm 已發佈包(資料中稱安裝包約 23 KB,宿主零運行時依賴)。官方安裝命令如下:
dsh plugin --profile web add dsh-plugin-saber
安裝後需重啓 dsh,工具纔會註冊生效。package.json 要求 Node.js >= 22;與 DSH 的兼容記錄在包的 dsh.compatibility 字段(如 0.2.0-rc.2、0.2.1-rc.2、0.2.1-rc.3 標爲 compatible)。
從插件市場安裝¶
在社區目錄 SkillHub 插件頁 對應倉庫外,README 還給出了獨立索引源方式:在 DSH 插件市場裏 發現 → 添加索引源,粘貼:
https://luca-42.github.io/saber-dsh-plugin/index.json
然後在市場中找到「Saber 漫畫翻譯」並安裝。
配置¶
配置文件路徑:<DSH_HOME>/saber-plugin.config.json(不存在時使用默認值):
{
"baseUrl": "http://127.0.0.1:5000",
"installPath": "D:/play/Saber-Translator-3.5.15-gpu",
"dataDir": "",
"autoStart": false,
"apiFlavor": "auto",
"requestTimeoutMs": 15000
}
環境變量可覆蓋:SABER_BASE_URL、SABER_INSTALL_PATH、SABER_DATA_DIR、SABER_PLUGIN_CONFIG。
當 autoStart 爲 true 時,若工具發現後端未運行,會嘗試在 installPath 下拉起 Saber-Translator.exe --role launcher ...,並等待 /api/v2/health。插件只停止自己啓動的進程(記錄 PID),不會影響你手動打開的其他 Saber 實例。
典型用法¶
安裝並配置 baseUrl(或指向本機 Saber 實際監聽地址)後,可在 DSH 對話中讓智能體調用上述工具,例如:
- 用
saber_status確認後端版本、端口與隊列狀態。 - 用
saber_books/saber_book/saber_pages逐級定位要處理的章節與頁面。 - 在 3.5+ 上用
saber_translate提交翻譯模式(standard、hq、proofread、remove_text 等),用saber_jobs/saber_job查看進度,必要時saber_job_control暫停或重試。 - 用
saber_page_image將原圖或譯圖落到臨時目錄;用saber_terms維護術語表與禁翻表。
倉庫 README 中的自測命令可用於驗證插件與 API 契約(非 DSH 運行時必需):
# 打真實後端(只讀工具;寫工具不會執行)
node test/harness.mjs
# 用進程內 mock 的 /api/v2 驗證完整 P1 鏈路
node test/mock-v2.mjs
適用場景與注意¶
適合誰:已在本地部署 Saber-Translator,希望在 DSH web profile 裏用自然語言完成「查書 → 排任務 → 跟進度 → 取圖 → 改術語表」,而不想手寫每一輪 HTTP 的開發者。
權限與安全:插件以當前 dsh 進程權限運行,寫工具會直接改動 Saber 後端狀態與術語表;安裝前請閱讀 GitHub 源碼 與 MIT 許可證,確認 baseUrl 指向的是你自己可控的本機服務。
生態說明:DSH 社區插件目錄(如 SkillHub)是獨立站點,與 DeepSeek / 幻方無官方從屬關係;本插件通過 npm 或上述索引源分發,並非「官方應用商店」內置應用。
結尾¶
dsh-plugin-saber 把 Saber-Translator 的 v2 完整鏈路與 legacy 只讀能力封裝成 DSH 工具,並支持可選的自動拉起本機 Saber 進程。若你需要在智能體工作流裏統一管理漫畫翻譯任務,可按 README 安裝命令啓用,並用 saber-plugin.config.json 對齊本機路徑與端口。
- 目錄頁:https://www.skillhub.cn/plugins/Luca-42/saber-dsh-plugin
- GitHub:https://github.com/Luca-42/saber-dsh-plugin
- npm:https://www.npmjs.com/package/dsh-plugin-saber