peijiping/dsh-plugin-zotero ↗★ 0
dsh-plugin-zotero
Bring your local Zotero library into DeepSeek Harness: a read-only sidebar panel for browsing, searching and inserting citations into conversation drafts, plus a self-hosted integration-MCP bridge that registers Zotero tools to the model with per-tool toggles. 适合需要检索本地Zotero文献并插入对话草稿的学术研究用户。
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:peijiping/dsh-plugin-zoteroREADME
Read the full README ↗插件页配置项
在 dsh 顶部的「插件」面板里展开 dsh-plugin-zotero,点组件行上的「配置 dsh-plugin-zotero」,即可调整连接参数。表单分两组。
API 设置(本地 API 与面板行为)
| 字段 | 默认 | 生效点 |
|---|---|---|
zoteroBaseUrl | http://127.0.0.1:23119 | Zotero 本地 API 探活与全部请求 |
requestTimeoutMs | 5000 | 单次本地 API 请求超时 |
fulltextMaxBytes | 204800 | 附件全文返回上限(超出截断) |
defaultLimit | 50 | 面板条目列表默认拉取条数 |
MCP 设置(集成 MCP 连接与工具清单)
| 字段 | 默认 | 生效点 |
|---|---|---|
mcpUrl | http://127.0.0.1:23120/mcp | 集成 MCP 探活、工具列表与工具调用 |
mcpProbeTimeoutMs | 800 | TCP 探活集成 MCP 端口超时 |
disabledMcpTools | [] | 被停用的 MCP 工具原始名;模型侧据此过滤注册 |
MCP 组下方是 「MCP 工具」 区:现场列出集成 MCP 的全部工具(mcp__zotero__ + 描述),每行右侧一个开关。关掉某个工具并保存后,模型侧不再注册它(等价于从模型的工具表里摘掉);「重新读取」可重拉清单。开启配置卡或保存后各同步一次工具注册。
保存与重置:
- 保存写入 profile 的 patch 层
~/.dsh/profiles/ /cordis.patch.yml。 - 所有字段走 Schemastery
.volatile(),只提交新值并唤醒引用,无需重启即时生效;工具开关同理(写进disabledMcpTools字段)。 - 字段旁的「已覆盖」表示该值来自 patch 层而非默认值;点「恢复默认」清掉覆盖。若该值被更高优先级的 patch 层覆盖,保存会报「被覆盖」错误。
- 「设置 → 内置插件」是只读清单,不提供编辑入口;配置入口只在「插件」面板。
实现:Host 半在 src/index.ts 导出 Config schema、注入读取器(src/zotero/config.ts 的 setSettingsReader)并驱动 src/host/mcp-bridge.ts;Client 半在 src/client/ZoteroCard.tsx 渲染配置卡(席位 key dsh-plugin-zotero#dsh-plugin-zotero)。
配置
开启 Zotero 本地 API
Zotero → 设置 → 高级 → 勾选 「允许本机其他应用与 Zotero 通信」(默认端口 23119,仅监听回环)。验证:
curl http://127.0.0.1:23119/api/ # 期望输出:Zotero is running
未勾选时读端点返回 403,面板显示「Zotero 未连接」并提示启用步骤。
模型侧 MCP 与权限边界
模型侧工具由插件自己桥接:src/host/mcp-bridge.ts 直连本机 Zotero 集成 MCP(本机实测 zotero-integrated-mcp v1.1.0,暴露 20 个工具),按配置里的 disabledMcpTools 过滤后以 mcp__zotero__* 注册给模型。cordis.patch.yml 不再插入 @deepseek-ai/dsh-mcp-client —— 它不支持按工具开关,且同 serverName 会与自注册工具重名冲突。
⚠️ 面板只读,但模型侧工具不是:20 个工具中含 5 个改变文库结构的写工具(create_collection / update_collection / delete_collection / add_items_to_collection / remove_items_from_collection)。想收紧为纯只读,直接在插件页配置卡的「MCP 工具」里关掉它们并保存即可;面板功能不受影响。