dsh-paperpanel:DSH Web 中的 Zotero 風格庫面板

前言

在 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

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

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

小夜