DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

hudsonhou /

hudsonhou/dsh-zotero-workspace

Verified

DSH right-sidebar Zotero workspace: collection tree, rendered PDF/parsed Markdown, one-click citation into the conversation. Read-only Zotero local API.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@3a7572d2

dsh-zotero-workspace

DSH(DeepSeek Harness)右侧栏的 Zotero 文献工作台:不离开对话就能按 Zotero 集合浏览文库、读渲染版 PDF 与解析后的 Markdown,并一键把文献引用与文件路径写进当前会话草稿。

type license

功能

  • Zotero tab:右侧栏新增「Zotero 文献工作台」页 —— 集合树 + 条目列表 + 详情;支持 Zotero 服务端检索(标题/摘要/全文)、总数与分页;
  • 分区可拖动:集合树 / 文献列表 / 详情三块之间的边界可拖动调整,双击边界恢复默认;布局按用户持久化;
  • 侧栏阅读:选中条目直接打开渲染版 PDF 或解析后的 Markdown(text/markdown 附件),走 DSH 原生文件预览;
  • 带入对话:一键把 [Zotero] 标题 — 作者 (年份) | itemKey=… | PDF: … | MD: … 写入当前草稿;模型可直接 read 文件,也可用 zotero MCP 按 itemKey 取正文。

只读:仅调用 Zotero 本地 API(127.0.0.1:23119),不写文库、不碰 SQLite、不依赖任何 MCP,不会与现有 zotero MCP 冲突。

安装

从 GitHub Release 安装(推荐):

cd ~/.dsh && dsh plugin --profile desktop add "github:hudsonhou/dsh-zotero-workspace#v0.1.0"

Web profile 把 --profile desktop 换成 --profile web。安装后重启 DSH(客户端 bundle 在启动时装配),右侧栏出现「Zotero 文献工作台」。

也可以让插件管理器直接以本地目录安装(开发模式,依赖以 junction/链接指向源码)。

卸载:cd ~/.dsh && dsh plugin --profile desktop remove dsh-zotero-workspace(或在插件页停用)。

本插件注册的是 DSH 原生右侧栏 Tab,与 dsh-better-sidebar 并存;装了 better-sidebar 时,打开 PDF/Markdown 优先复用它的文件预览(openFile),否则回退到 DSH 原生 Session 文件地址。上游 better-sidebar 的「添加 Tab 插件」目录条目见文末。

前提

  1. Zotero 桌面版运行中,且 设置 → 高级 → 允许此计算机上的其他应用程序与 Zotero 通信 已勾选;
  2. 条目下挂有 PDF 附件;解析后的 Markdown 建议以 text/markdown 附件挂回条目(例如由 PDF 解析流程生成的 MD;子笔记也会在详情里列出)。

自测本地 API:

curl --noproxy "*" http://127.0.0.1:23119/api/

应返回 Nothing to see here.,响应头含 Zotero-API-Version: 3。

配置

插件行自带默认值;需要覆盖时在 profile 的 cordis.patch.yml 里按 id zotero-workspace 覆盖 config:

- id: zotero-workspace
  config:
    zoteroBaseUrl: http://127.0.0.1:23119
    storageRoot: ''      # 空 = ~/Zotero/storage
    pageSize: 50
    requestTimeoutMs: 8000

结构

index.js          Host 入口:注册只读路由,写 ~/.dsh/zotero-workspace/status.json
lib/core.js       Zotero API 客户端、集合/条目/子项映射、PDF/MD 路径解析、storage 边界
lib/handler.js    只读 HTTP 路由(health/tree/items/tags/item/file/mdtext,回环栅栏、GET-only)
client.js         Client 半:原生右栏 tab + 面板 UI + 带入对话(lazy-CJS factory)
cordis.patch.yml  bundle patch 行(含默认 config)
locale/           meta.title / meta.description(插件页展示)
icon.svg          插件图标
test/             离线自检(真实 Zotero 库 + 假 React 接线/首屏)

测试

node test/selftest.mjs        # 真实 Zotero 本地 API + HTTP 路由
node test/client-wiring.mjs   # 客户端插件接线(tab/slot/locale 注册)
node test/client-render.mjs   # 首屏渲染冒烟(假 React hooks)

selftest.mjs 需要 Zotero 正在运行;其余两个测试不需要浏览器。

已知限制(v0.1)

  • 无标签面板 / 标注浏览 / 整分类引用 / 摘录(/tags 接口已就绪,留给 v0.2);
  • 一个条目默认打开第一个 PDF 与第一个 Markdown 附件;
  • PDF 与 MD 各开一个 DSH 原生预览 tab(可切换);并排分屏未做;
  • 引用以纯文本写入草稿(含 itemKey 与两个绝对路径),不是结构化引用 chip;
  • 改 client.js 后需要重载页面(dsh-unlag 刷新按钮)或重启 DSH。

故障排查

  1. 面板显示「Zotero 未连接」:确认 Zotero 在运行、本地 API 已勾选,用上面的 curl 自测;
  2. Host 是否加载:读 ~/.dsh/zotero-workspace/status.json(每次 apply 写入);
  3. Host 路由自测:curl --noproxy "*" http://127.0.0.1:<GUI端口>/dsh-zotero-workspace/api/health;
  4. tab 不出现:确认插件页 dsh-zotero-workspace 已启用,并重启过 DSH。

在 dsh-better-sidebar 的插件列表里找到它

dsh-better-sidebar 设置页的「添加 Tab 插件」列表由上游仓库的 src/client/plugins-tabs.ts 维护。本插件已向上游提交目录条目 PR:

  • Upstream PR: https://github.com/omdsh-dev/DSH-better-sidebar/pull/1140
  • Upstream repo: https://github.com/omdsh-dev/DSH-better-sidebar

PR 合并并随 better-sidebar 发版后,在目录搜索框里搜 Zotero 或 dsh-zotero-workspace 即可定位;在此之前可直接用上方 GitHub Release 命令安装,或通过 GitHub topic 浏览。

—/ 5

No ratings yet

Verified DSH bundle

Commit 3a7572d2560b

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout