Dify plugin

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.

Install from this repository
https://github.com/enconvert/dify-enconvert
The gap

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.

What you hitWhat the plugin gives you

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.

Tools

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.

  1. Perceive URL

    Render one page into markdown, HTML, a screenshot, a PDF, links, images or structured data, with the quality score attached.

    POST /v2/perceive
  2. Web Search

    Search the web, news, images, scholar, patents or maps and return ranked results for the next node to act on.

    POST /v2/lookup
  3. Discover 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/discover
  4. Extract 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/distill
  5. Convert 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-markdown
  6. Convert 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
Setup

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.

In practice

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

A Marketplace submission is in review. In the meantime the plugin installs from its public GitHub release, which is a first-class install path in Dify and gives you the same six tools.
Yes. The plugin is free and carries no key of its own. You supply a private key from your own dashboard, and usage counts against your own plan.
Signature verification. A self-hosted instance can be configured to accept only Marketplace-signed plugins. Set FORCE_VERIFYING_SIGNATURE=false in docker/.env and restart, or wait for the Marketplace listing.
That means the release being read has no plugin package attached. Point the dialog at the latest release, which carries the packaged plugin file.
No, they take a Dify file. That is deliberate: it means a file uploaded in a chat or produced by an earlier node converts in place, and the plugin never fetches a URL from inside your Dify host.
A score from 0.0 to 1.0 describing how well a page actually rendered. A blocked or empty page scores low, so a conditional node can branch on it instead of passing a challenge page to a model as though it were content.

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.