vishnutskumar/zotero-ai-explain
GitHub: vishnutskumar/zotero-ai-explain
Zotero AI解释插件通过在阅读器中提供AI解释和侧边栏对话,帮助用户快速理解选中文本。
Stars: 1 | Forks: 0
# Zotero AI 解释





Zotero AI Explain 是一个 Zotero 8 插件,用于就地解释选中的文本。在 Zotero 阅读器中选择一段文本,请求解释,在文本上方的锚定弹窗中查看答案,然后当你想继续对话时,可将对话转移到侧边栏。

## 扩展预览

## 状态
此仓库正处于积极的全新实现阶段。核心架构、提供者边界、对话存储、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插件, 交互式聊天, 侧边栏聊天, 可观测性, 学术工具, 安全存储, 安全插件, 对话管理, 弹出窗口, 提供者配置, 操作系统检测, 数据可视化, 文本选择, 文献管理, 智能阅读, 研究辅助, 秘密引用, 自动化攻击