feat(llm): add Atlas Cloud as an LLM provider - #8452
Open
binyangzhu000-sudo wants to merge 1 commit into
Open
Conversation
Atlas Cloud is an OpenAI-compatible inference platform (DeepSeek, Qwen, GLM, Kimi, MiniMax), so it registers through litellm's `openai/` prefix with an api_base override — the same routing the Novita and Inception entries already use. The settings-driven registration follows the GROQ block: one LLM_KEY built from ATLASCLOUD_MODEL rather than a hardcoded model list, so it does not go stale. Registered in all six places a provider lives here, not just the registry: - skyvern/config.py: ENABLE_ATLASCLOUD, ATLASCLOUD_API_KEY, ATLASCLOUD_MODEL, ATLASCLOUD_API_BASE (default https://api.atlascloud.ai/v1) - skyvern/forge/sdk/api/llm/config_registry.py: the ATLASCLOUD config - skyvern/cli/doctor.py: provider health check — both API key and model are required to register, so it checks the pair, like OPENAI_COMPATIBLE does - docs/developers/self-hosted/llm-configuration.mdx: a section after Groq - docker-compose.yml: commented env block next to the other providers - env.litellm.example / env.ollama.example: ENABLE_ATLASCLOUD=false in the "disable other providers" lists Verified through litellm itself rather than only against the raw HTTP endpoint: `litellm.completion(model="openai/deepseek-ai/deepseek-v4-pro", api_base="https://api.atlascloud.ai/v1", ...)` returns finish_reason=stop with content — i.e. the exact shape config_registry.py registers resolves correctly. The docs note one caveat: the suggested default is a reasoning model that spends completion tokens on a hidden chain of thought, so a small LLM_CONFIG_MAX_TOKENS can produce an empty response with finish_reason="length"; non-reasoning ids such as deepseek-ai/DeepSeek-V3.1 are unaffected. ruff check and ruff format on the three touched Python files are unchanged from the pre-branch baseline (2 pre-existing findings, none added). Signed-off-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds Atlas Cloud as an LLM provider. It is an OpenAI-compatible inference platform (DeepSeek,
Qwen, GLM, Kimi, MiniMax), so it registers through litellm's
openai/prefix with anapi_baseoverride — the same routing the existing Novita and Inception entries use.
The registration follows the GROQ block: one
LLM_KEYbuilt fromATLASCLOUD_MODELrather thana hardcoded model list, so the entry cannot go stale as the platform's catalogue changes.
Registered in all six places a provider lives here
Not just the registry — I grepped
ENABLE_GROQto find every touchpoint:skyvern/config.pyENABLE_ATLASCLOUD,ATLASCLOUD_API_KEY,ATLASCLOUD_MODEL,ATLASCLOUD_API_BASE(defaulthttps://api.atlascloud.ai/v1)skyvern/forge/sdk/api/llm/config_registry.pyATLASCLOUDconfigskyvern/cli/doctor.pyOPENAI_COMPATIBLEdoesdocs/developers/self-hosted/llm-configuration.mdxdocker-compose.ymlenv.litellm.example/env.ollama.exampleENABLE_ATLASCLOUD=falsein the "disable other providers" listsValidation
Verified through litellm itself, not only against the raw HTTP endpoint — i.e. the exact shape
config_registry.pyregisters:ruff checkandruff format --checkon the three touched Python files: unchanged from thepre-branch baseline (2 pre-existing findings, none added — checked by stashing and re-running).
completion tokens on a hidden chain of thought, so a small
LLM_CONFIG_MAX_TOKENScan return anempty response with
finish_reason="length". Non-reasoning ids such asdeepseek-ai/DeepSeek-V3.1are unaffected.
No credentials in the diff.
🤝 Partnership & contact
This PR comes from the Atlas Cloud team. Beyond the integration above, we'd love to explore a closer collaboration with Skyvern — for example co-marketing or a featured integration.
If that sounds interesting, reach out anytime:
And of course, happy to revise this PR to match your project's conventions — just leave a comment. 🙌