curl --location --request POST 'http://dify.codewave-test.163yun.com/agentportal/api/lcplogics/createPlugin' \
--header 'DomainName: agentportal1' \
--header 'LCAP-FRONTEND: pc' \
--header 'Pragma: no-cache' \
--header 'TimeZone: Asia/Shanghai' \
--header 'lcap-calllogic-uuid: /console/platformsetting/pluginManagement/0' \
--header 'Cookie: wyy_uid=a9a96e6f-ce0e-46f4-857c-8642ac9400f7; hb_MA-8A05-AAB68D6CBB63_source=wangfeng.user.codewave.163.com; Hm_lvt_ad804f36192e3818dbd1ebda60a7e4d4=1744884758,1745228575,1745312954,1747019031; HMACCOUNT=97A619688B4763AF; Hm_lpvt_ad804f36192e3818dbd1ebda60a7e4d4=1747019361; NICE_CSRF=""; coreagent_authorization=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJDb25zb2xlIEFQSSBQYXNzcG9ydCIsInJvbGUiOiJhZG1pbiIsInVzZXJfaWQiOiJkOWJkYjkyOS0yM2M4LTQ1ZTAtOTZkOC0xNjZlZDUwY2VmYTkiLCJ1c2VyX25hbWUiOiJ3Yi53YW5nZmVuZzA3QG1lc2cuY29ycC5uZXRlYXNlLmNvbSIsImlzcyI6IlNFTEZfSE9TVEVEIiwiZXhwIjoxNzQ3Mzc0NTkzfQ.1yDKx_clU84TpLGfCK1wfNtOqlU19pz3k4LXfu4mIsw; aa5ed0c5-e935-4eae-a159-f762cbe9e5ed=8801664344|aCWCz|aCWCv' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{
"name": "Google",
"tags": [
3128729583695104
],
"plugin": {
"pluginId": "langgenius/google",
"category": "tool",
"name": "google",
"author": "langgenius",
"version": "0.0.9",
"label": "{\"en_US\":\"Google\"}",
"brief": "{\"en_US\":\"A tool for performing a Google SERP search and extracting snippets and webpages.Input should be a search query.\",\"zh_Hans\":\"一个用于执行 Google SERP 搜索并提取片段和网页的工具。输入应该是一个搜索查询。\"}",
"introduction": "# Google Search\n\n## Overview\n\nThe Google Search tool is a real-time API that extracts search engine results, providing structured data from Google. It supports various search types, including web, image, news, and maps.\n\n## Configuration\n\n### 1. Apply for an API Key\n\nPlease apply for an API Key on the [SerpApi](https://serpapi.com/dashboard).\n\n\n\n### 2. Get Google tools from Plugin Marketplace\n\nThe Google tools could be found at the Plugin Marketplace, please install it first.\n\n### 3. Fill in the configuration in Dify\n\nOn the Dify navigation page, click `Tools > Google > To authorize` filling in the API Key.\n\n\n\n### 4. Use the tool\n\nYou can use the Google tool in the following application types:\n\n\n\n#### Chatflow / Workflow applications\n\nBoth Chatflow and Workflow applications support adding a Google tool node.\n\n#### Agent applications\n\nAdd the Google tool in the Agent application, then enter online search instructions to call this tool.",
"packageIdentifier": "langgenius/google:0.0.9@078f20e08db9883c5deecde1c9665f00dbc45ae5b4aabcae4f091089e9f6eadf",
"content": "{\"type\":\"plugin\",\"name\":\"google\",\"org\":\"langgenius\",\"plugin_id\":\"langgenius/google\",\"label\":{\"en_US\":\"Google\"},\"brief\":{\"en_US\":\"A tool for performing a Google SERP search and extracting snippets and webpages.Input should be a search query.\",\"zh_Hans\":\"一个用于执行 Google SERP 搜索并提取片段和网页的工具。输入应该是一个搜索查询。\"},\"introduction\":\"# Google Search\\n\\n## Overview\\n\\nThe Google Search tool is a real-time API that extracts search engine results, providing structured data from Google. It supports various search types, including web, image, news, and maps.\\n\\n## Configuration\\n\\n### 1. Apply for an API Key\\n\\nPlease apply for an API Key on the [SerpApi](https://serpapi.com/dashboard).\\n\\n\\n\\n### 2. Get Google tools from Plugin Marketplace\\n\\nThe Google tools could be found at the Plugin Marketplace, please install it first.\\n\\n### 3. Fill in the configuration in Dify\\n\\nOn the Dify navigation page, click `Tools > Google > To authorize` filling in the API Key.\\n\\n\\n\\n### 4. Use the tool\\n\\nYou can use the Google tool in the following application types:\\n\\n\\n\\n#### Chatflow / Workflow applications\\n\\nBoth Chatflow and Workflow applications support adding a Google tool node.\\n\\n#### Agent applications\\n\\nAdd the Google tool in the Agent application, then enter online search instructions to call this tool.\",\"category\":\"tool\",\"repository\":\"\",\"resource\":{\"memory\":1048576,\"permission\":{\"tool\":{\"enabled\":true},\"model\":{\"enabled\":true,\"llm\":true}}},\"privacy_options\":\"\",\"privacy_policy\":\"\",\"badges\":[],\"plugins\":{\"tools\":[\"provider/google.yaml\"]},\"endpoint\":{},\"model\":{},\"tool\":{\"credentials_schema\":[{\"type\":\"secret-input\",\"required\":true,\"label\":{\"en_US\":\"SerpApi API key\",\"zh_Hans\":\"SerpApi API key\",\"pt_BR\":\"SerpApi API key\"},\"placeholder\":{\"en_US\":\"Please input your SerpApi API key\",\"zh_Hans\":\"请输入你的 SerpApi API key\",\"pt_BR\":\"Please input your SerpApi API key\"},\"help\":{\"en_US\":\"Get your SerpApi API key from SerpApi\",\"zh_Hans\":\"从 SerpApi 获取您的 SerpApi API key\",\"pt_BR\":\"Get your SerpApi API key from SerpApi\"},\"url\":\"https://serpapi.com/manage-api-key\"}],\"identity\":{\"author\":\"Dify\",\"name\":\"google\",\"label\":{\"en_US\":\"Google\",\"zh_Hans\":\"Google\",\"pt_BR\":\"Google\"},\"description\":{\"en_US\":\"Google\",\"zh_Hans\":\"GoogleSearch\",\"pt_BR\":\"Google\"},\"icon\":\"icon.svg\",\"tags\":[\"search\"]},\"tools\":[{\"identity\":{\"name\":\"google_search\",\"author\":\"Dify\",\"label\":{\"en_US\":\"GoogleSearch\",\"zh_Hans\":\"谷歌搜索\",\"pt_BR\":\"GoogleSearch\"}},\"description\":{\"human\":{\"en_US\":\"A tool for performing a Google SERP search and extracting snippets and webpages.Input should be a search query.\",\"zh_Hans\":\"一个用于执行 Google SERP 搜索并提取片段和网页的工具。输入应该是一个搜索查询。\",\"pt_BR\":\"A tool for performing a Google SERP search and extracting snippets and webpages.Input should be a search query.\"},\"llm\":\"A tool for performing a Google SERP search and extracting snippets and webpages.Input should be a search query.\"},\"parameters\":[{\"name\":\"query\",\"type\":\"string\",\"required\":true,\"label\":{\"en_US\":\"Query string\",\"zh_Hans\":\"查询语句\",\"pt_BR\":\"Query string\"},\"human_description\":{\"en_US\":\"used for searching\",\"zh_Hans\":\"用于搜索网页内容\",\"pt_BR\":\"used for searching\"},\"llm_description\":\"key words for searching\",\"form\":\"llm\"},{\"name\":\"hl\",\"type\":\"string\",\"required\":false,\"label\":{\"en_US\":\"Language\",\"zh_Hans\":\"语言\",\"pt_BR\":\"Language\"},\"human_description\":{\"en_US\":\"Parameter defines the language to use for the Google search. It'\''s a two-letter language code. (e.g., en for English, es for Spanish, or fr for French). Head to https://serpapi.com/google-languages for a full list of supported Google languages.\",\"zh_Hans\":\"此参数定义用于 Google 搜索的语言。它是一个两字母的语言代码。 (例如,en 代表英语,es 代表西班牙语,fr 代表法语)。请前往 https://serpapi.com/google-languages 查看完整的支持 Google 语言列表。\",\"pt_BR\":\"Parameter defines the language to use for the Google search. It'\''s a two-letter language code. (e.g., en for English, es for Spanish, or fr for French). Head to https://serpapi.com/google-languages for a full list of supported Google languages.\"},\"llm_description\":\"Language\",\"form\":\"llm\"},{\"name\":\"gl\",\"type\":\"string\",\"required\":false,\"label\":{\"en_US\":\"Country\",\"zh_Hans\":\"国家\",\"pt_BR\":\"Country\"},\"human_description\":{\"en_US\":\"Parameter defines the country to use for the Google search. It'\''s a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France). Head to the https://serpapi.com/google-countries for a full list of supported Google countries.\",\"zh_Hans\":\"此参数定义用于 Google 搜索的国家。它是一个两字母的国家代码。 (例如,us 代表美国,uk 代表英国,fr 代表法国)。请前往 https://serpapi.com/google-countries 查看完整的支持 Google 国家列表。\",\"pt_BR\":\"Parameter defines the country to use for the Google search. It'\''s a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France). Head to the https://serpapi.com/google-countries for a full list of supported Google countries.\"},\"llm_description\":\"Country\",\"form\":\"llm\"},{\"name\":\"location\",\"type\":\"string\",\"required\":false,\"label\":{\"en_US\":\"Location\",\"zh_Hans\":\"位置\",\"pt_BR\":\"Location\"},\"human_description\":{\"en_US\":\"Parameter defines from where you want the search to originate. If several locations match the location requested, we'\''ll pick the most popular one. Head to the /locations.json API if you need more precise control. The location and uule parameters can'\''t be used together. It is recommended to specify location at the city level in order to simulate a real user’s search. If location is omitted, the search may take on the location of the proxy.\",\"zh_Hans\":\"此参数定义搜索的位置。如果有多个位置与请求的位置匹配,我们将选择最受欢迎的一个。如果需要更精确的控制,请前往 /locations.json API。location 和 uule 参数不能同时使用。建议在城市级别指定位置,以模拟真实用户的搜索。如果省略位置,则搜索可能会采用代理的位置。\",\"pt_BR\":\"Parameter defines from where you want the search to originate. If several locations match the location requested, we'\''ll pick the most popular one. Head to the /locations.json API if you need more precise control. The location and uule parameters can'\''t be used together. It is recommended to specify location at the city level in order to simulate a real user’s search. If location is omitted, the search may take on the location of the proxy.\"},\"llm_description\":\"Location\",\"form\":\"llm\"}],\"extra\":{\"python\":{\"source\":\"tools/google_search.py\"}}},{\"identity\":{\"name\":\"google_image_search\",\"author\":\"Ryan Low\",\"label\":{\"en_US\":\"Google Image Search\",\"zh_Hans\":\"谷歌图片搜索\",\"pt_BR\":\"Google Image Search\"}},\"description\":{\"human\":{\"en_US\":\"A tool for performing a Google image search and extracting images. Input should be a search query.\",\"zh_Hans\":\"一个用于执行 Google 图片搜索并提取图片的工具。输入应该是一个搜索查询。\",\"pt_BR\":\"A tool for performing a Google image search and extracting images. Input should be a search query.\"},\"llm\":\"A tool for performing a Google image search and extracting images. Input should be a search query.\"},\"parameters\":[{\"name\":\"query\",\"type\":\"string\",\"required\":true,\"label\":{\"en_US\":\"Query string\",\"zh_Hans\":\"查询语句\",\"pt_BR\":\"Query string\"},\"human_description\":{\"en_US\":\"used for searching\",\"zh_Hans\":\"用于搜索网页内容\",\"pt_BR\":\"used for searching\"},\"llm_description\":\"key words for searching\",\"form\":\"llm\"},{\"name\":\"hl\",\"type\":\"string\",\"required\":false,\"label\":{\"en_US\":\"Language\",\"zh_Hans\":\"语言\",\"pt_BR\":\"Language\"},\"human_description\":{\"en_US\":\"Parameter defines the language to use for the Google search. It'\''s a two-letter language code. (e.g., en for English, es for Spanish, or fr for French). Head to https://serpapi.com/google-languages for a full list of supported Google languages.\",\"zh_Hans\":\"此参数定义用于 Google 搜索的语言。它是一个两字母的语言代码。 (例如,en 代表英语,es 代表西班牙语,fr 代表法语)。请前往 https://serpapi.com/google-languages 查看完整的支持 Google 语言列表。\",\"pt_BR\":\"Parameter defines the language to use for the Google search. It'\''s a two-letter language code. (e.g., en for English, es for Spanish, or fr for French). Head to https://serpapi.com/google-languages for a full list of supported Google languages.\"},\"llm_description\":\"Language\",\"form\":\"llm\"},{\"name\":\"gl\",\"type\":\"string\",\"required\":false,\"label\":{\"en_US\":\"Country\",\"zh_Hans\":\"国家\",\"pt_BR\":\"Country\"},\"human_description\":{\"en_US\":\"Parameter defines the country to use for the Google search. It'\''s a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France). Head to the https://serpapi.com/google-countries for a full list of supported Google countries.\",\"zh_Hans\":\"此参数定义用于 Google 搜索的国家。它是一个两字母的国家代码。 (例如,us 代表美国,uk 代表英国,fr 代表法国)。请前往 https://serpapi.com/google-countries 查看完整的支持 Google 国家列表。\",\"pt_BR\":\"Parameter defines the country to use for the Google search. It'\''s a two-letter country code. (e.g., us for the United States, uk for United Kingdom, or fr for France). Head to the https://serpapi.com/google-countries for a full list of supported Google countries.\"},\"llm_description\":\"Country\",\"form\":\"llm\"},{\"name\":\"location\",\"type\":\"string\",\"required\":false,\"label\":{\"en_US\":\"Location\",\"zh_Hans\":\"位置\",\"pt_BR\":\"Location\"},\"human_description\":{\"en_US\":\"Parameter defines from where you want the search to originate. If several locations match the location requested, we'\''ll pick the most popular one. Head to the /locations.json API if you need more precise control. The location and uule parameters can'\''t be used together. It is recommended to specify location at the city level in order to simulate a real user’s search. If location is omitted, the search may take on the location of the proxy.\",\"zh_Hans\":\"此参数定义搜索的位置。如果有多个位置与请求的位置匹配,我们将选择最受欢迎的一个。如果需要更精确的控制,请前往 /locations.json API。location 和 uule 参数不能同时使用。建议在城市级别指定位置,以模拟真实用户的搜索。如果省略位置,则搜索可能会采用代理的位置。\",\"pt_BR\":\"Parameter defines from where you want the search to originate. If several locations match the location requested, we'\''ll pick the most popular one. Head to the /locations.json API if you need more precise control. The location and uule parameters can'\''t be used together. It is recommended to specify location at the city level in order to simulate a real user’s search. If location is omitted, the search may take on the location of the proxy.\"},\"llm_description\":\"Location\",\"form\":\"llm\"},{\"name\":\"max_results\",\"type\":\"number\",\"required\":true,\"default\":3,\"label\":{\"en_US\":\"Max results\",\"zh_Hans\":\"最大结果数量\"},\"human_description\":{\"en_US\":\"The max results.\",\"zh_Hans\":\"最大结果数量\"},\"form\":\"form\"},{\"name\":\"imgsz\",\"type\":\"select\",\"required\":false,\"default\":\"m\",\"llm_description\":\"Parameter defines the size of images.\",\"human_description\":{\"en_US\":\"Parameter defines the size of images.\",\"zh_Hans\":\"设置图片尺寸\"},\"form\":\"form\",\"label\":{\"en_US\":\"Parameter defines the size of images.\",\"zh_Hans\":\"Parameter defines the size of images.\",\"pt_BR\":\"Parameter defines the size of images.\"},\"options\":[{\"value\":\"l\",\"label\":{\"en_US\":\"Large\",\"zh_Hans\":\"Large\",\"pt_BR\":\"Large\"}},{\"value\":\"m\",\"label\":{\"en_US\":\"Medium\",\"zh_Hans\":\"Medium\",\"pt_BR\":\"Medium\"}},{\"value\":\"i\",\"label\":{\"en_US\":\"Icon\",\"zh_Hans\":\"Icon\",\"pt_BR\":\"Icon\"}},{\"value\":\"vga\",\"label\":{\"en_US\":\"Larger than 640x480\",\"zh_Hans\":\"Larger than 640x480\",\"pt_BR\":\"Larger than 640x480\"}},{\"value\":\"svga\",\"label\":{\"en_US\":\"Larger than 800x600\",\"zh_Hans\":\"Larger than 800x600\",\"pt_BR\":\"Larger than 800x600\"}},{\"value\":\"xga\",\"label\":{\"en_US\":\"Larger than 1024x768\",\"zh_Hans\":\"Larger than 1024x768\",\"pt_BR\":\"Larger than 1024x768\"}},{\"value\":\"2mp\",\"label\":{\"en_US\":\"Larger than 2 MP\",\"zh_Hans\":\"Larger than 2 MP\",\"pt_BR\":\"Larger than 2 MP\"}},{\"value\":\"4mp\",\"label\":{\"en_US\":\"Larger than 4 MP\",\"zh_Hans\":\"Larger than 4 MP\",\"pt_BR\":\"Larger than 4 MP\"}},{\"value\":\"6mp\",\"label\":{\"en_US\":\"Larger than 6 MP\",\"zh_Hans\":\"Larger than 6 MP\",\"pt_BR\":\"Larger than 6 MP\"}},{\"value\":\"8mp\",\"label\":{\"en_US\":\"Larger than 8 MP\",\"zh_Hans\":\"Larger than 8 MP\",\"pt_BR\":\"Larger than 8 MP\"}},{\"value\":\"10mp\",\"label\":{\"en_US\":\"Larger than 10 MP\",\"zh_Hans\":\"Larger than 10 MP\",\"pt_BR\":\"Larger than 10 MP\"}},{\"value\":\"12mp\",\"label\":{\"en_US\":\"Larger than 12 MP\",\"zh_Hans\":\"Larger than 12 MP\",\"pt_BR\":\"Larger than 12 MP\"}},{\"value\":\"15mp\",\"label\":{\"en_US\":\"Larger than 15 MP\",\"zh_Hans\":\"Larger than 15 MP\",\"pt_BR\":\"Larger than 15 MP\"}},{\"value\":\"20mp\",\"label\":{\"en_US\":\"Larger than 20 MP\",\"zh_Hans\":\"Larger than 20 MP\",\"pt_BR\":\"Larger than 20 MP\"}},{\"value\":\"40mp\",\"label\":{\"en_US\":\"Larger than 40 MP\",\"zh_Hans\":\"Larger than 40 MP\",\"pt_BR\":\"Larger than 40 MP\"}},{\"value\":\"70mp\",\"label\":{\"en_US\":\"Larger than 70 MP\",\"zh_Hans\":\"Larger than 70 MP\",\"pt_BR\":\"Larger than 70 MP\"}}]}],\"extra\":{\"python\":{\"source\":\"tools/google_image_search.py\"}}}]},\"agent_strategy\":{}}",
"icon": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNSIgdmlld0JveD0iMCAwIDI0IDI1IiBmaWxsPSJub25lIj4KICA8cGF0aCBkPSJNMjIuNTAxIDEyLjczMzJDMjIuNTAxIDExLjg2OTkgMjIuNDI5NiAxMS4yMzk5IDIyLjI3NDggMTAuNTg2NUgxMi4yMTUzVjE0LjQ4MzJIMTguMTJDMTguMDAxIDE1LjQ1MTUgMTcuMzU4MiAxNi45MDk5IDE1LjkyOTYgMTcuODg5OEwxNS45MDk2IDE4LjAyMDNMMTkuMDkwMiAyMC40MzVMMTkuMzEwNiAyMC40NTY1QzIxLjMzNDMgMTguNjI0OSAyMi41MDEgMTUuOTI5OCAyMi41MDEgMTIuNzMzMloiIGZpbGw9IiM0Mjg1RjQiLz4KICA8cGF0aCBkPSJNMTIuMjE0IDIzQzE1LjEwNjggMjMgMTcuNTM1MyAyMi4wNjY2IDE5LjMwOTIgMjAuNDU2N0wxNS45MjgyIDE3Ljg4OTlDMTUuMDIzNSAxOC41MDgzIDEzLjgwOTIgMTguOTM5OSAxMi4yMTQgMTguOTM5OUM5LjM4MDY5IDE4LjkzOTkgNi45NzU5NiAxNy4xMDgzIDYuMTE4NzQgMTQuNTc2Nkw1Ljk5MzA5IDE0LjU4NzFMMi42ODU4MyAxNy4wOTU0TDIuNjQyNTggMTcuMjEzMkM0LjQwNDQ2IDIwLjY0MzMgOC4wMjM1IDIzIDEyLjIxNCAyM1oiIGZpbGw9IiMzNEE4NTMiLz4KICA8cGF0aCBkPSJNNi4xMjA0NiAxNC41NzY2QzUuODk0MjggMTMuOTIzMyA1Ljc2MzM3IDEzLjIyMzMgNS43NjMzNyAxMi41QzUuNzYzMzcgMTEuNzc2NiA1Ljg5NDI4IDExLjA3NjYgNi4xMDg1NiAxMC40MjMzTDYuMTAyNTcgMTAuMjg0MUwyLjc1Mzg2IDcuNzM1NUwyLjY0NDI5IDcuNzg2NThDMS45MTgxNCA5LjIwOTkzIDEuNTAxNDYgMTAuODA4MyAxLjUwMTQ2IDEyLjVDMS41MDE0NiAxNC4xOTE2IDEuOTE4MTQgMTUuNzg5OSAyLjY0NDI5IDE3LjIxMzJMNi4xMjA0NiAxNC41NzY2WiIgZmlsbD0iI0ZCQkMwNSIvPgogIDxwYXRoIGQ9Ik0xMi4yMTQxIDYuMDU5OTdDMTQuMjI1OSA2LjA1OTk3IDE1LjU4MyA2LjkxMTYzIDE2LjM1NjkgNy42MjMzNUwxOS4zODA3IDQuNzNDMTcuNTIzNiAzLjAzODM0IDE1LjEwNjkgMiAxMi4yMTQxIDJDOC4wMjM1MyAyIDQuNDA0NDcgNC4zNTY2NSAyLjY0MjU4IDcuNzg2NjJMNi4xMDY4NiAxMC40MjMzQzYuOTc1OTggNy44OTE2NiA5LjM4MDczIDYuMDU5OTcgMTIuMjE0MSA2LjA1OTk3WiIgZmlsbD0iI0VCNDMzNSIvPgo8L3N2Zz4="
},
"fileUrl": "https://marketplace.dify.ai/api/v1/plugins/langgenius/google/0.0.9/download"
}'