Skip to content

Commit b201b94

Browse files
committed
docs: align image syntax and alt text with new rules across languages
1 parent c800354 commit b201b94

293 files changed

Lines changed: 4010 additions & 2416 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

en/develop-plugin/dev-guides-and-walkthroughs/agent-strategy-plugin.mdx

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,9 @@ extra:
156156
157157
Once you’ve configured these parameters, the plugin will automatically generate a user-friendly interface so you can easily manage them:
158158
159-
![Agent Strategy Plugin UI](https://assets-docs.dify.ai/2025/01/d011e2eba4c37f07a9564067ba787df8.png)
159+
<Frame>
160+
![Agent Strategy Plugin UI](https://assets-docs.dify.ai/2025/01/d011e2eba4c37f07a9564067ba787df8.png)
161+
</Frame>
160162
161163
#### 2.2 Retrieving Parameters and Execution
162164
@@ -215,7 +217,9 @@ To view the complete functionality implementation, please refer to the Example C
215217
216218
This code achieves the following functionality: after a user inputs a command, the Agent strategy plugin automatically calls the LLM, constructs the necessary parameters for tool invocation based on the generated results, and enables the model to flexibly dispatch integrated tools to efficiently complete complex tasks.
217219
218-
![Request parameters for generating tools](https://assets-docs.dify.ai/2025/01/01e32c2d77150213c7c929b3cceb4dae.png)
220+
<Frame>
221+
![Request Parameters for Generating Tools](https://assets-docs.dify.ai/2025/01/01e32c2d77150213c7c929b3cceb4dae.png)
222+
</Frame>
219223
220224
### 4. Handle a Tool
221225
@@ -257,7 +261,9 @@ for tool_call_id, tool_call_name, tool_call_args in tool_calls:
257261
258262
With this in place, your Agent Strategy Plugin can automatically perform **Function Calling**—for instance, retrieving the current time.
259263
260-
![Tool Invocation](https://assets-docs.dify.ai/2025/01/80e5de8acc2b0ed00524e490fd611ff5.png)
264+
<Frame>
265+
![Tool Invocation](https://assets-docs.dify.ai/2025/01/80e5de8acc2b0ed00524e490fd611ff5.png)
266+
</Frame>
261267
262268
### 5. Creating Logs
263269
@@ -295,7 +301,9 @@ yield self.finish_log_message(
295301
296302
When the setup is complete, the workflow log will output the execution results:
297303
298-
![Agent Output execution results](https://assets-docs.dify.ai/2025/01/96516388a4fb1da9cea85fc1804ff377.png)
304+
<Frame>
305+
![Agent Output Execution Results](https://assets-docs.dify.ai/2025/01/96516388a4fb1da9cea85fc1804ff377.png)
306+
</Frame>
299307
300308
If multiple rounds of logs occur, you can structure them hierarchically by setting a `parent` parameter in your log calls, making them easier to follow.
301309
@@ -1038,7 +1046,9 @@ class BasicAgentAgentStrategy(AgentStrategy):
10381046
10391047
After finalizing the plugin’s declaration file and implementation code, run `python -m main` in the plugin directory to restart it. Next, confirm the plugin runs correctly. Dify offers remote debugging—go to **Plugin Management** to obtain your debug key and remote server address.
10401048
1041-
![](https://assets-docs.dify.ai/2024/12/053415ef127f1f4d6dd85dd3ae79626a.png)
1049+
<Frame>
1050+
![Finalizing the Plugin’S Declaration File and Implementation Code, Run Python -M](https://assets-docs.dify.ai/2024/12/053415ef127f1f4d6dd85dd3ae79626a.png)
1051+
</Frame>
10421052
10431053
Back in your plugin project, copy `.env.example` to `.env` and insert the relevant remote server and debug key info.
10441054
@@ -1056,7 +1066,9 @@ python -m main
10561066
10571067
You’ll see the plugin installed in your Workspace, and team members can also access it.
10581068
1059-
![Browser Plugins](https://assets-docs.dify.ai/2025/01/c82ec0202e5bf914b36e06c796398dd6.png)
1069+
<Frame>
1070+
![Browser Plugins](https://assets-docs.dify.ai/2025/01/c82ec0202e5bf914b36e06c796398dd6.png)
1071+
</Frame>
10601072
10611073
### Packaging the Plugin (Optional)
10621074

en/develop-plugin/dev-guides-and-walkthroughs/creating-new-model-provider.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ dify plugin init
3030

3131
Select the `LLM` type plugin template from the available options. This template provides a complete code structure for model integration.
3232

33-
![Plugin type: llm](https://assets-docs.dify.ai/2024/12/8efe646e9174164b9edbf658b5934b86.png)
33+
<Frame>
34+
![Plugin Type: LLM](https://assets-docs.dify.ai/2024/12/8efe646e9174164b9edbf658b5934b86.png)
35+
</Frame>
3436

3537
### Configure Plugin Permissions
3638

@@ -40,7 +42,9 @@ For a model provider plugin, configure the following essential permissions:
4042
* **LLM** - Permission for large language model functionality
4143
* **Storage** - Permission for file operations (if needed)
4244

43-
![Model Plugin Permission](https://assets-docs.dify.ai/2024/12/10f3b3ee6c03a1215309f13d712455d4.png)
45+
<Frame>
46+
![Model Plugin Permission](https://assets-docs.dify.ai/2024/12/10f3b3ee6c03a1215309f13d712455d4.png)
47+
</Frame>
4448

4549
### Directory Structure Overview
4650

en/develop-plugin/dev-guides-and-walkthroughs/datasource-plugin.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,9 @@ Each data source plugin type supports multiple data sources. For example:
2929

3030
The relationship between data source types and data source plugin types is illustrated below.
3131

32-
![](/images/data_source_type.png)
32+
<Frame>
33+
![Data Source Type](/images/develop-plugin/dev-guide/data-source-type.png)
34+
</Frame>
3335

3436
## Develop a Data Source Plugin
3537

@@ -41,7 +43,9 @@ You can use the scaffolding command-line tool to create a data source plugin by
4143
dify plugin init
4244
```
4345

44-
![](/images/datasource_plugin_init.png)
46+
<Frame>
47+
![Datasource Plugin Init](/images/develop-plugin/dev-guide/datasource-plugin-init.png)
48+
</Frame>
4549

4650
<Info>
4751
Typically, a data source plugin does not need to use other features of the Dify platform, so no additional permissions are required.

en/develop-plugin/dev-guides-and-walkthroughs/develop-a-slack-bot-plugin.mdx

Lines changed: 42 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ The Dify plugin ecosystem focuses on making integrations simpler and more access
2323

2424
Slack is an open, real-time communication platform with a robust API. Among its features is a webhook-based event system, which is quite straightforward to develop on. We’ll leverage this system to create a Slack Bot plugin, illustrated in the diagram below:
2525

26-
![Slack Bot diagram ](https://assets-docs.dify.ai/2025/01/a0865d18f1ca4051601ca53fa6f92db2.png)
26+
<Frame>
27+
![Slack Bot Diagram](https://assets-docs.dify.ai/2025/01/a0865d18f1ca4051601ca53fa6f92db2.png)
28+
</Frame>
2729

2830
> To avoid confusion, the following concepts are explained:
2931
>
@@ -52,19 +54,27 @@ Slack is an open, real-time communication platform with a robust API. Among its
5254

5355
Go to the [Slack API platform](https://api.slack.com/apps), create a Slack app from scratch, and pick the workspace where it will be deployed.
5456

55-
![](https://assets-docs.dify.ai/2025/01/c1fd0ac1467faf5a3ebf3818bb234aa8.png)
57+
<Frame>
58+
![](https://assets-docs.dify.ai/2025/01/c1fd0ac1467faf5a3ebf3818bb234aa8.png)
59+
</Frame>
5660

5761
1. **Enable Webhooks:**
5862

59-
![](https://assets-docs.dify.ai/2025/01/7112e0710300f1db16827e17f3deac00.png)
63+
<Frame>
64+
![Enable Webhooks](https://assets-docs.dify.ai/2025/01/7112e0710300f1db16827e17f3deac00.png)
65+
</Frame>
6066

6167
2. **Install the App in Your Slack Workspace:**
6268

63-
![](https://assets-docs.dify.ai/2025/01/88c360ff4f7b04fea52174ce330522fa.png)
69+
<Frame>
70+
![Install the App in Your Slack Workspace](https://assets-docs.dify.ai/2025/01/88c360ff4f7b04fea52174ce330522fa.png)
71+
</Frame>
6472

6573
3. **Obtain an OAuth Token** for future plugin development:
6674

67-
![](https://assets-docs.dify.ai/2025/01/dcd8ec947253f2ef9ae121ed77ec9f26.png)
75+
<Frame>
76+
![Obtain an OAuth Token for Future Plugin Development](https://assets-docs.dify.ai/2025/01/dcd8ec947253f2ef9ae121ed77ec9f26.png)
77+
</Frame>
6878

6979
### 1. Developing the Plugin
7080

@@ -82,7 +92,9 @@ Follow the prompts to provide basic project info. Select the `extension` templat
8292

8393
For additional details on reverse-invoking Dify services within a plugin, see [Reverse Invocation: App](/en/develop-plugin/features-and-specs/advanced-development/reverse-invocation-app).
8494

85-
![Plugins permission](https://assets-docs.dify.ai/2024/12/d89a6282c5584fc43a9cadeddf09c0de.png)
95+
<Frame>
96+
![Plugins Permission](https://assets-docs.dify.ai/2024/12/d89a6282c5584fc43a9cadeddf09c0de.png)
97+
</Frame>
8698

8799
#### 1.2 Edit the Configuration Form
88100

@@ -244,7 +256,9 @@ class SlackEndpoint(Endpoint):
244256

245257
Go to the Dify platform and obtain the remote debugging address and key for your plugin.
246258

247-
![](https://assets-docs.dify.ai/2025/01/8d24006f0cabf5bf61640a9023c45db8.png)
259+
<Frame>
260+
![](https://assets-docs.dify.ai/2025/01/8d24006f0cabf5bf61640a9023c45db8.png)
261+
</Frame>
248262

249263
Back in your plugin project, copy the `.env.example` file and rename it to `.env`.
250264

@@ -264,38 +278,45 @@ python -m main
264278

265279
From the plugin management page in Dify, locate the newly installed test plugin and create a new endpoint. Provide a name, a Bot token, and select the app you want to connect.
266280

267-
<img
268-
src="https://assets-docs.dify.ai/2025/01/07f87e8a2786d6f5f05195961c5630c3.png"
269-
className="mx-auto"
270-
alt="Test Plugins"
271-
/>
281+
<Frame>
282+
![Test Plugins](https://assets-docs.dify.ai/2025/01/07f87e8a2786d6f5f05195961c5630c3.png)
283+
</Frame>
272284

273285
After saving, a **POST** request URL is generated:
274286

275-
<img
276-
src="https://assets-docs.dify.ai/2025/01/e6952a5798a7ae793b3fe7df6f76ea73.png"
277-
className="mx-auto"
278-
alt="Generated POST Request URL"
279-
/>
287+
<Frame>
288+
![Generated POST Request URL](https://assets-docs.dify.ai/2025/01/e6952a5798a7ae793b3fe7df6f76ea73.png)
289+
</Frame>
280290

281291
Next, complete the Slack App setup:
282292

283293
1. **Enable Event Subscriptions**
284-
![](https://assets-docs.dify.ai/2025/01/1d33bb9cde78a1b5656ad6a0b8350195.png)
294+
295+
<Frame>
296+
![Enable Event Subscriptions](https://assets-docs.dify.ai/2025/01/1d33bb9cde78a1b5656ad6a0b8350195.png)
297+
</Frame>
285298

286299
Paste the POST request URL you generated above.
287-
![](https://assets-docs.dify.ai/2025/01/65aa41f37c3800af49e944f9ff28e121.png)
300+
301+
<Frame>
302+
![Paste the POST Request URL You Generated Above](https://assets-docs.dify.ai/2025/01/65aa41f37c3800af49e944f9ff28e121.png)
303+
</Frame>
288304

289305
2. **Grant Required Permissions**
290-
![](https://assets-docs.dify.ai/2025/01/25c38a2cf10ec6c55ae54970d790f37e.png)
306+
307+
<Frame>
308+
![Grant Required Permissions](https://assets-docs.dify.ai/2025/01/25c38a2cf10ec6c55ae54970d790f37e.png)
309+
</Frame>
291310

292311
---
293312

294313
### 4. Verify the Plugin
295314

296315
In your code, `self.session.app.chat.invoke` is used to call the Dify application, passing in parameters such as `app_id` and `query`. The response is then returned to the Slack Bot. Run `python -m main` again to restart your plugin for debugging, and check whether Slack correctly displays the Dify App’s reply:
297316

298-
![](https://assets-docs.dify.ai/2025/01/6fc872d1343ce8503d63c5222f7f26f9.png)
317+
<Frame>
318+
![In Your Code, Self](https://assets-docs.dify.ai/2025/01/6fc872d1343ce8503d63c5222f7f26f9.png)
319+
</Frame>
299320

300321
---
301322

en/develop-plugin/dev-guides-and-walkthroughs/endpoint.mdx

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,15 @@ This document uses the [Neko Cat](/en/develop-plugin/dev-guides-and-walkthroughs
2222

2323
An `Endpoint` group is a collection of multiple `Endpoints`. When creating a new `Endpoint` within a Dify plugin, you might need to fill in the following configuration.
2424

25-
![](https://assets-docs.dify.ai/2024/11/763dbf86e4319591415dc5a1b6948ccb.png)
25+
<Frame>
26+
![](https://assets-docs.dify.ai/2024/11/763dbf86e4319591415dc5a1b6948ccb.png)
27+
</Frame>
2628

2729
Besides the `Endpoint Name`, you can add new form items by writing the group's configuration information. After clicking save, you can see the multiple interfaces it contains, which will use the same configuration information.
2830

29-
![](https://assets-docs.dify.ai/2024/11/b778b7093b7df0dc80a476c65ddcbe58.png)
31+
<Frame>
32+
![Besides the Endpoint Name, You Can Add New Form Items by Writing the Group's](https://assets-docs.dify.ai/2024/11/b778b7093b7df0dc80a476c65ddcbe58.png)
33+
</Frame>
3034

3135
#### **Structure**
3236

en/develop-plugin/dev-guides-and-walkthroughs/tool-oauth.mdx

Lines changed: 13 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
title: "Add OAuth Support to Your Tool Plugin"
33
---
44

5-
![b0e673ba3e339b31ac36dc3cd004df04787bcaa64bb6d2cac6feb7152b7b515f.png](/images/b0e673ba3e339b31ac36dc3cd004df04787bcaa64bb6d2cac6feb7152b7b515f.png)
5+
<Frame>
6+
![OAuth Authorize Example](/images/develop-plugin/dev-guide/oauth-authorize-example.png)
7+
</Frame>
68

79
This guide teaches you how to build [OAuth](https://oauth.net/2/) support into your tool plugin.
810

@@ -45,24 +47,17 @@ As an example, here are the steps to setting up an OAuth client for Dify's Gmail
4547
<Accordion title="Enter Credentials in Dify">
4648
Enter the client_id and client_secret on the OAuth Client configuration popup to set up the tool provider as a client.
4749

48-
<img
49-
src="/images/acd5f5057235c3a0c554abaedcf276fb48f80567f0231eae9158a795f8e1c45d.png"
50-
alt="acd5f5057235c3a0c554abaedcf276fb48f80567f0231eae9158a795f8e1c45d.png"
51-
title="acd5f5057235c3a0c554abaedcf276fb48f80567f0231eae9158a795f8e1c45d.png"
52-
className="mx-auto"
53-
style={{ width:"66%" }}
54-
/>
50+
<Frame>
51+
![OAuth Client Settings Dialog](/images/develop-plugin/dev-guide/oauth-client-settings-dialog.png)
52+
</Frame>
53+
5554
</Accordion>
5655
<Accordion title="Authorize Redirect URI">
5756
Register the redirect URI generated by Dify on the Google OAuth Client's page:
5857

59-
<img
60-
src="/images/dfe60a714a275c5bf65f814673bd2f0a0db4fda27573a2f0b28a1c39e4c61da2.png"
61-
alt="dfe60a714a275c5bf65f814673bd2f0a0db4fda27573a2f0b28a1c39e4c61da2.png"
62-
title="dfe60a714a275c5bf65f814673bd2f0a0db4fda27573a2f0b28a1c39e4c61da2.png"
63-
className="mx-auto"
64-
style={{ width:"77%" }}
65-
/>
58+
<Frame>
59+
![OAuth Google Redirect URI](/images/develop-plugin/dev-guide/oauth-google-redirect-uri.png)
60+
</Frame>
6661

6762
<Info>
6863
Dify displays the `redirect_uri` in the OAuth Client configuration popup. It usually follows the format:
@@ -84,13 +79,9 @@ As an example, here are the steps to setting up an OAuth client for Dify's Gmail
8479

8580
After configuring OAuth clients, individual Dify users can now authorize your plugin to access their personal accounts.
8681

87-
<img
88-
src="/images/833c205f5441910763b27d3e3ff0c4449a730a690da91abc3ce032c70da04223.png"
89-
alt="833c205f5441910763b27d3e3ff0c4449a730a690da91abc3ce032c70da04223.png"
90-
title="833c205f5441910763b27d3e3ff0c4449a730a690da91abc3ce032c70da04223.png"
91-
className="mx-auto"
92-
style={{ width:"67%" }}
93-
/>
82+
<Frame>
83+
![OAuth User Authorization](/images/develop-plugin/dev-guide/oauth-user-authorization.png)
84+
</Frame>
9485

9586
## Implementation
9687

en/develop-plugin/dev-guides-and-walkthroughs/tool-plugin.mdx

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ description: This document provides detailed instructions on how to develop tool
1616

1717
Tools refer to third-party services that can be called by Chatflow / Workflow / Agent-type applications, providing complete API implementation capabilities to enhance Dify applications. For example, adding extra features like online search, image generation, and more.
1818

19-
![Tool Plugin Example](https://assets-docs.dify.ai/2024/12/7e7bcf1f9e3acf72c6917ea9de4e4613.png)
19+
<Frame>
20+
![Tool Plugin Example](https://assets-docs.dify.ai/2024/12/7e7bcf1f9e3acf72c6917ea9de4e4613.png)
21+
</Frame>
2022

2123
In this article, **"Tool Plugin"** refers to a complete project that includes tool provider files, functional code, and other structures. A tool provider can include multiple Tools (which can be understood as additional features provided within a single tool), structured as follows:
2224

@@ -26,7 +28,9 @@ In this article, **"Tool Plugin"** refers to a complete project that includes to
2628
- Tool B
2729
```
2830

29-
![Tool Plugin Structure](https://assets-docs.dify.ai/2025/02/60c4c86a317d865133aa460592eac079.png)
31+
<Frame>
32+
![Tool Plugin Structure](https://assets-docs.dify.ai/2025/02/60c4c86a317d865133aa460592eac079.png)
33+
</Frame>
3034

3135
This article will use `Google Search` as an example to demonstrate how to quickly develop a tool plugin.
3236

@@ -59,7 +63,9 @@ All templates in the scaffolding tool provide complete code projects. In this ex
5963

6064
> If you are already familiar with plugin development and do not need to rely on templates, you can refer to the [General Specifications](/en/develop-plugin/features-and-specs/plugin-types/general-specifications) guide to complete the development of different types of plugins.
6165
62-
![Plugin Type: Tool](https://assets-docs.dify.ai/2024/12/dd3c0f9a66454e15868eabced7b74fd6.png)
66+
<Frame>
67+
![Plugin Type: Tool](https://assets-docs.dify.ai/2024/12/dd3c0f9a66454e15868eabced7b74fd6.png)
68+
</Frame>
6369

6470
#### Configuring Plugin Permissions
6571

@@ -74,7 +80,9 @@ The plugin also needs permissions to read from the Dify platform. Grant the foll
7480
7581
After checking all permission items, press Enter to complete the plugin creation. The system will automatically generate the plugin project code.
7682

77-
![Plugin Permissions](https://assets-docs.dify.ai/2024/12/9cf92c2e74dce55e6e9e331d031e5a9f.png)
83+
<Frame>
84+
![Plugin Permissions](https://assets-docs.dify.ai/2024/12/9cf92c2e74dce55e6e9e331d031e5a9f.png)
85+
</Frame>
7886

7987
### Developing the Tool Plugin
8088

@@ -321,7 +329,9 @@ After completing plugin development, you need to test whether the plugin can fun
321329

322330
Go to the ["Plugin Management"](https://cloud.dify.ai/plugins) page to obtain the remote server address and debugging Key.
323331

324-
![Remote Debug Key](https://assets-docs.dify.ai/2024/12/053415ef127f1f4d6dd85dd3ae79626a.png)
332+
<Frame>
333+
![Remote Debug Key](https://assets-docs.dify.ai/2024/12/053415ef127f1f4d6dd85dd3ae79626a.png)
334+
</Frame>
325335

326336
Return to the plugin project, copy the `.env.example` file and rename it to `.env`, then fill in the remote server address and debugging Key information you obtained.
327337

@@ -335,7 +345,9 @@ REMOTE_INSTALL_KEY=********-****-****-****-************
335345

336346
Run the `python -m main` command to start the plugin. On the plugins page, you can see that the plugin has been installed in the Workspace, and other members of the team can also access the plugin.
337347

338-
![](https://assets-docs.dify.ai/2024/11/0fe19a8386b1234755395018bc2e0e35.png)
348+
<Frame>
349+
![Run the Python -M Main Command to Start the Plugin](https://assets-docs.dify.ai/2024/11/0fe19a8386b1234755395018bc2e0e35.png)
350+
</Frame>
339351

340352
### Packaging the Plugin (Optional)
341353

0 commit comments

Comments
 (0)