vishnutskumar/zotero-ai-explain

GitHub: vishnutskumar/zotero-ai-explain

Zotero AI解释插件通过在阅读器中提供AI解释和侧边栏对话,帮助用户快速理解选中文本。

Stars: 1 | Forks: 0

# Zotero AI 解释 ![TypeScript](https://img.shields.io/badge/TypeScript-5.8-3178c6?logo=typescript&logoColor=white) ![JavaScript](https://img.shields.io/badge/JavaScript-ESM-f7df1e?logo=javascript&logoColor=222222) ![CSS](https://img.shields.io/badge/CSS-UI%20Surfaces-1572b6?logo=css3&logoColor=white) ![Zotero](https://img.shields.io/badge/Zotero-8.0%2B-990000) ![Tests](https://img.shields.io/badge/tests-vitest-6e9f18?logo=vitest&logoColor=white) Zotero AI Explain 是一个 Zotero 8 插件,用于就地解释选中的文本。在 Zotero 阅读器中选择一段文本,请求解释,在文本上方的锚定弹窗中查看答案,然后当你想继续对话时,可将对话转移到侧边栏。 ![Zotero AI Explain 在 Zotero 中的动画预览](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/90d2ab71eb234328.svg) ## 扩展预览 ![Zotero 阅读器弹窗和侧边栏的截图式预览](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/a44c363ea7234332.svg) ## 状态 此仓库正处于积极的全新实现阶段。核心架构、提供者边界、对话存储、Zotero 8 引导程序以及初始阅读器 UI 界面正在通过测试进行构建。 ## 功能 - 为 Zotero 阅读器中选中的文本提供锚定解释弹窗。 - 用于后续问题的侧边栏对话移交。 - 支持 OpenAI Responses、兼容 OpenAI 的 API、Anthropic、Gemini、自定义 HTTP 和本地代理桥接的提供者配置文件。 - 使用密钥引用而非在插件首选项中存储原始 API 密钥。 - 仅限 Zotero 8 的引导程序包,附带用于阅读器集成的说明。 ## 开发 ``` npm install pre-commit install npm run build npm run verify pre-commit run --all-files ``` 构建过程会在 `addon/content/zotero-ai-explain.sys.mjs` 生成 Zotero 引导程序包。 ## Zotero 8 手动验证 在构建并打包 `addon/` 目录后,请使用 `docs/manual-verification/zotero-8.md` 进行手动验收。该插件清单要求 Zotero `8.0` 或更高版本。 ## 架构 ``` graph TD Reader[Zotero Reader Selection] --> Popup[Anchored Explanation Popup] Popup --> Conversation[Conversation State] Conversation --> Sidebar[Sidebar Chat] Conversation --> Providers[Provider Adapters] Providers --> Remote[Remote APIs] Providers --> Local[Local Model Servers] ``` ## 项目布局 | 路径 | 用途 | | ---------- | ------------------------------------------------------------------- | | `src/` | 插件逻辑的 TypeScript 源代码。 | | `tests/` | Vitest 测试套件。 | | `addon/` | Zotero 扩展资源及面向浏览器的文件。 | | `docs/` | 设计规范、实施计划和人工文档。 | | `scripts/` | 构建和打包自动化脚本。 | | `.forge/` | 本地 Forge 状态已被忽略;但 `.forge/learnings.jsonl` 仍会被跟踪。 |
标签:AI助手, AI解释, API集成, CMS安全, CSS, JavaScript, TypeScript, Vitest, Zotero 8, Zotero插件, 交互式聊天, 侧边栏聊天, 可观测性, 学术工具, 安全存储, 安全插件, 对话管理, 弹出窗口, 提供者配置, 操作系统检测, 数据可视化, 文本选择, 文献管理, 智能阅读, 研究辅助, 秘密引用, 自动化攻击