Skip to content

Plugins UI + API#390

Merged
yondonfu merged 20 commits intomainfrom
yf/plugins-ui-api
Feb 3, 2026
Merged

Plugins UI + API#390
yondonfu merged 20 commits intomainfrom
yf/plugins-ui-api

Conversation

@yondonfu
Copy link
Contributor

@yondonfu yondonfu commented Jan 28, 2026

Summary

  • Add Settings dialog with General and Plugins tabs in the frontend
  • Add complete plugin management UI: install, uninstall, upgrade, and reload plugins
  • Add plugin management API endpoints with proper dependency resolution
  • Refactor CLI plugin commands to use PluginManager for consistency with API
  • Add venv snapshot rollback on plugin install failure
  • Add deep link support for plugin installation in Electron (daydream-scope://install?package=...)
  • Add plugin architecture documentation and user guide

Key Changes

Frontend

  • New Settings dialog with tabs for General settings and Plugins management
  • Plugins tab shows installed plugins with version, source, and pipeline info
  • Support for installing from PyPI, Git URLs, and local paths (editable)

Backend

  • New PluginManager class with async methods for plugin lifecycle
  • Plugin install uses compile-based dependency resolution with project constraints
  • Automatic rollback via VenvSnapshot if installation fails
  • Plugin tracking via plugins.txt and resolved.txt
  • CLI commands (plugins, install, uninstall) now use PluginManager

Electron

  • Deep link handler for daydream-scope://install protocol
  • Managed Python process lifecycle for plugin operations

Breaking Changes

  • install command: Now takes single PACKAGE argument (was multiple). Removed --force-reinstall, --no-cache-dir, -y flags.
  • uninstall command: Now takes single NAME argument (was multiple). Removed -y flag.

🤖 Generated with Claude Code

Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
The auto server restart ensures modules are re-loaded properly

Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
@yondonfu yondonfu marked this pull request as ready for review February 2, 2026 22:27
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
Signed-off-by: Yondon Fu <yondon.fu@gmail.com>
@yondonfu yondonfu merged commit bca7a2e into main Feb 3, 2026
5 checks passed
@yondonfu yondonfu deleted the yf/plugins-ui-api branch February 3, 2026 19:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant