Plugins
Plugins let Youwee keep working after the download itself is finished. Use them when you want uploads, notifications, cleanup, sync, or other follow-up actions to happen automatically instead of by hand.
What plugins are for
The most useful plugins are usually narrow and practical. Instead of trying to own the whole download pipeline, a good plugin normally does one job well after the file is ready.
- Notifications: send a message when a download completes or fails.
- Uploads: push the finished file to Drive, a NAS, or another service.
- Follow-up processing: trigger a second step after the first job is done.
- Background tasks: run repeated maintenance or sync work on a schedule.
Install a plugin carefully
End users normally install plugins as signed .ywp packages. Before you confirm the install, read the plugin description, review what it asks for, and only continue if the source is trustworthy.
- Open the Plugins area in Youwee and import a
.ywpfile. - Inspect the plugin package before installing it.
- Review permissions, runtime requirements, and configuration fields.
- Enable it, fill in any required settings, then test it with a small download first.
Practical rule: trust the source first, then trust the feature. A plugin signature helps with integrity, but it does not replace your own review of what the plugin is supposed to do.
Package plugin or workspace plugin
In the current app, plugins can come from two sources:
- Package plugin: a normal installed
.ywpplugin for everyday use. - Workspace plugin: a development workspace attached directly to Youwee for live debugging.
Workspace mode is for development only. Package mode is what you should rely on for normal usage and sharing.
Connect plugins to workflows
Installing a plugin is only the first step. To make it useful, you usually connect it to a workflow trigger such as after download, when download fails, or another lifecycle point.
That is where plugins stop being isolated add-ons and start behaving like a repeatable automation system.
Open Workflows GuideSDK basics for developers
The API surface most developers care about is the plugin SDK. Instead of documenting it as a separate “API Reference” page for end users, it makes more sense to keep the basics here.
export default definePlugin({
meta: {
name: "Drive Uploader",
version: "0.1.0",
},
handlers: {
"event.download.completed": async (ctx) => {
const file = ctx.download.outputPath;
return ctx.ok(file);
},
},
});- Declare metadata, configuration, and handlers in one root definition.
- Treat the event payload as the source of truth.
- Keep side effects retry-safe so re-runs do not duplicate uploads or messages.
- Use the SDK helpers instead of inventing a second integration path.
