Give Dify agents eyes on the web
Dify connects models, memory and logic. It does not read a Word file, render a JavaScript page honestly, or tell you when a fetch came back as a bot wall. This plugin adds six tools that do, and every page read carries a render_quality score so a failed read is visible in the workflow rather than silently summarised.
What Dify cannot do on its own
Dify ships an HTTP Request node and a handful of built-in tools. Four things still fall to you, and the plugin covers each.
A user uploads a Word or PDF file
Convert File to Markdown takes a Dify file input directly and returns clean text, ready for a model or a knowledge base.
The page renders in JavaScript
Perceive URL runs a real browser and returns the settled page, not the empty shell an HTTP node retrieves.
Hand-rolling auth and multipart in an HTTP node
One credential, entered once. Every tool sends the key and parses the response for you.
Not knowing whether a read succeeded
render_quality from 0.0 to 1.0 on every page read, so a conditional branch can retry or stop instead of feeding a cookie banner to a model.
Six tools, one credential
Each tool appears in the Dify tool picker and works in both agents and workflows. They call the same REST API as the CLI, the SDKs and the MCP server, so your plan quota and rate limits apply exactly as they do everywhere else.
Perceive URL
Render one page into markdown, HTML, a screenshot, a PDF, links, images or structured data, with the quality score attached.
POST /v2/perceiveWeb Search
Search the web, news, images, scholar, patents or maps and return ranked results for the next node to act on.
POST /v2/lookupDiscover URLs
List a site by sitemap, crawl or both, with include and exclude patterns, before spending renders on pages you do not want.
POST /v2/discoverExtract Structured
Give a JSON schema or a flat field map and get typed data back per URL, from an explicit list or from a site the API crawls for you.
POST /v2/distillConvert File to Markdown
Takes a Dify file input, not a URL, so a file uploaded in a chat or produced by an earlier node converts in place.
POST /v1/convert/anything-to-markdownConvert File to PDF
The same file input, converted to PDF when a workflow needs to hand a real document back to a person.
POST /v1/convert/anything-to-pdf
Install, then paste one key
The plugin ships no key and calls nothing but the EnConvert API. Each user supplies their own private key when they add the tool.
Install from GitHub
In Dify, open Plugins, choose Install plugin, pick GitHub, and paste the repository URL. Select the latest version and review the permissions.
Create a private key
Generate a key in the EnConvert dashboard. Private keys start with sk_. Public pk_ keys are for browser widgets and are rejected here.
Authorize the tool
Paste the key into the plugin credential field. Connecting validates it against a whoami call, so a wrong key fails at that moment rather than inside a workflow run.
Add a tool to an agent or workflow
The six tools appear in the tool picker. Wire one into an agent as a callable tool, or drop it into a workflow as a node.
On a self-hosted Dify with signature verification enabled, a plugin installed from outside the Marketplace is rejected with a signature error. Set FORCE_VERIFYING_SIGNATURE=false in docker/.env and restart the containers, or wait for the Marketplace listing.
Four workflows worth building
Each one is a handful of nodes. The plugin covers the part Dify has no answer for.
Build a knowledge base from a website
- Discover URLs
- Perceive URL
Discover lists the site, perceive renders each page into markdown, and the result feeds a Dify knowledge base.
An agent that researches before answering
- Web Search
- Perceive URL
Search finds sources, perceive reads the promising ones, and the agent answers from pages it actually read.
Turn an uploaded document into an answer
- Convert File to Markdown
A user drops a PDF or Word file into a chat, convert returns markdown, and the model works from real text.
Watch competitor pages for changes
- Extract Structured
Extract pulls the same typed fields on a schedule, so a change in price or wording becomes a value you can compare.
Frequently asked questions
Add the tools to your next workflow
Install from the release, paste one key, and the six tools appear in the picker for every agent and workflow in the workspace.