2026-01-22 - 2026-07-22
Overview
7 Releases published by 1 user
Published
v0.10.0
Published
v0.9.1
Published
v0.9.0
Published
v0.8.0
Published
v0.7.4
Published
v0.7.3
Published
v0.7.2
228 Issues closed from 1 user
Closed
#285 [PR #285] [MERGED] feat: sync get_text_content from dify-api
Closed
#279 [PR #275] [MERGED] Make validate_credentials max_tokens configurable (preserve stream default 10)
Closed
#276 [PR #272] [MERGED] chore: bump version to 0.7.1
Closed
#277 [PR #273] [CLOSED] fix(#92): Add support for env HTTP_REQUEST_SSL_VERIFY
Closed
#278 [PR #274] [CLOSED] Make validate_credentials max_tokens configurable and bump SDK version
Closed
#269 [PR #262] [MERGED] chore (README.md): add multimodal embeddings / reranking support
Closed
#270 [PR #263] [MERGED] Revert "fix: increase max_tokens from 5 to 16 for some specific model…
Closed
#271 [PR #267] [MERGED] enh: The addition of the think closure tag supports multi-turn thin…
Closed
#266 [PR #259] [MERGED] rm LogMetadata
Closed
#264 [PR #255] [MERGED] fix: bump werkzeug to 3.1.4 for CVE-2025-66221
Closed
#259 [PR #249] [CLOSED] Update profile readme with social links and description
Closed
#260 [PR #251] [CLOSED] Enhance profile with social link and game player description
Closed
#261 [PR #250] [CLOSED] Update profile with social link and description
Closed
#262 [PR #252] [MERGED] fix: miss max_single_connection_lifetime
Closed
#254 [PR #244] [MERGED] bump to 0.6.2
Closed
#255 [PR #245] [MERGED] fix: update request timeout to use environment configuration
Closed
#256 [PR #246] [CLOSED] Update github plugin version to next
Closed
#257 [PR #247] [CLOSED] Update dify-plugin-sdks github plugin version
Closed
#258 [PR #248] [CLOSED] Upgrade sdk version
Closed
#250 [PR #239] [MERGED] fix: sync max-invocation-timeout to http-based backwards invocation
Closed
#251 [PR #240] [MERGED] bump to 0.6.1
Closed
#252 [PR #243] [MERGED] fix: update request timeout to use configurable MAX_REQUEST_TIMEOUT
Closed
#248 [PR #237] [MERGED] feat: support multimodal embeddings
Closed
#249 [PR #238] [MERGED] docs: update README to include support for Trigger functionality
Closed
#244 [PR #233] [MERGED] fix(gmail_trigger): correct types, ensure int, correct permission, and bump sdk
Closed
#246 [PR #235] [MERGED] feat: Configurable Ping Max Tokens
Closed
#247 [PR #236] [MERGED] fix: add more test cases for model factory
Closed
#240 [PR #229] [CLOSED] feat: Add LLM reasoning option for OpenAI compatible
Closed
#241 [PR #230] [CLOSED] feat: Add LLM reasoning option for OpenAI compatible
Closed
#242 [PR #231] [CLOSED] feat: Add LLM reasoning option for OpenAI compatible
Closed
#243 [PR #232] [CLOSED] Pcw OpenAI compatible
Closed
#236 [PR #223] [MERGED] refactor: update model provider to use ModelFactory for instance mana…
Closed
#237 [PR #224] [MERGED] chore: bump to 0.5.1
Closed
#234 [PR #220] [MERGED] Codex/implement slack trigger in main.py
Closed
#229 [PR #215] [MERGED] refactor: de-duplicate lark event dispatcher setup
Closed
#230 [PR #216] [MERGED] refactor: tighten typing for lark dispatch helper
Closed
#231 [PR #218] [MERGED] Add Gmail trigger example plugin with automated subscription
Closed
#232 [PR #217] [MERGED] Expand Slack trigger to full Events API catalog
Closed
#233 [PR #219] [MERGED] plugin example: telegram
Closed
#224 [PR #210] [MERGED] feat: add datasource plugin examples
Closed
#225 [PR #212] [MERGED] Add comments and unit tests for trigger factory
Closed
#221 [PR #208] [MERGED] feat: add max_invocation_timeout parameter
Closed
#222 [PR #209] [MERGED] fix: use dict.get() to avoid KeyError when transforming llm response
Closed
#219 [PR #204] [MERGED] bump to 0.4.5
Closed
#220 [PR #207] [MERGED] feat: support invoke tool with app_id
Closed
#214 [PR #198] [MERGED] Update README.md
Closed
#215 [PR #199] [MERGED] Bump pyproject.toml to 0.4.4
Closed
#216 [PR #200] [MERGED] feat: add rag tag
Closed
#217 [PR #201] [MERGED] fix: resolve 100% CPU usage in stdio buffer by replacing O(n²) Byte concatenation with BytesIO
Closed
#218 [PR #202] [MERGED] feat(python): relaxing version verification
Closed
#209 [PR #186] [MERGED] fix: type for ProviderConfig.default
Closed
#210 [PR #189] [MERGED] fix: corrected latency accuracy
Closed
#211 [PR #192] [MERGED] feat: add developer message
Closed
#212 [PR #195] [MERGED] i18n: Japanese language support
Closed
#213 [PR #197] [MERGED] feat: add filename support to multi-modal prompt messages
Closed
#208 [PR #184] [CLOSED] refactor: Replaced 'dify' with 'shai' in package name, imports, and r…
Closed
#204 [PR #178] [MERGED] Bump to 0.4.1
Closed
#205 [PR #179] [MERGED] feat[0.4.2]: Tool OAuth
Closed
#206 [PR #182] [MERGED] fix(tool): temporarily alias LogMetadata to CommonLogMetadata to prevent import errors before version 0.5.0
Closed
#207 [PR #183] [MERGED] chore: bump to 0.4.3
Closed
#199 [PR #173] [MERGED] feat: dark icon
Closed
#200 [PR #169] [CLOSED] Docs/bump up sdk ver guide
Closed
#201 [PR #172] [MERGED] Update README.md
Closed
#202 [PR #174] [MERGED] docs/bump up sdk ver guide
Closed
#203 [PR #177] [MERGED] chore: add meta version 0.0.2 description
Closed
#194 [PR #163] [MERGED] feat[0.4.0]: add dynamic select support
Closed
#195 [PR #164] [MERGED] docs: update README.md with manifest versioning details and enhance s…
Closed
#196 [PR #166] [MERGED] feat[0.4.0]: add LLMStructuredOutput and LLMStructuredOutputInvocation for s…
Closed
#197 [PR #167] [MERGED] Bump to 0.4.0
Closed
#198 [PR #168] [MERGED] Refactor: standardize string quotes for model name retrieval in OpenAI compatible interfaces
Closed
#193 [PR #162] [MERGED] feat: add trigger functionality
Closed
#189 [PR #159] [MERGED] fix: handle mcp array and object type
Closed
#190 [PR #157] [MERGED] [0.4.0] dep: bump gevent to 25.5.1
Closed
#191 [PR #160] [MERGED] fix: update array parameter tool error
Closed
#192 [PR #161] [MERGED] fix[0.4.0]: add response body to CredentialsValidateFailedError exceptions to aid in error diagnosis, especially useful for locally provided models
Closed
#184 [PR #151] [MERGED] bump to 0.3.1
Closed
#185 [PR #150] [MERGED] feat: enhance PluginRunner to build plugins from source directories
Closed
#186 [PR #152] [MERGED] feat: add mcp tool type
Closed
#187 [PR #153] [MERGED] feat: agent plugin handle object and array type
Closed
#188 [PR #154] [MERGED] chore: update version constraint for dify_plugin to 0.3.0,<0.4.0 in R…
Closed
#180 [PR #144] [MERGED] feat[0.3.0]: add plugin runner functionality
Closed
#181 [PR #145] [CLOSED] feat:add param instruction for tts interface
Closed
#182 [PR #146] [MERGED] chore: bump to 0.3.0
Closed
#183 [PR #149] [MERGED] feat[0.5.0]: datasource
Closed
#178 [PR #141] [MERGED] fix REMOTE_INSTALL_URL, need default value
Closed
#179 [PR #143] [MERGED] Bump to 0.2.4
Closed
#175 [PR #137] [MERGED] dep[0.2.3]: update httpx to 0.28.x reducing JSON payload length in transporation
Closed
#176 [PR #139] [MERGED] chore: bump sdk to 0.2.3
Closed
#177 [PR #142] [MERGED] fix: update DifyPluginEnv to set default for REMOTE_INSTALL_URL
Closed
#169 [PR #133] [MERGED] chore: add unit test for AgentStrategy constructor
Closed
#170 [PR #132] [MERGED] chore: mark constructors as final in multiple classes
Closed
#171 [PR #134] [MERGED] feat: add repository URL field to manifest
Closed
#172 [PR #135] [MERGED] chore[0.4.0]: update dependencies and remove pydub from main requirements
Closed
#173 [PR #136] [MERGED] feat: support REMOTE_INSTALL_URL config for remote installing and debugging
Closed
#164 [PR #125] [MERGED] fix: In debug mode, thread locks block responses and heartbeats, causing TCP to reconnect.
Closed
#165 [PR #126] [MERGED] chore: update GitHub Actions permissions in mkdocs workflow
Closed
#166 [PR #128] [MERGED] fix: improve buffer handling for multimodal input
Closed
#167 [PR #130] [MERGED] feat(endpoint): support declare endpoints in groups
Closed
#168 [PR #131] [MERGED] Bump to 0.2.2
Closed
#162 [PR #123] [CLOSED] feat: Support Citations and Attributions by context feature
Closed
#163 [PR #124] [MERGED] fix(File): enhance error handling for unsupported URL protocols in fi…
Closed
#159 [PR #119] [MERGED] feat(http_parser): add functions to parse raw HTTP requests and conve…
Closed
#160 [PR #121] [MERGED] feat: generate docs automatically
Closed
#161 [PR #122] [MERGED] feat: support list in JsonMessage
Closed
#154 [PR #112] [MERGED] chore: bump version to 0.2.1
Closed
#155 [PR #114] [MERGED] fix: update storage field to be optional in PluginResourceRequirement…
Closed
#156 [PR #115] [MERGED] agent node add runtime(user_id)
Closed
#157 [PR #116] [MERGED] feat[0.4.0](oauth): implement OAuth authorization URL and credentials retrieval
Closed
#158 [PR #118] [MERGED] Update README.md to new version
Closed
#149 [PR #106] [MERGED] fix: debug runtime & local runtime cannot get app_id
Closed
#150 [PR #107] [MERGED] feat: Add Citations and Attributions to Agent Node
Closed
#151 [PR #109] [MERGED] Fix function call error in qwen-xxx
Closed
#152 [PR #110] [MERGED] chore: bump version to 0.2.0
Closed
#153 [PR #111] [MERGED] fix: update minimum_dify_version to be optional in PluginConfiguration
Closed
#145 [PR #101] [MERGED] chore(workflow): update pull request trigger to only activate on pushes to main
Closed
#146 [PR #102] [CLOSED] chore: Limit CI pipeline to trigger only on main branch pushes
Closed
#147 [PR #103] [MERGED] optimize: replace json.loads with TypeAdapter for JSON unmarshaling
Closed
#148 [PR #104] [MERGED] fix: incorrectly uses new_tool_call.function.name while getting existing tool calls
Closed
#143 [PR #99] [MERGED] feat: agent strategy parameter add help field
Closed
#144 [PR #100] [MERGED] feat(invocation): add FetchAppInvocation and update type hints for improved clarity
Closed
#139 [PR #93] [MERGED] feat: add minimum_dify_version field to PluginConfiguration for version validation
Closed
#140 [PR #96] [MERGED] fix(agent_node): support tool parameters of select type
Closed
#141 [PR #95] [CLOSED] feat(openai_compatible): Add structured output support
Closed
#142 [PR #97] [MERGED] feat(model): add structured output feature to model
Closed
#134 [PR #88] [MERGED] enhancement: remove prompt_messages from LLMResult and LLMResultChunk
Closed
#136 [PR #89] [MERGED] add self.session.storage.exist
Closed
#137 [PR #91] [CLOSED] fix(openai_compatible): set stream-tool-call's default value to not_support
Closed
#138 [PR #90] [MERGED] feat(python): Add specific error classes for StorageInvocation
Closed
#129 [PR #82] [MERGED] Fix: handle explicit None values in ToolCall responses from OpenAI-compatible LLMs
Closed
#130 [PR #83] [CLOSED] feat: Adapt to the Gemini 2.5 model
Closed
#131 [PR #84] [CLOSED] feat: adapt maxtokens parameter for Gemini 2.5 models.
Closed
#132 [PR #85] [CLOSED] fix: invalid new tool call creation logic during streaming response handling in OAI-Compat model.
Closed
#133 [PR #86] [MERGED] fix: improve gevent socket connection handling, avoid blocking except…
Closed
#127 [PR #80] [MERGED] chore: update pydantic-settings version to >=2.5.0
Closed
#128 [PR #81] [MERGED] Fix: Convert shared class variables to instance variables to solve lock contention and CPU issues
Closed
#124 [PR #74] [CLOSED] Fix: handle the situation which OpenAI compatible LLM responses error messages
Closed
#125 [PR #75] [MERGED] socket recv cache up to 1M
Closed
#126 [PR #78] [MERGED] feat: add supports for provider to register array[tool] type field
Closed
#119 [PR #69] [MERGED] feat(python): Enable pycodestyle (W) warning ruleset with ruff
Closed
#120 [PR #70] [MERGED] feat(python): Enable Ruff ruleset (RUF), disable preview mode
Closed
#121 [PR #71] [MERGED] chore:sync openai_compatible/llm.py from 0.15.3
Closed
#122 [PR #72] [MERGED] ci(python): Add CI Pipeline for Python SDK
Closed
#123 [PR #73] [MERGED] fix(entities/model/message): prompt message cannot validate when pass multi type contents
Closed
#114 [PR #63] [MERGED] feat: add history message feature
Closed
#115 [PR #65] [MERGED] feat(python): upgrade ruff to v0.11.2, integrate flake8-bandit ruleset for security linting
Closed
#116 [PR #66] [MERGED] feat(python): Integrate flake8-builtins (A) ruleset with ruff
Closed
#117 [PR #67] [MERGED] feat(python): Introduct flake8-debugger (T10) ruleset with ruff
Closed
#118 [PR #68] [MERGED] feat(python): Enforce FBT003 rule in ruff for boolean arguments
Closed
#111 [PR #57] [MERGED] fix: bypass _code_block_mode_wrapper if response_format is not JSON or XML
Closed
#112 [PR #60] [MERGED] chore: update dependency constraint for yarl
Closed
#113 [PR #62] [MERGED] Fix/file upload
Closed
#109 [PR #53] [MERGED] feat: agent node add memory
Closed
#110 [PR #54] [MERGED] fix:Let OAICompatLargeLanguageModel compatible with the "data:" format for streaming response messages
Closed
#104 [PR #47] [MERGED] fix:add function to validate only stream mode model credentials
Closed
#105 [PR #49] [MERGED] fix: Update prompt message content types to use Literal and add union type for content
Closed
#106 [PR #50] [CLOSED] fix: add 'include_usage' option in stream mode for OAICompat LLMs
Closed
#107 [PR #51] [CLOSED] feat: parameterize the default tokenizer to obtain the number of tokens
Closed
#108 [PR #52] [CLOSED] feat: add 'encouraged_response_prefix' parameter for LLM
Closed
#99 [PR #40] [MERGED] feat: add llm blocking invoke
Closed
#100 [PR #42] [MERGED] fix: cannot init prompt message
Closed
#101 [PR #44] [CLOSED] fix:Let OAICompatLargeLanguageModel compatible with the "data:" format for streaming response messages
Closed
#102 [PR #43] [CLOSED] Fix: replace param max_tokens to max_completetion_tokens
Closed
#103 [PR #45] [MERGED] Fix the error in running the agent plugin
Closed
#96 [PR #36] [CLOSED] Fix/file upload
Closed
#97 [PR #37] [MERGED] Fix/file upload
Closed
#98 [PR #38] [MERGED] feat: Add connection lifetime timeout for serverless request reader
Closed
#94 [PR #33] [MERGED] migrate the <think> tag
Closed
#95 [PR #35] [CLOSED] Added user to backyard invoke
Closed
#89 [PR #21] [MERGED] feat: add r1 model thinking tag
Closed
#90 [PR #22] [MERGED] Revert "Merge pull request #21 from langgenius/feat/add-r1-reasoning"
Closed
#91 [PR #24] [MERGED] add endpoint model name in credentials for openai compatible interface
Closed
#92 [PR #27] [CLOSED] fix model _position.yaml not work
Closed
#93 [PR #29] [CLOSED] fix: do not use code block mode wrapper if response_format is json_sc…
Closed
#84 [PR #14] [MERGED] label display error when use_template
Closed
#85 [PR #13] [MERGED] sync MultiModalPromptMessageContent
Closed
#86 [PR #15] [MERGED] fix invoke llm raise error
Closed
#87 [PR #19] [MERGED] feat: support workflow tools
Closed
#88 [PR #20] [MERGED] feat: add metadata to log
Closed
#80 [PR #8] [MERGED] feat: add agent node log
Closed
#81 [PR #7] [MERGED] feat: add agent strategy support
Closed
#82 [PR #10] [MERGED] fix: UploadFileResponse to support optional type initialization from mime_type
Closed
#83 [PR #11] [MERGED] fix ParameterType.TEXT is not supported
Closed
#79 [PR #6] [CLOSED] chore: storage get non-existent key will not raise error
Closed
#74 [PR #1] [MERGED] feat: Introduce PDM
Closed
#75 [PR #3] [MERGED] feat(entities): Add VideoPromptMessageContent and AudioPromptMessageContent
Closed
#76 [PR #2] [MERGED] chore: Apply ruff formatter and linter
Closed
#77 [PR #4] [CLOSED] chore: add pre-commit-config and apply format.
Closed
#78 [PR #5] [MERGED] chore: remove unused openai_compatible.py
Closed
#62 add gpt-4.1 model failed: provider return error
Closed
#64 Is there a way to access session.storage inside a Model Provider?
Closed
#65 How to get the file url in LargeLanguageModel?
Closed
#66 [Feature]: OAICompatLargeLanguageModel: support video modal type
Closed
#59 It is hoped that passing the user field will be supported when calling the app.
Closed
#57 Add filename support to multi-modal prompt messages
Closed
#53 The latency is much smaller than the actual execution time
Closed
#49 ImportError: cannot import name LogMetadata from dify_plugin.entities.tool
Closed
#46 Unable to update the "required" when debugging a plugin
Closed
#48 Is the project open source? Couldn't find a license file
Closed
#43 [bug] AzureOpenAI model seed value can only be selected as 0 or 1.
Closed
#45 "cannot import name 'LLMResultChunkWithStructuredOutput' from 'dify_plugin.entities.model.llm'
Closed
#37 dify_plugin 0.2.0 to 0.3.0, BlockingIOError: [WinError 10035] 无法立即完成一个非阻止性套接字操作。
Closed
#38 Version 0.2.3 is broken
Closed
#31 LLM response text will be truncated after a long request
Closed
#32 Agent Plugin support get user_id
Closed
#33 Qwen2.5-32B raise an error when using function call in OpenAI compatible mode (streaming)
Closed
#34 Encountering an Error When Installing a Self-Developed Extension Plugin on the Community Edition (linebot)
Closed
#36 minerU has error
Closed
#28 TCP message blocking issue
Closed
#29 httpx dependency version conflict with google genai
Closed
#30 How to make the change logs take effect?
Closed
#25 HTTP_REQUEST_NODE_SSL_VERIFY dify parameter
Closed
#26 Update pydantic-settings version
Closed
#27 Question: Release number
Closed
#24 cannot add file to chat/app in extension plugin
Closed
#15 Cannot init a PromptMessage by passing a list of PromptMessageContent
Closed
#16 PromptMessage cannot be dumped as expected.
Closed
#18 Bug of validate the only stream mode model credentials
Closed
#11 plugins tools allow multiple additions, but only one is actually displayed in Dify. Is this a BUG or is there a deeper meaning?
Closed
#12 monkey causes other processes to get stuck
Closed
#13 requirements.txt have no effect
Closed
#14 Python sdk 0.0.1b71 causes failures in langgenius/dify-plugins CI tests
Closed
#7 Accidentally Removed response_format
Closed
#8 self.create_variable_message throws AttributeError
Closed
#9 Getting user info such as name or Email
Closed
#4 please update the dependencies package
Closed
#5 the dependencies package
Closed
#1 [File] The URL returned by _backwards_invoke does not contain the tenant_id
Closed
#2 [endpoint] Query parameter values cannot be obtained during remote debugging
286 Issues created by 1 user
Opened
#1 [File] The URL returned by _backwards_invoke does not contain the tenant_id
Opened
#2 [endpoint] Query parameter values cannot be obtained during remote debugging
Opened
#3 (feat-req) Storage keys function
Opened
#4 please update the dependencies package
Opened
#5 the dependencies package
Opened
#6 (feat-req) function to get a list of HookIDs
Opened
#7 Accidentally Removed response_format
Opened
#8 self.create_variable_message throws AttributeError
Opened
#9 Getting user info such as name or Email
Opened
#10 How to invoke default models from tools
Opened
#11 plugins tools allow multiple additions, but only one is actually displayed in Dify. Is this a BUG or is there a deeper meaning?
Opened
#12 monkey causes other processes to get stuck
Opened
#13 requirements.txt have no effect
Opened
#14 Python sdk 0.0.1b71 causes failures in langgenius/dify-plugins CI tests
Opened
#15 Cannot init a PromptMessage by passing a list of PromptMessageContent
Opened
#16 PromptMessage cannot be dumped as expected.
Opened
#17 Missing the type of multiple choice
Opened
#18 Bug of validate the only stream mode model credentials
Opened
#19 A socket is used simultaneously by multiple greenlets
Opened
#20 [Offline Deployment] Token Count Calculation Failure Due to GPT-2 Dependency
Opened
#21 File Content Access Fails in for file processing Plugins
Opened
#22 Issue: Optimization Suggestions for Input Parameter Design
Opened
#23 how to get conversation_id in tools?
Opened
#24 cannot add file to chat/app in extension plugin
Opened
#25 HTTP_REQUEST_NODE_SSL_VERIFY dify parameter
Opened
#26 Update pydantic-settings version
Opened
#27 Question: Release number
Opened
#28 TCP message blocking issue
Opened
#29 httpx dependency version conflict with google genai
Opened
#30 How to make the change logs take effect?
Opened
#31 LLM response text will be truncated after a long request
Opened
#32 Agent Plugin support get user_id
Opened
#33 Qwen2.5-32B raise an error when using function call in OpenAI compatible mode (streaming)
Opened
#34 Encountering an Error When Installing a Self-Developed Extension Plugin on the Community Edition (linebot)
Opened
#35 [Feature Request] Support Knowledge Retrieval in Reverse Node Request
Opened
#36 minerU has error
Opened
#37 dify_plugin 0.2.0 to 0.3.0, BlockingIOError: [WinError 10035] 无法立即完成一个非阻止性套接字操作。
Opened
#38 Version 0.2.3 is broken
Opened
#39 [Badcase] Agent with Qwen3 will unexpectedly add a <think> wrapper
Opened
#40 Support Multiple Request Methods in Endpoint Implementation for Plugin Development
Opened
#41 Do not wrap reasoning_content into <think> tags!!!
Opened
#42 The validate_credentials method does not support extra_ceaders, which prevents custom header model plugins from being added to the market
Opened
#43 [bug] AzureOpenAI model seed value can only be selected as 0 or 1.
Opened
#44 Reverse Invocation Model。The received response is incomplete。
Opened
#45 "cannot import name 'LLMResultChunkWithStructuredOutput' from 'dify_plugin.entities.model.llm'
Opened
#46 Unable to update the "required" when debugging a plugin
Opened
#47 ToolLike miss create_file_message function
Opened
#48 Is the project open source? Couldn't find a license file
Opened
#49 ImportError: cannot import name LogMetadata from dify_plugin.entities.tool
Opened
#50 parameter type error
Opened
#51 invoke streaming some chat application generators cannot respond fully
Opened
#52 Dify plugin sdk streaming output method interrupt when calling chaflow
Opened
#53 The latency is much smaller than the actual execution time
Opened
#54 feat: support cached token usage
Opened
#55 use uv
Opened
#56 add autofix ci
Opened
#57 Add filename support to multi-modal prompt messages
Opened
#58 It is recommended to improve the SDK thread safety mechanism
Opened
#59 It is hoped that passing the user field will be supported when calling the app.
Opened
#60 still thinking when use tool_calls
Opened
#61 [bug] input_type is not passed when text embedding
Opened
#62 add gpt-4.1 model failed: provider return error
Opened
#63 feat: add optional reasoning_content to LLMResultChunkDelta
Opened
#64 Is there a way to access session.storage inside a Model Provider?
Opened
#65 How to get the file url in LargeLanguageModel?
Opened
#66 [Feature]: OAICompatLargeLanguageModel: support video modal type
Opened
#67 support /responses api for openai new code model such as gpt-5.1-codex
Opened
#68 Model Invocation is there a non-blocking Socket?
Opened
#69 The 'create_json_message(self, json: Mapping | list)' method can only input 'dict'. If 'list' is input, it will be automatically ignored as null
Opened
#70 Empty reasoning_content chunks cause multiple <think> blocks / repeated Thoughts entries in chat UI
Opened
#71 Dynamic select options broken when trigger throws exception
Opened
#72 Reverse Invocation of Dify Services , APP Inconsistent documentation and code
Opened
#73 usage info ignored by _handle_generate_stream_response
Opened
#74 [PR #1] [MERGED] feat: Introduce PDM
Opened
#75 [PR #3] [MERGED] feat(entities): Add VideoPromptMessageContent and AudioPromptMessageContent
Opened
#76 [PR #2] [MERGED] chore: Apply ruff formatter and linter
Opened
#77 [PR #4] [CLOSED] chore: add pre-commit-config and apply format.
Opened
#78 [PR #5] [MERGED] chore: remove unused openai_compatible.py
Opened
#79 [PR #6] [CLOSED] chore: storage get non-existent key will not raise error
Opened
#80 [PR #8] [MERGED] feat: add agent node log
Opened
#81 [PR #7] [MERGED] feat: add agent strategy support
Opened
#82 [PR #10] [MERGED] fix: UploadFileResponse to support optional type initialization from mime_type
Opened
#83 [PR #11] [MERGED] fix ParameterType.TEXT is not supported
Opened
#84 [PR #14] [MERGED] label display error when use_template
Opened
#85 [PR #13] [MERGED] sync MultiModalPromptMessageContent
Opened
#86 [PR #15] [MERGED] fix invoke llm raise error
Opened
#87 [PR #19] [MERGED] feat: support workflow tools
Opened
#88 [PR #20] [MERGED] feat: add metadata to log
Opened
#89 [PR #21] [MERGED] feat: add r1 model thinking tag
Opened
#90 [PR #22] [MERGED] Revert "Merge pull request #21 from langgenius/feat/add-r1-reasoning"
Opened
#91 [PR #24] [MERGED] add endpoint model name in credentials for openai compatible interface
Opened
#92 [PR #27] [CLOSED] fix model _position.yaml not work
Opened
#93 [PR #29] [CLOSED] fix: do not use code block mode wrapper if response_format is json_sc…
Opened
#94 [PR #33] [MERGED] migrate the <think> tag
Opened
#95 [PR #35] [CLOSED] Added user to backyard invoke
Opened
#96 [PR #36] [CLOSED] Fix/file upload
Opened
#97 [PR #37] [MERGED] Fix/file upload
Opened
#98 [PR #38] [MERGED] feat: Add connection lifetime timeout for serverless request reader
Opened
#99 [PR #40] [MERGED] feat: add llm blocking invoke
Opened
#100 [PR #42] [MERGED] fix: cannot init prompt message
Opened
#101 [PR #44] [CLOSED] fix:Let OAICompatLargeLanguageModel compatible with the "data:" format for streaming response messages
Opened
#102 [PR #43] [CLOSED] Fix: replace param max_tokens to max_completetion_tokens
Opened
#103 [PR #45] [MERGED] Fix the error in running the agent plugin
Opened
#104 [PR #47] [MERGED] fix:add function to validate only stream mode model credentials
Opened
#105 [PR #49] [MERGED] fix: Update prompt message content types to use Literal and add union type for content
Opened
#106 [PR #50] [CLOSED] fix: add 'include_usage' option in stream mode for OAICompat LLMs
Opened
#107 [PR #51] [CLOSED] feat: parameterize the default tokenizer to obtain the number of tokens
Opened
#108 [PR #52] [CLOSED] feat: add 'encouraged_response_prefix' parameter for LLM
Opened
#109 [PR #53] [MERGED] feat: agent node add memory
Opened
#110 [PR #54] [MERGED] fix:Let OAICompatLargeLanguageModel compatible with the "data:" format for streaming response messages
Opened
#111 [PR #57] [MERGED] fix: bypass _code_block_mode_wrapper if response_format is not JSON or XML
Opened
#112 [PR #60] [MERGED] chore: update dependency constraint for yarl
Opened
#113 [PR #62] [MERGED] Fix/file upload
Opened
#114 [PR #63] [MERGED] feat: add history message feature
Opened
#115 [PR #65] [MERGED] feat(python): upgrade ruff to v0.11.2, integrate flake8-bandit ruleset for security linting
Opened
#116 [PR #66] [MERGED] feat(python): Integrate flake8-builtins (A) ruleset with ruff
Opened
#117 [PR #67] [MERGED] feat(python): Introduct flake8-debugger (T10) ruleset with ruff
Opened
#118 [PR #68] [MERGED] feat(python): Enforce FBT003 rule in ruff for boolean arguments
Opened
#119 [PR #69] [MERGED] feat(python): Enable pycodestyle (W) warning ruleset with ruff
Opened
#120 [PR #70] [MERGED] feat(python): Enable Ruff ruleset (RUF), disable preview mode
Opened
#121 [PR #71] [MERGED] chore:sync openai_compatible/llm.py from 0.15.3
Opened
#122 [PR #72] [MERGED] ci(python): Add CI Pipeline for Python SDK
Opened
#123 [PR #73] [MERGED] fix(entities/model/message): prompt message cannot validate when pass multi type contents
Opened
#124 [PR #74] [CLOSED] Fix: handle the situation which OpenAI compatible LLM responses error messages
Opened
#125 [PR #75] [MERGED] socket recv cache up to 1M
Opened
#126 [PR #78] [MERGED] feat: add supports for provider to register array[tool] type field
Opened
#127 [PR #80] [MERGED] chore: update pydantic-settings version to >=2.5.0
Opened
#128 [PR #81] [MERGED] Fix: Convert shared class variables to instance variables to solve lock contention and CPU issues
Opened
#129 [PR #82] [MERGED] Fix: handle explicit None values in ToolCall responses from OpenAI-compatible LLMs
Opened
#130 [PR #83] [CLOSED] feat: Adapt to the Gemini 2.5 model
Opened
#131 [PR #84] [CLOSED] feat: adapt maxtokens parameter for Gemini 2.5 models.
Opened
#132 [PR #85] [CLOSED] fix: invalid new tool call creation logic during streaming response handling in OAI-Compat model.
Opened
#133 [PR #86] [MERGED] fix: improve gevent socket connection handling, avoid blocking except…
Opened
#134 [PR #88] [MERGED] enhancement: remove prompt_messages from LLMResult and LLMResultChunk
Opened
#135 [PR #87] fix: normalize rerank score to 0-1 range when only one document
Opened
#136 [PR #89] [MERGED] add self.session.storage.exist
Opened
#137 [PR #91] [CLOSED] fix(openai_compatible): set stream-tool-call's default value to not_support
Opened
#138 [PR #90] [MERGED] feat(python): Add specific error classes for StorageInvocation
Opened
#139 [PR #93] [MERGED] feat: add minimum_dify_version field to PluginConfiguration for version validation
Opened
#140 [PR #96] [MERGED] fix(agent_node): support tool parameters of select type
Opened
#141 [PR #95] [CLOSED] feat(openai_compatible): Add structured output support
Opened
#142 [PR #97] [MERGED] feat(model): add structured output feature to model
Opened
#143 [PR #99] [MERGED] feat: agent strategy parameter add help field
Opened
#144 [PR #100] [MERGED] feat(invocation): add FetchAppInvocation and update type hints for improved clarity
Opened
#145 [PR #101] [MERGED] chore(workflow): update pull request trigger to only activate on pushes to main
Opened
#146 [PR #102] [CLOSED] chore: Limit CI pipeline to trigger only on main branch pushes
Opened
#147 [PR #103] [MERGED] optimize: replace json.loads with TypeAdapter for JSON unmarshaling
Opened
#148 [PR #104] [MERGED] fix: incorrectly uses new_tool_call.function.name while getting existing tool calls
Opened
#149 [PR #106] [MERGED] fix: debug runtime & local runtime cannot get app_id
Opened
#150 [PR #107] [MERGED] feat: Add Citations and Attributions to Agent Node
Opened
#151 [PR #109] [MERGED] Fix function call error in qwen-xxx
Opened
#152 [PR #110] [MERGED] chore: bump version to 0.2.0
Opened
#153 [PR #111] [MERGED] fix: update minimum_dify_version to be optional in PluginConfiguration
Opened
#154 [PR #112] [MERGED] chore: bump version to 0.2.1
Opened
#155 [PR #114] [MERGED] fix: update storage field to be optional in PluginResourceRequirement…
Opened
#156 [PR #115] [MERGED] agent node add runtime(user_id)
Opened
#157 [PR #116] [MERGED] feat[0.4.0](oauth): implement OAuth authorization URL and credentials retrieval
Opened
#158 [PR #118] [MERGED] Update README.md to new version
Opened
#159 [PR #119] [MERGED] feat(http_parser): add functions to parse raw HTTP requests and conve…
Opened
#160 [PR #121] [MERGED] feat: generate docs automatically
Opened
#161 [PR #122] [MERGED] feat: support list in JsonMessage
Opened
#162 [PR #123] [CLOSED] feat: Support Citations and Attributions by context feature
Opened
#163 [PR #124] [MERGED] fix(File): enhance error handling for unsupported URL protocols in fi…
Opened
#164 [PR #125] [MERGED] fix: In debug mode, thread locks block responses and heartbeats, causing TCP to reconnect.
Opened
#165 [PR #126] [MERGED] chore: update GitHub Actions permissions in mkdocs workflow
Opened
#166 [PR #128] [MERGED] fix: improve buffer handling for multimodal input
Opened
#167 [PR #130] [MERGED] feat(endpoint): support declare endpoints in groups
Opened
#168 [PR #131] [MERGED] Bump to 0.2.2
Opened
#169 [PR #133] [MERGED] chore: add unit test for AgentStrategy constructor
Opened
#170 [PR #132] [MERGED] chore: mark constructors as final in multiple classes
Opened
#171 [PR #134] [MERGED] feat: add repository URL field to manifest
Opened
#172 [PR #135] [MERGED] chore[0.4.0]: update dependencies and remove pydub from main requirements
Opened
#173 [PR #136] [MERGED] feat: support REMOTE_INSTALL_URL config for remote installing and debugging
Opened
#174 [PR #138] feat[0.6.0](endpoint): add support for endpoint group setup
Opened
#175 [PR #137] [MERGED] dep[0.2.3]: update httpx to 0.28.x reducing JSON payload length in transporation
Opened
#176 [PR #139] [MERGED] chore: bump sdk to 0.2.3
Opened
#177 [PR #142] [MERGED] fix: update DifyPluginEnv to set default for REMOTE_INSTALL_URL
Opened
#178 [PR #141] [MERGED] fix REMOTE_INSTALL_URL, need default value
Opened
#179 [PR #143] [MERGED] Bump to 0.2.4
Opened
#180 [PR #144] [MERGED] feat[0.3.0]: add plugin runner functionality
Opened
#181 [PR #145] [CLOSED] feat:add param instruction for tts interface
Opened
#182 [PR #146] [MERGED] chore: bump to 0.3.0
Opened
#183 [PR #149] [MERGED] feat[0.5.0]: datasource
Opened
#184 [PR #151] [MERGED] bump to 0.3.1
Opened
#185 [PR #150] [MERGED] feat: enhance PluginRunner to build plugins from source directories
Opened
#186 [PR #152] [MERGED] feat: add mcp tool type
Opened
#187 [PR #153] [MERGED] feat: agent plugin handle object and array type
Opened
#188 [PR #154] [MERGED] chore: update version constraint for dify_plugin to 0.3.0,<0.4.0 in R…
Opened
#189 [PR #159] [MERGED] fix: handle mcp array and object type
Opened
#190 [PR #157] [MERGED] [0.4.0] dep: bump gevent to 25.5.1
Opened
#191 [PR #160] [MERGED] fix: update array parameter tool error
Opened
#192 [PR #161] [MERGED] fix[0.4.0]: add response body to CredentialsValidateFailedError exceptions to aid in error diagnosis, especially useful for locally provided models
Opened
#193 [PR #162] [MERGED] feat: add trigger functionality
Opened
#194 [PR #163] [MERGED] feat[0.4.0]: add dynamic select support
Opened
#195 [PR #164] [MERGED] docs: update README.md with manifest versioning details and enhance s…
Opened
#196 [PR #166] [MERGED] feat[0.4.0]: add LLMStructuredOutput and LLMStructuredOutputInvocation for s…
Opened
#197 [PR #167] [MERGED] Bump to 0.4.0
Opened
#198 [PR #168] [MERGED] Refactor: standardize string quotes for model name retrieval in OpenAI compatible interfaces
Opened
#199 [PR #173] [MERGED] feat: dark icon
Opened
#200 [PR #169] [CLOSED] Docs/bump up sdk ver guide
Opened
#201 [PR #172] [MERGED] Update README.md
Opened
#202 [PR #174] [MERGED] docs/bump up sdk ver guide
Opened
#203 [PR #177] [MERGED] chore: add meta version 0.0.2 description
Opened
#204 [PR #178] [MERGED] Bump to 0.4.1
Opened
#205 [PR #179] [MERGED] feat[0.4.2]: Tool OAuth
Opened
#206 [PR #182] [MERGED] fix(tool): temporarily alias LogMetadata to CommonLogMetadata to prevent import errors before version 0.5.0
Opened
#207 [PR #183] [MERGED] chore: bump to 0.4.3
Opened
#208 [PR #184] [CLOSED] refactor: Replaced 'dify' with 'shai' in package name, imports, and r…
Opened
#209 [PR #186] [MERGED] fix: type for ProviderConfig.default
Opened
#210 [PR #189] [MERGED] fix: corrected latency accuracy
Opened
#211 [PR #192] [MERGED] feat: add developer message
Opened
#212 [PR #195] [MERGED] i18n: Japanese language support
Opened
#213 [PR #197] [MERGED] feat: add filename support to multi-modal prompt messages
Opened
#214 [PR #198] [MERGED] Update README.md
Opened
#215 [PR #199] [MERGED] Bump pyproject.toml to 0.4.4
Opened
#216 [PR #200] [MERGED] feat: add rag tag
Opened
#217 [PR #201] [MERGED] fix: resolve 100% CPU usage in stdio buffer by replacing O(n²) Byte concatenation with BytesIO
Opened
#218 [PR #202] [MERGED] feat(python): relaxing version verification
Opened
#219 [PR #204] [MERGED] bump to 0.4.5
Opened
#220 [PR #207] [MERGED] feat: support invoke tool with app_id
Opened
#221 [PR #208] [MERGED] feat: add max_invocation_timeout parameter
Opened
#222 [PR #209] [MERGED] fix: use dict.get() to avoid KeyError when transforming llm response
Opened
#223 [PR #206] fix(openai_compatible_rerank): Handle empty API keys consistently with text_embedding
Opened
#224 [PR #210] [MERGED] feat: add datasource plugin examples
Opened
#225 [PR #212] [MERGED] Add comments and unit tests for trigger factory
Opened
#226 [PR #211] feat: support video
Opened
#227 [PR #213] fix: unclosed <think> tag when content is empty
Opened
#228 [PR #214] Draft: Alternative Normalization Scheme for Reranking Update rerank.py
Opened
#229 [PR #215] [MERGED] refactor: de-duplicate lark event dispatcher setup
Opened
#230 [PR #216] [MERGED] refactor: tighten typing for lark dispatch helper
Opened
#231 [PR #218] [MERGED] Add Gmail trigger example plugin with automated subscription
Opened
#232 [PR #217] [MERGED] Expand Slack trigger to full Events API catalog
Opened
#233 [PR #219] [MERGED] plugin example: telegram
Opened
#234 [PR #220] [MERGED] Codex/implement slack trigger in main.py
Opened
#235 [PR #222] fix: stop thinking when use tool_calls.
Opened
#236 [PR #223] [MERGED] refactor: update model provider to use ModelFactory for instance mana…
Opened
#237 [PR #224] [MERGED] chore: bump to 0.5.1
Opened
#238 [PR #226] Update version range for dify_plugin in README
Opened
#239 [PR #228] feat: add reasoning_content field to LLMResultChunkDelta
Opened
#240 [PR #229] [CLOSED] feat: Add LLM reasoning option for OpenAI compatible
Opened
#241 [PR #230] [CLOSED] feat: Add LLM reasoning option for OpenAI compatible
Opened
#242 [PR #231] [CLOSED] feat: Add LLM reasoning option for OpenAI compatible
Opened
#243 [PR #232] [CLOSED] Pcw OpenAI compatible
Opened
#244 [PR #233] [MERGED] fix(gmail_trigger): correct types, ensure int, correct permission, and bump sdk
Opened
#245 [PR #234] feat: (sdk/python): add passthrough parameter (extends langgenius/dify#27078)
Opened
#246 [PR #235] [MERGED] feat: Configurable Ping Max Tokens
Opened
#247 [PR #236] [MERGED] fix: add more test cases for model factory
Opened
#248 [PR #237] [MERGED] feat: support multimodal embeddings
Opened
#249 [PR #238] [MERGED] docs: update README to include support for Trigger functionality
Opened
#250 [PR #239] [MERGED] fix: sync max-invocation-timeout to http-based backwards invocation
Opened
#251 [PR #240] [MERGED] bump to 0.6.1
Opened
#252 [PR #243] [MERGED] fix: update request timeout to use configurable MAX_REQUEST_TIMEOUT
Opened
#253 [PR #242] fix(text_embedding): pass input_type to distinguish between document and query
Opened
#254 [PR #244] [MERGED] bump to 0.6.2
Opened
#255 [PR #245] [MERGED] fix: update request timeout to use environment configuration
Opened
#256 [PR #246] [CLOSED] Update github plugin version to next
Opened
#257 [PR #247] [CLOSED] Update dify-plugin-sdks github plugin version
Opened
#258 [PR #248] [CLOSED] Upgrade sdk version
Opened
#259 [PR #249] [CLOSED] Update profile readme with social links and description
Opened
#260 [PR #251] [CLOSED] Enhance profile with social link and game player description
Opened
#261 [PR #250] [CLOSED] Update profile with social link and description
Opened
#262 [PR #252] [MERGED] fix: miss max_single_connection_lifetime
Opened
#263 [PR #253] fix: add missing icon_small_dark field
Opened
#264 [PR #255] [MERGED] fix: bump werkzeug to 3.1.4 for CVE-2025-66221
Opened
#265 [PR #258] feat: to support tool multi-select input
Opened
#266 [PR #259] [MERGED] rm LogMetadata
Opened
#267 [PR #260] fix: use configurable max_tokens in credential validation instead of hardcoded value
Opened
#268 [PR #261] fix: get event handler safely
Opened
#269 [PR #262] [MERGED] chore (README.md): add multimodal embeddings / reranking support
Opened
#270 [PR #263] [MERGED] Revert "fix: increase max_tokens from 5 to 16 for some specific model…
Opened
#271 [PR #267] [MERGED] enh: The addition of the think closure tag supports multi-turn thin…
Opened
#272 [PR #266] docs: clarify delete_subscription should return success if subscription not found
Opened
#273 [PR #265] fix: plugin invoke request not support trigger and datasource plugins
Opened
#274 [PR #268] Adapt to the Ollama reasoning platform and use the "reasoning" JSON k…
Opened
#275 [PR #269] Make validate credentials max tokens configurable
Opened
#276 [PR #272] [MERGED] chore: bump version to 0.7.1
Opened
#277 [PR #273] [CLOSED] fix(#92): Add support for env HTTP_REQUEST_SSL_VERIFY
Opened
#278 [PR #274] [CLOSED] Make validate_credentials max_tokens configurable and bump SDK version
Opened
#279 [PR #275] [MERGED] Make validate_credentials max_tokens configurable (preserve stream default 10)
Opened
#280 [PR #278] fix: close <think> block only when reasoning_content is None
Opened
#281 [PR #281] fix: handle exception in dynamic select options when trigger is not registered
Opened
#282 [PR #279] fix(sdk): pass extra_headers to validate_credentials in OAICompatLarg…
Opened
#283 [PR #282] feat(#92): add SSL/TLS configuration support for HTTP requests
Opened
#284 [PR #283] feat: Add JSON Schema generation for plugin manifests
Opened
#285 [PR #285] [MERGED] feat: sync get_text_content from dify-api
Opened
#286 [PR #284] add message level and content level opaque_body