feat: add Context.dev plugin - #2985
Open
aadithyanr 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 six Context.dev tools for live web search, URL-to-Markdown scraping, bounded website crawling, sitemap page discovery, JSON Schema extraction, and brand profiles. The plugin calls the fixed production API at
https://api.context.dev/v1and does not include the unreleased Answers endpoint.Risk level
Required checks
.envfiles,.gitdirectories, virtual environments, caches, logs, or IDE files.PRIVACY.mdor a hosted privacy policy, andmanifest.yamlreferences it.Security and privacy notes
This plugin performs arbitrary public URL fetching and bounded crawling, so it is classified as high risk. It connects only to
https://api.context.dev/v1; the API base cannot be overridden. Crawl and extraction page counts are bounded, every request has a fixed timeout, and API keys are sent only in the Authorization header and redacted from surfaced API errors. The plugin executes no user code, shell commands, SQL, filesystem operations, browser automation, or webhook forwarding.Search queries, URLs, domains, schemas, instructions, and request options are sent to Context.dev as documented in
PRIVACY.md.Local validation
uvx ruff check .— passeduvx ruff format --check .— passed.venv/bin/python -m pytest -q -m 'not live'— 10 passed.venv/bin/python -m pytest -q -m live— credential, search, scrape, sitemap, brand, crawl, and extraction paths passed againsthttps://api.context.dev/v1dify plugin package— passeddify-plugin==0.9.1; all six tool mappings resolvedunzip -t— passedReviewer notes
A Dify Community Edition or Dify Cloud workspace was not available in this environment. The package was instead loaded and resolved through the official Dify Python SDK, and every public tool path was smoke-tested against the production Context.dev API. No executable or bundled binary is included.