-
Notifications
You must be signed in to change notification settings - Fork 497
feat: add Atlas Cloud as LLM provider for agents #2430
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -30,6 +30,7 @@ export const AGENT_PROVIDER_IDS = [ | |||||||||||||||||||||||||||
| 'pi', | ||||||||||||||||||||||||||||
| 'letta', | ||||||||||||||||||||||||||||
| 'autohand', | ||||||||||||||||||||||||||||
| 'atlascloud', | ||||||||||||||||||||||||||||
| ] as const; | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| export type AgentProviderId = (typeof AGENT_PROVIDER_IDS)[number]; | ||||||||||||||||||||||||||||
|
|
@@ -657,6 +658,26 @@ export const AGENT_PROVIDERS: AgentProviderDefinition[] = [ | |||||||||||||||||||||||||||
| alt: 'Autohand Code CLI', | ||||||||||||||||||||||||||||
| terminalOnly: true, | ||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||
| { | ||||||||||||||||||||||||||||
| id: 'atlascloud', | ||||||||||||||||||||||||||||
| name: 'Atlas Cloud', | ||||||||||||||||||||||||||||
| description: | ||||||||||||||||||||||||||||
| 'Atlas Cloud provides 59 frontier models (DeepSeek-V4, Qwen3, Kimi K2, GPT-5, Gemini 2.5 Pro, Claude, Grok-4…) via a single OpenAI-compatible endpoint. Configure any OpenAI-compatible agent CLI to use Atlas Cloud as the LLM backend.', | ||||||||||||||||||||||||||||
| docUrl: 'https://www.atlascloud.ai/docs', | ||||||||||||||||||||||||||||
| installCommand: 'npm install -g opencode-ai', | ||||||||||||||||||||||||||||
| commands: ['opencode'], | ||||||||||||||||||||||||||||
| versionArgs: ['--version'], | ||||||||||||||||||||||||||||
| cli: 'opencode', | ||||||||||||||||||||||||||||
| autoApproveViaEnv: true, | ||||||||||||||||||||||||||||
| initialPromptFlag: '--prompt', | ||||||||||||||||||||||||||||
| resumeFlag: '--session', | ||||||||||||||||||||||||||||
| sessionIdFlag: '--session', | ||||||||||||||||||||||||||||
| sessionIdOnResumeOnly: true, | ||||||||||||||||||||||||||||
| resumeWithoutSessionFlag: '--continue', | ||||||||||||||||||||||||||||
| icon: 'atlas.png', | ||||||||||||||||||||||||||||
| alt: 'Atlas Cloud', | ||||||||||||||||||||||||||||
| terminalOnly: true, | ||||||||||||||||||||||||||||
| }, | ||||||||||||||||||||||||||||
|
Comment on lines
+662
to
+683
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
The Prompt To Fix With AIThis is a comment left during a code review.
Path: apps/emdash-desktop/src/shared/core/agents/agent-provider-registry.ts
Line: 662-680
Comment:
**No actual API endpoint configuration for Atlas Cloud**
The `atlascloud` entry installs and invokes the stock `opencode-ai` CLI, which by default points at opencode's own inference backend — not Atlas Cloud's API. There is no mechanism here (no env var injection, no config file write, no extra CLI flags) to redirect the CLI to Atlas Cloud's endpoint. The description even acknowledges this gap ("Configure any OpenAI-compatible agent CLI to use Atlas Cloud as the LLM backend"), but the provider registration provides no guidance or automation for that step. Without configuration, a user who picks this provider will get a plain opencode session backed by opencode's default models, indistinguishable from choosing the `opencode` provider.
How can I resolve this? If you propose a fix, please make it concise. |
||||||||||||||||||||||||||||
| ]; | ||||||||||||||||||||||||||||
|
Comment on lines
+679
to
684
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
Suggested change
Prompt To Fix With AIThis is a comment left during a code review.
Path: apps/emdash-desktop/src/shared/core/agents/agent-provider-registry.ts
Line: 676-681
Comment:
**Missing `supportsHooks: true`**
The `opencode` provider sets `supportsHooks: true`, which enables emdash hooks (e.g. the `SessionStart` hook that captures the rollout session ID for reliable conversation resumption). The `atlascloud` entry uses the exact same CLI (`opencode`) but omits this flag, so hooks will silently not fire during Atlas Cloud sessions even though the underlying binary fully supports them.
```suggestion
resumeWithoutSessionFlag: '--continue',
icon: 'atlas.png',
alt: 'Atlas Cloud',
terminalOnly: true,
supportsHooks: true,
},
];
```
How can I resolve this? If you propose a fix, please make it concise.Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time! |
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| const PROVIDER_MAP = new Map<string, AgentProviderDefinition>( | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
opencodeproviderBoth
atlascloudand the existingopencodeprovider setcommands: ['opencode']andinstallCommand: 'npm install -g opencode-ai'. ThebuildAgentDependencies()function inregistry.tscreates an independentDependencyDescriptorper provider, so both descriptors resolve the same binary. This means any user who hasopencodeon theirPATHwill see both "Atlas Cloud" and "OpenCode" reported asavailablesimultaneously — even though they have only one binary installed. This is likely to confuse users browsing the provider list.Prompt To Fix With AI