Repository navigation
[Docs|Plugins] Plan the plugin system - #1817
Conversation
The app spawns a process with inputs and secrets, and imports a results file when it exits. The plugin does its own HTTP.
Authors import a library that stays in the repo. The packaged app needs a real Python because the frozen API and worker cannot execute plugin source.
…t wrote One process per run. After it exits, document lines become notes and anything else stays on the run.
A pull request is checked before merge. CI builds the tarball, and the app installs it on demand from a catalog shipped with the desktop build.
Settings holds install and secrets. An installed entry is a sidebar action, and the umbrella indexes the streams so they can be built in parallel.
|
@CREDO23 is attempting to deploy a commit to the Rohan Verma's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
High-level PR Summary
This PR introduces a comprehensive plugin system architecture for SurfSense. Plugins live as folders in the repo, run as independent processes with their own HTTP capabilities, and communicate through a file-based results protocol. The system includes an SDK for plugin development, a runtime for execution, a catalog for distribution, app integration with UI and API routes, and a bundled Python interpreter. The design emphasizes isolation (no shared process space), simplicity (no sockets or request protocols), and security (egress controls, secret management, and license enforcement).
⏱️ Estimated Review Time: 30-90 minutes
💡 Review Order Suggestion
plans/plugins/00-umbrella.mdplans/plugins/01-protocol.mdplans/plugins/sdk/01-library-and-harness.mdplans/plugins/runtime/01-process.mdplans/plugins/runtime/02-calls-and-results.mdplans/plugins/catalog/01-manifest-and-ci.mdplans/plugins/catalog/02-install-and-publish.mdplans/plugins/python/01-interpreter.mdplans/plugins/app/01-api.mdplans/plugins/app/02-screen.md