Skip to content

feat(providers): add Atlas Cloud as an OpenAI-compatible gateway - #260

Open
binyangzhu000-sudo wants to merge 1 commit into
HKUDS:mainfrom
binyangzhu000-sudo:feat/atlascloud-provider
Open

binyangzhu000-sudo wants to merge 1 commit into
HKUDS:mainfrom
binyangzhu000-sudo:feat/atlascloud-provider

Conversation

@binyangzhu000-sudo

Copy link
Copy Markdown

Summary

Adds Atlas Cloud as an OpenAI-compatible gateway provider, mirroring the Requesty (#159) and Opper (#242) providers.

Disclosure: I work at Atlas Cloud.

  • core/providers/registry.py: a ProviderSpec named atlascloud on the generic openai_compat gateway path: ATLASCLOUD_API_KEY, default base https://api.atlascloud.ai/v1, detected from the atlascloud base-URL keyword.
  • core/config.py: the matching ProviderConfig block.
  • tests/test_provider_egress.py: the ("atlascloud", "gateway") row of the endpoint-class table.
  • tests/test_atlascloud_provider.py: pins the wiring, the base URL / env var, no borrowed key-prefix heuristic, and the two decisions below.

Two provider-specific decisions:

  • strip_model_prefix stays off. Model ids are vendor/model (for example deepseek-ai/deepseek-v4-flash) and the whole string is the id, so stripping the prefix would break it.
  • supports_prompt_caching is on: the endpoint accepts Anthropic cache_control content blocks (HTTP 200) and lists cached-input prices. I confirmed the blocks are accepted, but did not measure cache hits.

Test plan

  • pytest tests/test_atlascloud_provider.py tests/test_opper_provider.py tests/test_provider_egress.py: 54 passed.
  • pytest tests --ignore=tests/e2e: 2431 passed, 9 failed, 11 skipped. The same 9 tests fail on a clean main (test_ci_scope, test_shell_search_tools, test_unified_impl_workflow, test_verification); I diffed the two failure lists. tests/e2e needs the optional pyte package and was not run.
  • Live check through DeepCode's own OpenAICompatProvider.chat() with the registry spec against the real API (api.atlascloud.ai/v1) for deepseek-ai/deepseek-v4-flash, moonshotai/kimi-k3 and anthropic/claude-haiku-4.5-20251001: each returned pong with finish_reason: stop.
  • Not run: the desktop app UI, and a full agent task through the provider.

🤖 Generated with Claude Code

Atlas Cloud is an OpenAI-compatible gateway (https://api.atlascloud.ai/v1)
for models from DeepSeek, Moonshot, Zhipu, Qwen, Anthropic, OpenAI and
others behind one key.

Mirrors the Requesty and Opper providers: a ProviderSpec on the generic
openai_compat gateway path, the matching ProviderConfig block, the
endpoint-class row, and tests pinning the wiring.

Two provider-specific decisions, both covered by tests. Model ids are
vendor/model strings (deepseek-ai/deepseek-v4-flash) where the whole string
is the id, so strip_model_prefix stays off. Prompt caching is on: the
endpoint accepts Anthropic cache-control content blocks and lists
cached-input prices.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Signed-off-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant