Repository navigation
Conversation
The daemon requires the author part of a plugin_unique_identifier
to match [a-z0-9_-]{1,64}; the mixed-case GitHub username was
rejected at install time. Verified end-to-end on Dify Community
Edition: the package now uploads, installs, and its credential
validation runs against the live API.
Jay0130-a
force-pushed
the
add-deepseek-search-plugin
branch
from
October 19, 2026 04:21
721540f to
5eb95f7
Compare
Author
End-to-end verification on Dify Community Edition (done ✅)Installed and exercised the plugin on a fresh Dify Community Edition deployment (Docker Compose, What was verified
One real bug this E2E caught (fixed in 5eb95f7)The first package failed to install with Environment notes
|
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
New tool plugin for the DeepSeek Tools API (
https://api.deepseek.com/v1/tools/searchand/v1/tools/fetch), which uses the same API key as the DeepSeek model platform. Two tools:deepseek_web_search— AI-native web search. Each result carriestitle,url,snippet,summary,site_name,date,rerank_score(0-3), andauthority(0-4), so agents can filter on quality instead of trusting position order. Supports DeepSeek's search operators (site:,-site:,-"excluded phrase","exact phrase",lang:,after:,before:), which are passed through as-is. Optionalori_questionimproves relevance;need_contentoptionally includes full extracted page content.deepseek_web_fetch— fetch a single page via DeepSeek's fetch infrastructure and returntitle+ body as clean Markdown. The plugin forwards only the URL; retrieval/extraction happen on DeepSeek's side.Design notes:
dify_pluginandhttpx— a single sharedhttpx.Client(Bearer auth, 60 s timeout) against the two fixed endpoints.user:pass@), matching the API's documented URL constraints.PRIVACY.mdstates exactly what is sent to DeepSeek (query/URL parameters only) and that nothing is stored or logged locally.Risk level
Search queries and fetch URLs are user content sent to an external service (DeepSeek). All requests target the single fixed host
api.deepseek.com; the plugin executes no code, commands, SQL, file operations, or browser automation, and does not proxy arbitrary URLs itself.Required checks
.envfiles,.gitdirectories, virtual environments, caches, logs, or IDE files.PRIVACY.mdor a hosted privacy policy, andmanifest.yamlreferences it.Limitation note: none. Fully verified end-to-end on Dify Community Edition (install, credential validation, live tool calls for both tools) — see the verification report comment below.
Security and privacy notes
api.deepseek.comwith the user's own Bearer key.Local validation
yaml.safe_load; provider and both tool classes import cleanly underdify_plugin>=0.9.0.deepseek_search-0.0.1.difypkgcontains exactly the 18 runtime files (source + docs + icon), no caches/tests/secrets.Reviewer notes
.difypkgin this PR was produced from the committed source tree at the same commit.deepseek_web_fetchfetches pages through DeepSeek's own fetch service; the plugin itself only calls the fixed DeepSeek endpoints.