前言¶
在 DeepSeek Harness(DSH)裏做智能體或寫代碼時,論文常常散落在工作區 PDF 裏:用系統閱讀器打開要來回切窗口,把段落貼進對話又難保留頁碼和引用。若在 Web UI 內直接渲染 PDF、可選中文本,並把翻譯、解釋和筆記接到當前 Profile 配置的模型上,閱讀和追問會連貫得多。
下面介紹社區插件 dsh-pdf-paper-reader(GitHub:liuchang0812/dsh-pdf-paper-reader):在 Harness Web UI 中提供論文庫、帶文本層的 PDF 查看器,以及結構化閱讀筆記與對話側 Agent 工具。
這是什麼¶
dsh-pdf-paper-reader 是面向 DeepSeek Harness Web UI 的客戶端插件,bundle 包名爲 @local/pdf-paper-reader。維護者爲 liuchang0812,在 SkillHub 目錄中歸類爲客戶端;倉庫採用 MIT 許可證,當前 bundle 版本 1.0.0。
插件在應用內以真實頁面呈現(非 iframe),跟隨主題、語言與佈局;AI 相關調用走 Profile 中配置的默認模型(ctx.llm)。PDF 渲染基於 vendored 的 PDF.js 3.11.174(Apache-2.0)。資料記載在 @deepseek-ai/dsh 0.2.2-rc.1、Node.js 20+ 環境下做過驗證。
Host 爲純 ESM,Client 爲純瀏覽器 JS,無需構建步驟即可從倉庫目錄安裝 bundle。
核心功能¶
論文庫與上傳¶
- 掃描當前 session 工作區中的 PDF,後臺補全標題與摘要,並顯示閱讀進度。
- 可將 PDF 拖到頁面,或使用 Upload PDF;上傳文件會複製到
<workspace>/papers/。 - 工作區根目錄下已有的 PDF 會自動出現在列表中。
PDF 閱讀體驗¶
- 分頁渲染、可選中文本層,支持縮放/適應寬度、懶加載、記住閱讀位置。
- Contents rail:合併 PDF 書籤與標題檢測生成目錄,支持雙欄版面,並跳過純目錄頁。
- 文內搜索返回帶頁碼的片段,點擊可跳轉。
- 鍵盤:
←/→翻頁,Shift+←/→按節跳轉,Esc關閉選區工具欄。
選區與側欄 AI¶
選中段落後可使用 Translate、Explain、Terms 或 Quote(將帶引用的 blockquote 寫入筆記);結果流式輸出到側欄,語言可爲中文或英文。
另提供快速概覽、單頁摘要、Ask AI 等能力;提示詞要求模型不編造數字,並在摘錄中找不到內容時明確說明。
結構化閱讀筆記¶
一鍵生成 Markdown 筆記框架(問題、方法、貢獻、實驗、侷限、術語表等),可編輯、預覽、複製或保存到工作區 paper-notes/。已有筆記會自動加載;Agent 可向同一文件追加內容。
Agent 工具¶
安裝後,每個 session 的對話 Agent 可使用以下 Host 工具:
| 工具 | 作用 |
|---|---|
paper_list |
列出工作區 PDF 及檢測到的標題、頁數 |
paper_read |
讀取論文:概覽、指定節(如 section: "method")或頁範圍(如 pages: "4-6") |
paper_search |
按詞/短語搜索,返回帶頁碼片段 |
paper_save_note |
在 paper-notes/ 下保存或追加 Markdown 筆記 |
環境與依賴¶
- Harness Web UI Profile 中已啓用 plugin_manager(標準
dsh-base/dsh-web-app捆綁包內包含)。 - 在 Settings → Models 中配置默認模型(閱讀器依賴該選擇)。
- 僅運行插件自帶開發檢查時需要 Node.js 20+;插件本身在 Host 進程內運行。
安裝與啓用¶
官方說明:倉庫根目錄即 plugin bundle,package.json 內含 dsh.bundle.patch 與 dsh.client 聲明,可從該目錄直接安裝。
在 Web UI 中讓 Agent 通過 plugin_manager 從本地目錄安裝 bundle,例如:
Install the plugin bundle at /absolute/path/to/dsh-pdf-paper-reader.
也可自行調用 plugin_manager,參數爲 action: install_bundle,target: "/absolute/path/to/dsh-pdf-paper-reader"(路徑須爲克隆或解壓後的倉庫絕對路徑)。
安裝會將目錄鏈入 Profile 並插入一條 Loader 行,重啓後仍有效,可在 Settings → Plugins 中開關。刷新 Web UI 後,側欄面板列表會出現 PDF papers 圖標,點擊即可在中央面板打開閱讀器。
卸載:在 Settings → Plugins 移除 @local/pdf-paper-reader bundle,或使用 plugin_manager 的 action: remove_bundle。paper-notes/ 下的筆記會保留在工作區。
可選配置¶
在 Settings → Plugins 中編輯該 bundle 對應 Loader 行的 config,或在 Profile 的 cordis.patch.yml 中設置:
- id: pdf-paper-reader
name: '@local/pdf-paper-reader'
config:
rootDir: '/absolute/path/to/papers' # 默認:當前 session 工作區
notesDir: 'paper-notes' # 相對 rootDir
默認論文庫跟隨各 session 的工作目錄;切換工作區即切換庫。超出 rootDir 的路徑會被拒絕(含通過符號鏈接訪問)。
典型用法¶
- 打開 PDF papers 面板。
- 拖拽或使用 Upload PDF 添加論文;文件落在
<workspace>/papers/。 - 打開一篇論文,用目錄或搜索框定位。
- 選中句子做翻譯/解釋,或使用 Summarize this page。
- 在筆記頁籤按 Generate notes,編輯 Markdown 後 Save。
- 在 Ask AI 頁籤追問,或在對話中讓 Agent 調用
paper_*工具。
對話示例(摘自 README):
List the papers in my workspace and give me a 5-line summary of the BERT paper.
Search the Transformer paper for the BLEU scores and quote them with page numbers.
Append a "limitations" section to the notes of `papers/resnet.pdf`.
隱私與架構要點¶
- PDF 解析、搜索、筆記與上傳在本地完成,插件本身不上傳文件。
- AI 操作僅將選段或大小受限的論文摘錄發往 Profile 配置的模型(經 Harness
llm服務)。 - 提示詞將正文視爲不可信數據,要求模型忽略文檔內嵌指令。
Host 通過認證路由 /api/pdf.reader.* 提供庫、文件、上傳、解釋、摘要、問答、筆記等接口;lib/store.js 負責工作區掃描與路徑 containment;lib/pdf.js 與 lib/text.js 處理 PDF 與版面文本;Client 的 client.js 註冊側欄入口與主面板閱讀頁。
適用場景與注意¶
適合在 DSH Web UI 內系統閱讀英文學術 PDF(尤其計算機類)、需要頁碼可追溯的翻譯/解釋/筆記,或希望 Agent 在工作區論文上執行 list/read/search/note 的開發者。
安裝前建議自行審閱倉庫源碼與 MIT 許可證。插件以當前 DSH Host 進程權限訪問工作區文件;配置 rootDir 時請明確論文與筆記實際落盤位置。SkillHub 上的插件目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係;生態上 DSH 奉行「一切皆插件」,本閱讀器是其中一條客戶端擴展路徑。
資料中的開發自檢(可選):
cd dev
npm install
npm run check
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/liuchang0812/dsh-pdf-paper-reader
- GitHub:https://github.com/liuchang0812/dsh-pdf-paper-reader
在 Harness 裏把論文閱讀、筆記與對話工具接到同一工作區,可減少上下文切換;按上文步驟啓用 bundle 後,即可從側欄 PDF papers 開始使用。