{"id":28485837,"url":"https://github.com/langgenius/dify-plugin-sdks","last_synced_at":"2026-06-17T05:00:41.215Z","repository":{"id":269671194,"uuid":"826216827","full_name":"langgenius/dify-plugin-sdks","owner":"langgenius","description":"SDK for Dify plugins","archived":false,"fork":false,"pushed_at":"2026-06-16T23:19:20.000Z","size":13412,"stargazers_count":142,"open_issues_count":72,"forks_count":140,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-06-17T01:12:39.223Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://langgenius.github.io/dify-plugin-sdks/schema","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/langgenius.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-07-09T09:36:16.000Z","updated_at":"2026-06-16T23:18:32.000Z","dependencies_parsed_at":"2025-01-13T07:22:53.799Z","dependency_job_id":"20357aa0-237e-4392-acb7-5bc89c843cc9","html_url":"https://github.com/langgenius/dify-plugin-sdks","commit_stats":null,"previous_names":["langgenius/dify-plugin-sdks"],"tags_count":246,"template":false,"template_full_name":null,"purl":"pkg:github/langgenius/dify-plugin-sdks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify-plugin-sdks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify-plugin-sdks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify-plugin-sdks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify-plugin-sdks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/langgenius","download_url":"https://codeload.github.com/langgenius/dify-plugin-sdks/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/langgenius%2Fdify-plugin-sdks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34434496,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-08T00:40:52.545Z","updated_at":"2026-06-17T05:00:41.207Z","avatar_url":"https://github.com/langgenius.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dify Plugin SDK\n\nA Python SDK for building plugins for Dify.\n\nHere is a short introduction to Dify Plugin: \u003chttps://docs.dify.ai/plugins/introduction\u003e\n\n## Development\n\nThis repository uses [`just`](https://github.com/casey/just) as its command runner.\nInstall it with your preferred package manager, or with uv:\n\n```bash\nuv tool install rust-just\n```\n\nCommon development commands:\n\n```bash\njust dev      # Sync default dev dependencies\njust check    # Check lockfile, formatting, and linting\njust test     # Run all tests\njust build    # Build source and wheel distributions\n```\n\n## LLM Polling Support\n\nSDK 0.9.0 adds support for polling-based LLM invocation. A model can now\ndeclare the `polling` feature and implement polling methods, allowing plugins\nto submit long-running provider jobs and return later checks through a short\nrequest/response flow.\n\nPolling results use three states:\n\n- `running` returns plugin-owned state for the next check.\n- `succeeded` returns the final LLM result.\n- `failed` returns a terminal error.\n\n## Version Management\n\nThis SDK follows Semantic Versioning (a.b.c):\n\n- a: Major version - Indicates significant architectural changes or incompatible API modifications\n- b: Minor version - Indicates new feature additions while maintaining backward compatibility\n- c: Patch version - Indicates backward-compatible bug fixes\n\n### For SDK Users\n\nWhen depending on this SDK, it's recommended to specify version constraints that:\n\n- Allow patch and minor updates for bug fixes and new features\n- Prevent major version updates to avoid breaking changes\n\nExample in your project's dependency management:\n\n```python\ndify_plugin \u003e= 0.8\n```\n\n## Manifest Version Reference\n\nFor the manifest specification, we've introduced two versioning fields:\n\n- `meta.version` - The version of the manifest specification, designed for backward compatibility. When installing an older plugin to a newer Dify, it's difficult to ensure breaking changes never occur, but at least Dify can detect them through this field. Once an unsupported version is detected, Dify will only use the supported parts of the plugin.\n- `meta.minimum_dify_version` - The minimum version of Dify, designed for forward compatibility. When installing a newer plugin to an older Dify, many new features may not be available, but showing the minimum Dify version helps users understand how to upgrade.\n\n### Meta.Version Reference\n\n| Manifest Version | Description                                                                                                                                                                                                                   |\n| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| 0.0.2            | As `ToolProviderType` now supports `mcp`, an elder implementation is going to broken when user selected a `mcp` tool in Dify, so we bump it to 0.0.2 to ensure Dify knows that `mcp` is disabled if meta.version under 0.0.2. |\n| 0.0.1            | Initial release                                                                                                                                                                                                               |\n\n### Meta.MinimumDifyVersion Reference\n\n| Minimum Dify Version | SDK Version   | Description                                        |\n| -------------------- | ------------- | -------------------------------------------------- |\n| 1.2.0                | 0.2.0         | Support fetching application info                  |\n| 1.4.0                | 0.0.1-beta.49 | Support LLM multimodal output                      |\n| 1.4.0                | 0.3.1         | Support OAuth functionality for plugins            |\n| 1.5.1                | 0.4.0         | Support `dynamic-select` parameter type            |\n| 1.5.1                | 0.4.0         | Support LLM structured output                      |\n| 1.6.0                | 0.4.1         | Support `dark-icon` field in manifest              |\n| 1.7.0                | 0.4.2         | Support OAuth functionality for plugins            |\n| 1.8.1                | 0.4.4         | Support filename in MultiModalPromptMessageContent |\n| 1.9.0                | 0.5.0         | Support Datasource functionality for plugins       |\n| 1.10.0               | 0.6.0         | Support Trigger functionality for plugins          |\n| 1.11.0               | 0.7.0         | Support Multimodal Reranking / Embeddings          |\n| 1.14.0               | 0.8.1         | Dependency and project structure cleanup           |\n| 1.14.2               | 0.9.0         | Support polling-based LLM plugin invocations       |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanggenius%2Fdify-plugin-sdks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flanggenius%2Fdify-plugin-sdks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flanggenius%2Fdify-plugin-sdks/lists"}