前言¶
在 DSH Web 的使用場景中,管理本地文獻與數據文件通常需要頻繁在瀏覽器、文檔閱讀器和表格軟件之間切換。dsh-paperpanel 旨在解決這一痛點,它將本地磁盤上的 PDF、Word、Markdown 文檔以及 CSV/Excel 數據表,轉化爲一個類似 Zotero 的統一庫管理界面。
插件介紹¶
該插件由 Floatingfur 維護,分類屬於“記憶”。它通過 shell.overlay 在 DSH Web 右側提供一個浮動抽屜,用於瀏覽、閱讀和編輯文件。核心價值在於將本地文件系統與 DSH Web 的閱讀體驗深度集成。
核心功能¶
庫面板與導入¶
插件在右側展示一個浮動抽屜,不佔用 DSH 內置的 details 槽位。面板包含文件列表和類型篩選(全部/論文/數據/筆記)。支持導入整個文件夾或單個文件,重複文件名會自動添加時間戳後綴。導入後需點擊刷新。
居中閱讀¶
雙擊 PDF、Word、TXT 或 MD 文件,會在屏幕中央打開閱讀窗口。支持縮放(放大/縮小/重置)以及黑白背景切換。PDF 使用 pdf.js 渲染,支持多頁和選中文本;Word 使用 docx-preview 渲染,保留格式;舊版 .doc 格式會提示重新保存爲 .docx。
選擇轉筆記與筆記管理¶
在閱讀窗口選擇文本,點擊“記筆記”即可將引用內容追加到筆記中。每個閱讀項對應一個同名的 .notes.md 文件,筆記面板位於閱讀窗口右側,可隨時編輯保存。
電子表格工作臺¶
支持 CSV、TSV 和 Excel (.xlsx/.xls) 文件的編輯。單元格可編輯,保存時會自動生成 .bak 備份文件。支持排序、搜索、分頁、圖表生成(ECharts)以及列統計。當數據行數超過 2000 行時,行會自動變爲只讀。
AI 集成¶
提供 paperpanel_read 工具接口,可將文件路徑發送給 DSH Agent 進行解釋或總結。
離線運行¶
前端庫在構建時內聯,無需打包器,client.js 是一個單文件 CommonJS,可完全離線工作。
安裝與啓用¶
使用官方安裝命令添加插件:
dsh plugin --profile web add dsh-paperpanel
安裝後重啓 dsh web,右側會出現“Library”抽屜。
配置與開發¶
配置數據目錄¶
在 cordis.patch.yml 中設置 config.libraryRoots,指定掃描根目錄。將文件放入這些目錄,點擊抽屜中的刷新或導入按鈕即可。
本地開發命令¶
修改客戶端源碼後,需重新構建:
npm run build:client
啓動 DSH 的腳本會自動清理佔用 3080 端口的舊實例:
powershell -File scripts\start-dsh.ps1
注意事項¶
- 槽位佔用:插件不使用
details槽位,而是使用shell.overlay。 - 會話依賴:桌面端在無活動會話時,輸入操作(如記筆記)會被禁用。
- 數據安全:電子表格保存前會自動備份原文件爲
.bak。 - 掃描排除:
.notes.md文件不會出現在掃描結果中。 - 兼容性:未聲明
dsh.engines.dsh,可跨版本兼容。
獲取與反饋¶
插件目錄:https://www.skillhub.cn/plugins/Floatingfur/dsh-paperpanel
源碼倉庫:https://github.com/Floatingfur/dsh-paperpanel