The official public repository and marketplace catalog for ReaderGo plugins.
ReaderGo features an extensible, modular architecture where capabilities, document types, editors, and external tools are decoupled into standalone plugins that can be compiled, cataloged, and installed via URL or marketplace.
- Canvas (
readergo.editor.canvas): Structured infinite canvas for organizing documents. - EPUB Reader (
readergo.editor.epub): Read and interact with EPUB books. - Graph (
readergo.editor.graph): Interactive knowledge graph visualization on an infinite canvas. - Mindmap (
readergo.editor.mindmap): Interactive tree-structured mind mapping. - Simple Text Editor (
readergo.editor.simple): Clean, lightweight plaintext editor. - Spreadsheet (
readergo.editor.spreadsheet): Grid-based spreadsheet editor. - Whiteboard (
readergo.editor.whiteboard): Infinite canvas whiteboard for sketching and diagramming.
- Zettelkasten (
readergo.features.zettelkasten): Bidirectional note linking via[[Note Title]], live autocomplete dropdown, incoming backlinks, and forward links. - Link Clipper (
readergo.features.link-clipper): Clip web articles and convert them into structured notes. - Pin Notes (
readergo.features.pin-notes): Pin favorite notes to your dashboard for rapid access. - Selection Actions (
readergo.features.selection-actions): Contextual action bar triggered upon text selection. - Local Backup (
readergo.plugin.readergolocalbackup): Automated JSON exports and local backup routines. - Plugin Dev Tools (
readergo.plugin.readergodevtools): Introspection dashboard for debugging plugins.
- Ollama AI Insights (
readergo.ai.ollama): Connect to local or remote Ollama models for summarization and analysis. - OpenRouter (
readergo.ai.openrouter): Unified multi-model LLM inference via OpenRouter API. - Pollinations AI Beautify (
readergo.features.pollinations): AI-powered text embellishment and formatting. - Note Digest (
readergo.ai.note-digest): Automated periodic note digest and insight generation. - Embeddings Local (
readergo.embeddings.local): Local on-device vector embeddings generation. - Embeddings OpenRouter (
readergo.embeddings.openrouter): Cloud vector embeddings via OpenRouter. - Vector Store (LanceDB) (
readergo.vector-store.lancedb): High-performance vector database indexing. - Pi AI Assistant (
readergo.ai.pi): Agentic personal assistant runtime extension.
- SFTP Space (
readergo.sftp-space): Remote filesystem space backed by SSH/SFTP servers. - SQLite Chat Store (
readergo.chat-store.sqlite): Local persistent chat message history storage. - Filesystem Runtime (
readergo.filesystem): Host filesystem directory bridge.
- Hello World (
readergo.examples.hello-world) - Settings Panel (
readergo.examples.settings-panel) - Sync Style (
readergo.examples.sync-style) - Demo External Plugin (
demo.external.plugin)
- Node.js >= 20.0.0
- npm >= 10.0.0
npm install
npm run buildThis compiles all TypeScript plugins using esbuild, extracts metadata, generates self-contained *.bundle.json (UI) and *.runtime.json (local runtime) packages, and produces public/catalog.json.
npm run serveServes public/ at http://localhost:3001/catalog.json with permissive CORS headers.
Set the catalog environment variable before starting ReaderGo:
NEXT_PUBLIC_PLUGIN_CATALOG_URL="http://localhost:3001/catalog.json"Or point it directly to the hosted GitHub Pages release:
NEXT_PUBLIC_PLUGIN_CATALOG_URL="https://nicemit.github.io/readergo-plugins/catalog.json"Any plugin bundle generated here can be directly installed in ReaderGo via:
// In browser console or UI
await window.readergo.installPlugin("https://.../zettelkasten.bundle.json");- Create a directory inside
plugins/<your-plugin-name>/. - Add
manifest.json:
{
"id": "com.example.myplugin",
"name": "My Plugin",
"version": "1.0.0",
"description": "Does something awesome",
"category": "feature",
"provides": ["sidebar-panel"],
"main": "dist/ui.js",
"compile": {
"ui": "./src/index.tsx"
}
}- Write your plugin code in
src/index.tsximporting from@readergo/plugin-sdk. - Run
npm run buildto compile and add it to the catalog!