इस प्रोजेक्ट के बारे में
zotio एक कमांड-लाइन टूल और MCP सर्वर है जिसे Zotero संदर्भ पुस्तकालयों के लिए trust-and-automation लेयर के रूप में स्थापित किया गया है। यह उन उपयोगकर्ताओं को लक्षित करता है जिन्हें डेस्कटॉप GUI के बजाय बड़े पैमाने पर पुस्तकालय पर काम करने की आवश्यकता होती है: गुम PDF खोजना, सबमिशन से पहले डुप्लिकेट citation keys पकड़ना, annotations export करना, notes vault sync करना, या AI agents को bounded context देना।
आर्किटेक्चर और डेटा एक्सेस
Reads local हैं: zotio localhost पर चल रहे Zotero desktop API और एक synced SQLite mirror से बात करता है, जिसके लिए किसी API key की आवश्यकता नहीं होती और यह synced copy पर offline काम करता है। Writes को intent के अनुसार विभाजित किया गया है। attachments के साथ नया item बनाना local desktop connector को प्राथमिकता देता है (वही चैनल जो browser के "Save to Zotero" बटन द्वारा उपयोग किया जाता है), जबकि field edits, deletes, enrichment, tag operations, moves, और collection create/update Zotero Web API पर रूट होते हैं और इसके लिए configured key चाहिए। Connector path को एक प्राथमिकता बताया गया है, गारंटी नहीं: automatic routing इसका उपयोग केवल personal library के लिए तब करता है जब desktop चल रहा हो, अन्यथा Web API पर fallback करता है, और group libraries हमेशा cloud पर जाती हैं। enrichment और import के लिए संदर्भित external services में CrossRef, OpenAlex, Semantic Scholar, Unpaywall, और OpenCitations शामिल हैं। एक doctor command connectivity, cache freshness, और write-back उपलब्ध है या नहीं, इसकी रिपोर्ट करता है।
Write safety
सभी write commands एक ही mutation envelope साझा करते हैं। Preview default है; --yes लागू करता है और --dry-run हमेशा जीतता है। Agent mode JSON और non-interactive defaults सेट करता है लेकिन writes को auto-apply नहीं करता। Gates blast radius को सीमित करते हैं: --max-changes का default 500 है (agent mode में 50), और merge, permanent delete, और empty-trash जैसे irreversible operations के लिए explicit --allow-destructive flag आवश्यक है। Applied writes को local mirror में replay किया जाता है ताकि follow-up read बिना किसी अन्य sync के बदलाव देख सके। प्रत्येक applied run को append-only journal में दर्ज किया जाता है, और journal undo reversible operations (tag renames, collection membership, creates) को उलट देता है जबकि merges, deletions, और field overwrites से इनकार करता है।
Library health और CI
flagship library health command मौजूदा checks (citekey conflicts, duplicates, missing metadata, tag drift, broken attachments) को एक ranked, finding-typed report में संयोजित करता है। एक --for flag preset चुनता है: quick, citation, systematic-review, vault, या all। Findings में एक recommended_action होता है जो उस command का नाम बताता है जो उन्हें ठीक करता है। यह command CI gating को --fail-on के साथ समर्थन करता है, bar पूरा न होने पर 11 से exit करता है, और --require-fresh, stale mirror पर 12 से exit करता है। जिन checks को desktop app चाहिए वे silently गायब होने के बजाय remedies के साथ loud skips बन जाते हैं, और gate-relevant skip 9 से exit करता है। एक --badge option shields.io endpoint JSON artifact render करता है। एक साथी GitHub Action install, sync, gate, और baseline diffing को पैकेज करता है।
अन्य क्षमताएँ
Retraction checking Crossref के Retraction Watch data के विरुद्ध DOIs को validate करता है, जिसमें retractions, expressions of concern, और corrections शामिल हैं। Collection gap analysis उन frequently cited papers को rank करता है जो पुस्तकालय से गायब हैं। Bibliography checking LaTeX या pandoc citations को parse करता है और unknown या ambiguous keys को flag करता है। Tag auditing case और variant duplicates को ready-to-run merge commands के साथ समूहित करता है। Library statistics, item audits, duplicate detection, और citekey conflict detection शामिल हैं। Reading और synthesis features में LLM handoff के लिए bounded summarize bundles शामिल हैं (zotio स्वयं किसी model को call नहीं करता), annotation export और search, एक reading-list lifecycle, note templates, deep links, और shareable SVG cards के साथ एक year-in-review। Enrichment external providers से गुम DOIs, abstracts, और citation fields भरता है और open-access PDFs attach करता है, Extra field में provenance दर्ज करता है। Preprint checking arXiv records को published journal DOIs में upgrade करता है। Export options में CSL-JSON, BibTeX, BibLaTeX, RIS, और content lockfile के साथ एक resumable JSONL snapshot शामिल हैं। Sync, watch, और tail mirror को fresh रखते हैं, और schema drift Zotero upgrades के बाद परिवर्तनों का पता लगाता है।
Import और vault workflows
Bulk import scan, resolve, और apply stages के माध्यम से चलता है जिसमें human review checkpoint के रूप में एक editable JSON manifest होता है। Vault sync एक Obsidian या Logseq vault को Zotero के साथ दोनों दिशाओं में sync रखता है, एक managed region और एक user prose region का उपयोग करते हुए, fast-forward-only write-back और silent merges के बजाय reviewable conflict artifacts के साथ।
Agent integration
एक --agent flag JSON, compact, non-interactive output प्रदान करता है। एक capabilities command commands का एक registry expose करता है जिसे operation, data sources, write target, destructiveness, और preconditions के साथ tag किया गया है। एक agent-context command CLI का वर्णन करता है, एक which command natural-language queries को commands में resolve करता है, और envelopes और exit codes को stable contracts के रूप में documented किया गया है। एक MCP server binary CLI के साथ वितरित किया जाता है।
Distribution
Installation macOS और Linux पर Homebrew के माध्यम से, deb, rpm, और apk के लिए GitHub release packages, और Windows पर WinGet या Scoop के माध्यम से उपलब्ध है। CLI, एक agent skill, और MCP server को स्वतंत्र रूप से install किया जा सकता है। यह project MIT licensed है और Go में लिखा गया है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.