-
Notifications
You must be signed in to change notification settings - Fork 381
Add intro docs for different app types #718
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -23,63 +23,62 @@ | |
| "version": "Latest", | ||
| "dropdowns": [ | ||
| { | ||
| "dropdown": "Use Dify", | ||
| "icon": "book-open", | ||
| "pages": [ | ||
| { | ||
| "group": " ", | ||
| "group": "Get Started", | ||
| "expanded": false, | ||
| "pages": [ | ||
| "en/use-dify/getting-started/introduction", | ||
| "en/use-dify/getting-started/quick-start", | ||
| "en/use-dify/getting-started/key-concepts" | ||
| ] | ||
| }, | ||
| { | ||
| "group": "Build", | ||
| "pages": [ | ||
| { | ||
| "group": "Get Started", | ||
| "expanded": false, | ||
| "pages": [ | ||
| "en/use-dify/getting-started/introduction", | ||
| "en/use-dify/getting-started/quick-start", | ||
| "en/use-dify/getting-started/key-concepts" | ||
| ] | ||
| }, | ||
| { | ||
| "group": "Nodes", | ||
| "expanded": false, | ||
| "group": "Workflow & Chatflow", | ||
| "pages": [ | ||
| "en/use-dify/nodes/user-input", | ||
| "en/use-dify/build/workflow-chatflow", | ||
| { | ||
|
Comment on lines
+37
to
44
|
||
| "group": "Trigger", | ||
| "icon": "bolt-lightning", | ||
| "group": "Nodes", | ||
| "expanded": false, | ||
| "pages": [ | ||
| "en/use-dify/nodes/trigger/overview", | ||
| "en/use-dify/nodes/trigger/schedule-trigger", | ||
| "en/use-dify/nodes/trigger/plugin-trigger", | ||
| "en/use-dify/nodes/trigger/webhook-trigger" | ||
| ] | ||
| "en/use-dify/nodes/user-input", | ||
| { | ||
| "group": "Trigger", | ||
| "icon": "bolt-lightning", | ||
| "pages": [ | ||
| "en/use-dify/nodes/trigger/overview", | ||
| "en/use-dify/nodes/trigger/schedule-trigger", | ||
| "en/use-dify/nodes/trigger/plugin-trigger", | ||
| "en/use-dify/nodes/trigger/webhook-trigger" | ||
| ] | ||
| }, | ||
| "en/use-dify/nodes/llm", | ||
| "en/use-dify/nodes/knowledge-retrieval", | ||
| "en/use-dify/nodes/answer", | ||
| "en/use-dify/nodes/output", | ||
| "en/use-dify/nodes/agent", | ||
| "en/use-dify/nodes/question-classifier", | ||
| "en/use-dify/nodes/ifelse", | ||
| "en/use-dify/nodes/human-input", | ||
| "en/use-dify/nodes/iteration", | ||
| "en/use-dify/nodes/loop", | ||
| "en/use-dify/nodes/code", | ||
| "en/use-dify/nodes/template", | ||
| "en/use-dify/nodes/variable-aggregator", | ||
| "en/use-dify/nodes/doc-extractor", | ||
| "en/use-dify/nodes/variable-assigner", | ||
| "en/use-dify/nodes/parameter-extractor", | ||
| "en/use-dify/nodes/http-request", | ||
| "en/use-dify/nodes/list-operator", | ||
| "en/use-dify/nodes/tools" | ||
| ], | ||
| "icon": "cubes" | ||
| }, | ||
| "en/use-dify/nodes/llm", | ||
| "en/use-dify/nodes/knowledge-retrieval", | ||
| "en/use-dify/nodes/answer", | ||
| "en/use-dify/nodes/output", | ||
| "en/use-dify/nodes/agent", | ||
| "en/use-dify/nodes/question-classifier", | ||
| "en/use-dify/nodes/ifelse", | ||
| "en/use-dify/nodes/human-input", | ||
| "en/use-dify/nodes/iteration", | ||
| "en/use-dify/nodes/loop", | ||
| "en/use-dify/nodes/code", | ||
| "en/use-dify/nodes/template", | ||
| "en/use-dify/nodes/variable-aggregator", | ||
| "en/use-dify/nodes/doc-extractor", | ||
| "en/use-dify/nodes/variable-assigner", | ||
| "en/use-dify/nodes/parameter-extractor", | ||
| "en/use-dify/nodes/http-request", | ||
| "en/use-dify/nodes/list-operator", | ||
| "en/use-dify/nodes/tools" | ||
| ] | ||
| }, | ||
| { | ||
| "group": "Build", | ||
| "expanded": false, | ||
| "pages": [ | ||
| "en/use-dify/build/shortcut-key", | ||
| "en/use-dify/build/goto-anything", | ||
| "en/use-dify/build/orchestrate-node", | ||
| "en/use-dify/build/predefined-error-handling-logic", | ||
| "en/use-dify/build/mcp", | ||
|
|
@@ -255,7 +254,6 @@ | |
| ] | ||
| }, | ||
| { | ||
| "dropdown": "Self Host", | ||
| "icon": "server", | ||
| "pages": [ | ||
| { | ||
|
|
@@ -295,10 +293,10 @@ | |
| "en/self-host/troubleshooting/weaviate-v4-migration" | ||
| ] | ||
| } | ||
| ] | ||
| ], | ||
| "dropdown": "Self Host" | ||
| }, | ||
| { | ||
| "dropdown": "API Reference", | ||
| "icon": "code", | ||
| "groups": [ | ||
| { | ||
|
|
@@ -321,10 +319,10 @@ | |
| "group": "Text Completion", | ||
| "openapi": "en/api-reference/openapi_completion.json" | ||
| } | ||
| ] | ||
| ], | ||
| "dropdown": "API Reference" | ||
| }, | ||
| { | ||
| "dropdown": "Develop Plugin", | ||
| "icon": "code-pull-request", | ||
| "groups": [ | ||
|
Comment on lines
325
to
327
|
||
| { | ||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,212 @@ | ||||||
| --- | ||||||
| title: Agent | ||||||
| description: Chat-style apps where the model can reason, make decisions, and use tools autonomously | ||||||
| icon: robot | ||||||
| --- | ||||||
|
|
||||||
| Agents are chat-style apps where the model can reason through a task, decide what to do next, and use tools when needed to complete the user's request. | ||||||
|
|
||||||
| Use it when you want the model to autonomously decide how to approach a task using available tools, without designing a multi-step workflow. For example, building a data analysis assistant that can fetch live data, generate charts, and summarize findings on its own. | ||||||
|
|
||||||
| <Info> | ||||||
| Agents keep up to 500 messages or 2,000 tokens of history per conversation. If either limit is exceeded, the oldest messages will be removed to make room for new ones. | ||||||
| </Info> | ||||||
|
|
||||||
| ## Configure | ||||||
|
|
||||||
| ### Write the Prompt | ||||||
|
|
||||||
| The prompt tells the model what to do, how to respond, and what constraints to follow. For an agent, the prompt also guides how the model reasons through tasks and decides when to use tools, so be specific about the workflow you expect. | ||||||
|
|
||||||
| Here are some tips for writing effective prompts: | ||||||
|
|
||||||
| - **Define the persona**: Describe who the model should act as and the expertise it should draw on. | ||||||
|
|
||||||
| - **Specify the output format**: Describe the structure, length, or style you expect. | ||||||
|
|
||||||
| - **Set constraints**: Tell the model what to avoid or what rules to follow. | ||||||
|
|
||||||
| - **Guide tool usage**: Mention specific tools by name and describe when they should be used. | ||||||
|
|
||||||
| - **Outline the workflow**: Break down complex tasks into logical steps the model should follow. | ||||||
|
|
||||||
| #### Create Dynamic Prompts with Variables | ||||||
|
|
||||||
| To adapt the agent to different users or contexts without rewriting the prompt each time, add variables to collect the necessary information upfront. | ||||||
|
|
||||||
| Variables are placeholders in the prompt—each one appears as an input field that users fill in before the conversation starts, and their values are injected into the prompt at runtime. Users can also update variable values mid-conversation, and the prompt will adjust accordingly. | ||||||
|
|
||||||
| For example, a data analysis agent might use a domain variable so users can specify which area to focus on: | ||||||
|
|
||||||
| ```text wrap | ||||||
| You are a data analyst specializing in {{domain}}. Help users explore and understand their data. | ||||||
|
|
||||||
| When asked a question, use available data tools to fetch the relevant information. If the result suits a visual format, generate a chart. Explain your findings in plain language. | ||||||
|
|
||||||
| Keep responses concise. If a question is ambiguous, ask for clarification before fetching data. | ||||||
| ``` | ||||||
|
|
||||||
| <Tip> | ||||||
| While drafting the prompt, type `/` > **New Variable** to quickly insert a named placeholder. You can configure its details in the **Variables** section later. | ||||||
| </Tip> | ||||||
|
|
||||||
| Choose the variable type that matches the input you expect: | ||||||
|
|
||||||
| <Tabs> | ||||||
| <Tab title="Short Text"> | ||||||
| Accepts up to 256 characters. Use it for names, email addresses, titles, or any brief text input that fits on a single line. | ||||||
| </Tab> | ||||||
| <Tab title="Paragraph"> | ||||||
| Allows long-form text without length restrictions. It gives users a multi-line text area for detailed descriptions. | ||||||
| </Tab> | ||||||
| <Tab title="Select"> | ||||||
| Displays a dropdown menu with predefined options. | ||||||
| </Tab> | ||||||
| <Tab title="Number"> | ||||||
| Restricts input to numerical values only—ideal for quantities, ratings, IDs, or any data requiring mathematical processing. | ||||||
| </Tab> | ||||||
| <Tab title="Checkbox"> | ||||||
| Provides a simple yes/no option. When a user checks the box, the output is `true`; otherwise, it's `false`. Use it for confirmations or any case that requires a binary choice. | ||||||
| </Tab> | ||||||
| <Tab title="API-based Variable"> | ||||||
| Fetches variable values from an external API at runtime instead of collecting them from users. | ||||||
|
|
||||||
| Use it when your prompt needs dynamic data from an external source, such as live weather conditions or database records. See [API Extension](/en/use-dify/workspace/api-extension/api-extension) for details. | ||||||
| </Tab> | ||||||
| </Tabs> | ||||||
|
|
||||||
| <Info> | ||||||
| **Label Name** is what end users see for each input field. | ||||||
| </Info> | ||||||
|
|
||||||
| #### Generate or Improve the Prompt with AI | ||||||
|
|
||||||
| If you're unsure where to start or want to refine the existing prompt, click **Generate** to let an LLM help you draft it. | ||||||
|
|
||||||
| Describe what you want from scratch, or reference `current_prompt` and specify what to improve. For more targeted results, add an example in **Ideal Output**. | ||||||
|
|
||||||
| Each generation is saved as a version, so you can experiment and roll back freely. | ||||||
|
|
||||||
| ### Extend the Agent with Dify Tools | ||||||
|
|
||||||
| Add Dify tools to enable the model to interact with external services and APIs for tasks beyond text generation, such as fetching live data, searching the web, or querying databases. | ||||||
|
|
||||||
| The model decides when and which tools to use based on each query. To guide this more precisely, mention specific tool names in your prompt and describe when they should be used. | ||||||
|
|
||||||
| <Frame> | ||||||
|  | ||||||
|
||||||
|  | |
|  |
Copilot
AI
Mar 20, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/en/use-dify/build/app-toolkit is referenced here, but there is no app-toolkit.mdx (or equivalent) under en/use-dify/build/, so this will be a broken link. Please point this to an existing page that covers these features (or add the missing App Toolkit page).
| Agents also support optional features like conversation openers, follow-up suggestions, text to speech, speech to text, citations and attributions, content moderation, and annotation replies. See [App Toolkit](/en/use-dify/build/app-toolkit) for details. | |
| Agents also support optional features like conversation openers, follow-up suggestions, text to speech, speech to text, citations and attributions, content moderation, and annotation replies. See [App Toolkit](/en/use-dify/build/README) for details. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first top-level navigation dropdown object (icon: "book-open") no longer has a
dropdownlabel (it previously was "Use Dify"). Withoutdropdown, Mintlify may render this dropdown without a name or fail to build navigation correctly. Add"dropdown": "Use Dify"to this dropdown object (consistent with the other dropdowns below).