2.1 KiB
2.1 KiB
Upgrade Plan
Keep upgrades backward compatible with the current command line.
Near-term additions
- Add
--collectionto process one Zotero collection by name or key. - Add
--delete-duplicateswith a dry-run default and explicit confirmation requirement. - Add
--report-out <path>to save run summaries without dumping full note HTML to terminal. - Add a script option to export or refresh Obsidian Dataview dashboard files under
01 文献阅读\01 Dataview文献看板. - Add a script option to dry-run and delete empty Obsidian literature notes under
01 文献阅读\00 AI总结笔记. - Add retry/backoff for Zotero Web API writes and LLM calls.
- Add
--provider <name>to select AwesomeGPT providers other than DeepSeek. - Add incremental audit invalidation based on Zotero item/library version headers, so only changed parents are rescanned after the initial cache build.
Quality upgrades
- Install or use
pypdf/PyMuPDFwhen available for better PDF text extraction. - Add a template variable layer so the script can fill title/key/link before sending to the model.
- Split prompts for article-type classification and note generation when the user wants stronger consistency.
- For review articles, only request representative-work BibTeX when full references are available.
Safety upgrades
- Never log API keys.
- Do not write keys into
.envautomatically. - For destructive actions such as duplicate cleanup, require an explicit user request and perform a dry run first.
- For Obsidian note deletion, only delete notes that remain empty after frontmatter and placeholder cleanup, and report the count before deletion.
- Keep Dataview dashboards and CSS snippets free of secrets and large pasted source content.
- Prefer
--skip-existingfor all batch jobs.
Known constraints
- Zotero Local API is read-only; child-note creation uses Zotero Web API.
- AwesomeGPT's in-Zotero connector may require a session secret and should not be treated as a stable external API.
- Some Zotero child-note list responses may omit full note HTML; duplicate detection should fetch full note items when needed.