feat: add kavel plugin 0.0.1 - #3023
Open
hanshs474 wants to merge 1 commit into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Plugin Submission
Plugin information
Submission type
What changed
Adds Kavel, a tool plugin for image generation and photo editing that needs no API key and no account. Most image plugins require a provider key before they do anything; this one calls Kavel's anonymous tier, so the tools run the moment the plugin is installed.
credentials_for_provideris empty and_validate_credentialsis a no-op by design.Two tools:
generate_image— prompt in, image URL out, with an aspect-ratio selectedit_image— change one thing in a photo (hairstyle, outfit, expression, background) and keep the faceThe
edit_imageLLM description carries the rule that decides whether these edits work at all: the prompt must name what stays, not only what changes, because anything left unsaid is fair game for the model.The free tier is stated rather than discovered: a signed-out caller is granted 15 credits,
generate_imagespends 5 andedit_imagespends 15, with a per-IP ceiling of 30 a day. Output is 1K and watermarked. Video is deliberately not exposed — the cheapest clip is 40 credits against a 15-credit anonymous wallet, so a signed-out call could never succeed, and a tool that always fails is worse than a tool that is not there.Risk level
Required checks
.envfiles,.gitdirectories, virtual environments, caches, logs, or IDE files.PRIVACY.md, andmanifest.yamlreferences it.Security and privacy notes
The plugin fetches one arbitrary URL supplied by the caller:
edit_imagetakes animage_urland passes it to the Kavel API as the source photo. It is not fetched by the plugin process itself. No command execution, no code execution, no SQL, no SSH, no file operations, no proxying. No credential of the user is transmitted or stored — there is none. A fresh random anonymous identifier is generated per invocation and discarded, so two calls cannot be linked. Generated images are served from a public CDN URL, whichPRIVACY.mdstates plainly.Local validation
All four YAML files parse under
yaml.safe_load. Dependencies:dify_pluginonly — the HTTP path is standard library.Reviewer notes
Known limitation, stated in the README rather than hidden: the anonymous grant is small on purpose (two generations or one edit before it asks for a sign-in) and the output is watermarked at 1K.