feat(models): add Atomic Chat local LLM provider plugin#3283
feat(models): add Atomic Chat local LLM provider plugin#3283yanalialiuk wants to merge 4 commits into
Conversation
Add a Dify model provider plugin for Atomic Chat's OpenAI-compatible Local API Server (default http://127.0.0.1:1337/v1), with LLM support, credential validation, and setup docs. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Code Review
This pull request introduces the Atomic Chat model provider for Dify, enabling local LLM integration via an OpenAI-compatible API. The implementation includes custom credential validation, multimodal support, and thinking/reasoning stream filtering. However, several issues need to be addressed: potential KeyError and AttributeError exceptions when accessing optional credential fields like mode and endpoint_url, a potential initialization failure when api_key is absent, and a bug in the stream filtering logic that can leak blocks if they are split across chunks. Additionally, the _CommonOpenAI helper class is currently unused dead code and should be integrated or removed.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Replace copied openai_api_compatible llm.py with a focused Atomic Chat adapter, trim provider YAML, and drop unused common_openai scaffolding. Co-authored-by: Cursor <cursoragent@cursor.com>
Summary
models/atomic_chat— a Dify model provider plugin for Atomic Chathttp://127.0.0.1:1337/v1)host.docker.internal)Why a plugin (not dify core)
Dify model providers live in
dify-official-pluginsand are loaded by plugin-daemon. This follows the same pattern asollama,lemonade, andopenai_api_compatible.Test plan
http://127.0.0.1:1337/v1(orhttp://host.docker.internal:1337/v1from Docker)