Skip to content

feat: add Atlas Cloud as an LLM provider - #2421

Merged
zerob13 merged 1 commit into
ThinkInAIXYZ:devfrom
binyangzhu000-sudo:feat/atlas-cloud-provider
Oct 10, 2026
Merged

zerob13 merged 1 commit into
ThinkInAIXYZ:devfrom
binyangzhu000-sudo:feat/atlas-cloud-provider

Conversation

@binyangzhu000-sudo

@binyangzhu000-sudo binyangzhu000-sudo commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds Atlas Cloud (https://api.atlascloud.ai/v1) as a built-in provider, alongside the existing generic-gateway entries (OpenRouter, Cheaper Inference, api-route, Requesty, …). Atlas Cloud is an OpenAI-compatible LLM gateway exposing DeepSeek, Z.ai, Moonshot, Qwen and other models behind a single API key.

Disclosure: I work at Atlas Cloud. This adds it as one more provider option; it doesn't change any default, remove anything, or touch the curated "popular providers" onboarding list on the welcome screen.

Changes

  • src/main/provider/defaults.ts: new DEFAULT_PROVIDERS entry.
  • src/main/provider/providerRegistry.ts: new registry definition reusing OPENAI_BASE with credentialStrategy: 'api-key' and embeddingStrategy: 'none' (the catalog has no embedding models) — same shape as cheaper-inference/api-route, not openrouter's (no router-style model-id-prefix handling applies, since Atlas Cloud's model ids are already lab-prefixed, e.g. deepseek-ai/deepseek-v4-flash).
  • src/renderer/src/assets/llm-icons/atlascloud.svg + modelIconRegistry.ts: new icon, registered in both the icon map and monoIconUrls (it's a single-color mark, like OpenRouter's).
  • No changes needed in aiSdkProvider.ts/providerFactory.ts: the provider id doesn't match either special-cased router (openrouter/zenmux), so it goes through the generic createOpenAICompatible path already used by every other plain openai-completions gateway.

