dsh-pdf-paper-reader:在 Harness Web UI 裏讀 CS 英文論文

前言

在 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 筆記

環境與依賴

  1. Harness Web UI Profile 中已啓用 plugin_manager(標準 dsh-base / dsh-web-app 捆綁包內包含)。
  2. 在 Settings → Models 中配置默認模型(閱讀器依賴該選擇)。
  3. 僅運行插件自帶開發檢查時需要 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 的路徑會被拒絕(含通過符號鏈接訪問)。

典型用法

  1. 打開 PDF papers 面板。
  2. 拖拽或使用 Upload PDF 添加論文;文件落在 <workspace>/papers/。
  3. 打開一篇論文,用目錄或搜索框定位。
  4. 選中句子做翻譯/解釋,或使用 Summarize this page。
  5. 在筆記頁籤按 Generate notes,編輯 Markdown 後 Save。
  6. 在 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 開始使用。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