Test plan

  • pnpm run typecheck (node + web) — 0 errors
  • oxlint on the changed files — 0 errors
  • oxfmt --check on the changed files — correctly formatted
  • Existing provider unit tests (test/main/provider/*) — 85 passed, same as before this change
  • Live end-to-end check using the exact createOpenAICompatible construction providerFactory.ts builds for this code path (same name/baseURL/includeUsage shape) against the real Atlas Cloud gateway: got back a correct chat completion, and confirmed /v1/models discovery (117 models) with the same Bearer-auth shape checkStrategy: 'fetch-models' uses

🤖 Generated with Claude Code

Summary by CodeRabbit

  • New Features
    • Added Atlas Cloud as an AI provider option, with links to its website, API key management, documentation, and model catalog.
    • Added Atlas Cloud branding to the model icon display.

Registers Atlas Cloud (an OpenAI-compatible LLM gateway at
api.atlascloud.ai) as a built-in provider, alongside the existing
generic-gateway entries (OpenRouter, Cheaper Inference, api-route, …).

- src/main/provider/defaults.ts: new DEFAULT_PROVIDERS entry.
- src/main/provider/providerRegistry.ts: new registry definition
  reusing OPENAI_BASE with credentialStrategy: 'api-key' and
  embeddingStrategy: 'none' (the catalog has no embedding models),
  matching the cheaper-inference/api-route shape rather than
  openrouter's (no router-style model-id-prefix handling applies,
  since Atlas Cloud's model ids are already lab-prefixed).
- src/renderer/src/assets/llm-icons/atlascloud.svg +
  modelIconRegistry.ts: new icon, registered in both the icon map
  and monoIconUrls (it's a single-color mark, like OpenRouter's).

No changes needed in aiSdkProvider.ts/providerFactory.ts: the
provider id doesn't match any special-cased router (openrouter/
zenmux), so it goes through the generic createOpenAICompatible
path already used by every other plain openai-completions gateway.

Verified with pnpm run typecheck (node + web), oxlint, oxfmt, the
existing provider unit tests (test/main/provider/*, 85 passed), and
a live chat completion + /v1/models discovery call through the
exact createOpenAICompatible construction providerFactory.ts uses
for this code path.

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

coderabbitai Bot commented Oct 9, 2026 •

Copy link
Copy Markdown
Contributor

Review in Change Stack →

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: cd092b86-bbbb-4da2-81da-33b53d977907

📥 Commits

Reviewing files that changed from the base of the PR and between d5b9f8e and 64dc564.


⛔ Files ignored due to path filters (1)
  • src/renderer/src/assets/llm-icons/atlascloud.svg is excluded by !**/*.svg

📒 Files selected for processing (3)
  • src/main/provider/defaults.ts
  • src/main/provider/providerRegistry.ts
  • src/renderer/src/components/icons/modelIconRegistry.ts

Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review.



📝 Walkthrough

Walkthrough

Atlas Cloud is added as a disabled-by-default OpenAI-compatible provider that requires an API key. Its icon is registered in the renderer and included in the monochrome icon URL set.

Changes

Atlas Cloud provider support

Layer / File(s) Summary
Provider configuration and registry
src/main/provider/defaults.ts, src/main/provider/providerRegistry.ts
The provider defaults define Atlas Cloud's API endpoint and resource links. The registry adds its OpenAI-compatible profile, requires API-key credentials, and disables embeddings.
Provider icon registration
src/renderer/src/components/icons/modelIconRegistry.ts
The renderer maps the atlascloud key to the AtlasCloud icon and adds the icon URL to the monochrome set.

Priority: ⬇️ Low

Estimated code review effort: 2 (Simple) | ~8 minutes

Change: Feature

Suggested reviewers: yyhhyyyyyy


Merge Risk

Merge Risk: ⚪ Minimal · up to 64dc5

Atlas Cloud is added as a chat provider, while embedding operations remain rejected and its icon displays in both modes. No concrete merge-blocking issue was found; the change is ready for normal checks.

Security Architecture Review

Security architecture risk: 🔵 Low · up to 64dc5

Atlas Cloud starts disabled with no API key and uses the existing request path. No new credential-sharing or automatic-activation weakness was established. Final outbound request handling and downgrade behavior were not fully verified.

Retained concerns
No architecture-level concerns identified.

Security review details

Security Blast Radius

  • inferred — The evident new trust exposure is the external recipient for requests made using the Atlas profile: request content and that profile's configured API key reach the compatible adapter. The addition does not establish access to other providers' credentials or the entire local data store.

Trust Boundaries and Controls

  • observed — Existing middleware applies provider custom headers only to the configured origin. When its manual redirect path is active, cross-origin redirects remove authorization, API-key, cookie, and configured custom headers. Without valid custom headers or a matching origin, it delegates directly to fetch, so this inspection does not establish universal redirect protection.

Resilience and Maintainability Implications

  • inferred — Missing-default insertion preserves an inert Atlas configuration and uses transactional persistence rather than a staged credential or authority transition. A persistence interruption should not commit a partially replaced provider table; runtime durability and independent-writer behavior were not exercised.



🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 3…
Linked Issues check Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check Passed Check skipped because no linked issues were found for this pull request.
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title clearly and concisely describes the main change: adding Atlas Cloud as an LLM provider.


✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create a new PR


  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@zerob13 zerob13 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: add Atlas Cloud as an LLM provider

Verdict: Request changes — for one specific gap described below. The change itself is correct and safe; I've also approved the two pending CI workflows (first-time contributor) so checks run in parallel with this feedback.

What it does

Registers Atlas Cloud as a built-in OpenAI-compatible provider (https://api.atlascloud.ai/v1), disabled by default, no baked-in key, with an icon. Verified: the API endpoint answers (/v1/models returns 200), all four website links resolve, and the entry matches the shape of the neighboring providers. The monochrome icon is correctly registered in modelIcons and the monoIconUrls set.

The one thing to add: a registration test

The last three provider PRs in this repo each shipped a contract test alongside the entry:

  • Magpie (#2414) — discovery + capability-mapping tests in test/main/provider/basicApiKeyProviders.test.ts and providerDbModelConfig.test.ts
  • Opper (#2417) — discovery test + defaultProviders.test.ts presence test
  • AstrLink (#2418) — discovery/401 test in basicApiKeyProviders.test.ts

This PR adds none. Provider registration is a documented contract in this repo (that's why those tests exist for every sibling), so please add at minimum a defaultProviders.test.ts presence test asserting the atlascloud defaults (id, baseUrl, enable: false, websites), and ideally a basicApiKeyProviders.test.ts discovery test following the Opper/AstrLink pattern (mock /v1/models, assert fetch-models check strategy and Bearer auth).

Everything else is fine

  • Entry shape identical to neighbors; OPENAI_BASE + api-key + embeddingStrategy: 'none' is the conservative choice used by the other gateway entries.
  • Purely additive, no i18n copy, no breaking changes.
  • Icon handling correct.

Once the test lands, this is an approve from me. For maintainers: Atlas Cloud is a third-party commercial GPU-cloud service — same built-in-catalog policy question as #2407/#2408/#2417/#2418; the author appears to be affiliated with Atlas Cloud, so that's worth weighing.

@zerob13
zerob13 merged commit bfa6d76 into ThinkInAIXYZ:dev Oct 10, 2026
12 checks passed
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.

2 participants