Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
8abd538
feat: add Atlas Cloud provider preset
binyangzhu000-sudo Jul 31, 2026
d6d952e
Merge pull request #965 from TraderAlice/dev
luokerenx4 Aug 3, 2026
7253ad5
Merge pull request #992 from TraderAlice/dev
luokerenx4 Aug 6, 2026
0114f78
Merge pull request #1060 from TraderAlice/dev
luokerenx4 Aug 11, 2026
7437ba2
Merge upstream dev into codex/atlas-cloud-provider
binyangzhu000-sudo Aug 17, 2026
0f89c70
Merge pull request #1124 from TraderAlice/dev
luokerenx4 Aug 17, 2026
456198f
Merge pull request #1154 from TraderAlice/dev
luokerenx4 Aug 22, 2026
9467a25
Merge pull request #1180 from TraderAlice/dev
luokerenx4 Aug 27, 2026
6b875aa
Merge pull request #1259 from TraderAlice/dev
luokerenx4 Aug 30, 2026
bf75704
Merge pull request #1262 from TraderAlice/dev
luokerenx4 Aug 30, 2026
70ac60f
chore(release): prepare 0.90.2 beta 1
luokerenx4 Aug 30, 2026
73bacc7
Merge pull request #1264 from TraderAlice/codex/release-0.90.2-beta.1
luokerenx4 Aug 30, 2026
9db0bf7
chore(release): prepare v0.90.2
luokerenx4 Aug 30, 2026
3a90021
Merge pull request #1267 from TraderAlice/dev
luokerenx4 Aug 30, 2026
998fe74
Merge remote-tracking branch 'origin/master' into codex/release-0.90.…
luokerenx4 Aug 30, 2026
cb19905
Merge pull request #1265 from TraderAlice/codex/release-0.90.2-stable
luokerenx4 Aug 30, 2026
299a5f8
Merge pull request #1270 from TraderAlice/dev
luokerenx4 Aug 30, 2026
589af69
chore(release): prepare 0.91.0 beta 1
luokerenx4 Aug 30, 2026
e49a57c
Merge pull request #1273 from TraderAlice/dev
luokerenx4 Aug 30, 2026
bdd9c13
Merge remote-tracking branch 'origin/master' into codex/release-0.91.…
luokerenx4 Aug 30, 2026
009d3f4
Merge pull request #1271 from TraderAlice/codex/release-0.91.0-beta.1
luokerenx4 Aug 30, 2026
ebd3414
Merge pull request #1291 from TraderAlice/dev
luokerenx4 Sep 1, 2026
ee150af
chore(release): prepare v0.91.0-beta.2
luokerenx4 Sep 1, 2026
87b5a81
Merge pull request #1292 from TraderAlice/codex/release-0.91.0-beta.2
luokerenx4 Sep 1, 2026
e2307c1
Merge pull request #1295 from TraderAlice/dev
luokerenx4 Sep 1, 2026
72e430a
release: prepare v0.91.0-beta.3
luokerenx4 Sep 1, 2026
3af7b0b
Merge pull request #1297 from TraderAlice/codex/beta3-version
luokerenx4 Sep 1, 2026
5b0426f
Merge pull request #1330 from TraderAlice/dev
luokerenx4 Sep 3, 2026
eb70759
Prepare v0.91.0-beta.4
luokerenx4 Sep 3, 2026
b8f3310
Merge pull request #1336 from TraderAlice/codex/beta4-version
luokerenx4 Sep 3, 2026
08b0c31
Merge pull request #1349 from TraderAlice/dev
luokerenx4 Sep 4, 2026
f7e9ffa
chore(release): prepare v0.91.0 stable
luokerenx4 Sep 4, 2026
190778d
Merge pull request #1353 from TraderAlice/codex/release-0.91.0
luokerenx4 Sep 4, 2026
6510a3f
Merge pull request #1355 from TraderAlice/dev
luokerenx4 Sep 4, 2026
19f453e
Merge pull request #1359 from TraderAlice/dev
luokerenx4 Sep 4, 2026
6d784d9
Merge pull request #1367 from TraderAlice/dev
luokerenx4 Sep 5, 2026
dc0b528
chore(release): prepare 0.91.1-beta.1
luokerenx4 Sep 5, 2026
1b50985
Merge pull request #1369 from TraderAlice/codex/release-0.91.1-beta.1
luokerenx4 Sep 5, 2026
5494f27
chore(release): prepare 0.91.1 stable
luokerenx4 Sep 5, 2026
f1ac9ec
Merge pull request #1371 from TraderAlice/codex/release-0.91.1
luokerenx4 Sep 5, 2026
f0e960f
Merge dev AUR fixture fix for 0.91.1 release
luokerenx4 Sep 5, 2026
52b51f2
Merge pull request #1373 from TraderAlice/codex/promote-0911-aur-fixture
luokerenx4 Sep 5, 2026
303a2f1
Merge pull request #1407 from TraderAlice/dev
luokerenx4 Sep 8, 2026
660af15
Prepare 0.92.0-beta.1 release
luokerenx4 Sep 8, 2026
12dcdb3
Merge pull request #1408 from TraderAlice/codex/release-0.92.0-beta.1
luokerenx4 Sep 8, 2026
5209a5d
Prepare 0.92.0 stable release
luokerenx4 Sep 8, 2026
e85aa1b
Merge pull request #1410 from TraderAlice/codex/release-0.92.0
luokerenx4 Sep 8, 2026
de2908f
Merge pull request #1426 from TraderAlice/dev
luokerenx4 Sep 8, 2026
fb5b117
chore: prepare 0.92.1-beta
luokerenx4 Sep 8, 2026
3d8b0c9
Merge pull request #1429 from TraderAlice/codex/release-0921-beta
luokerenx4 Sep 8, 2026
2bb941c
Merge pull request #1451 from TraderAlice/dev
luokerenx4 Sep 9, 2026
4a17c23
chore: prepare v0.92.1-beta.1
luokerenx4 Sep 9, 2026
c3c4d7d
Merge pull request #1452 from TraderAlice/codex/prepare-0.92.1-beta.1
luokerenx4 Sep 9, 2026
5ced593
Merge pull request #1456 from TraderAlice/dev
luokerenx4 Sep 9, 2026
4e50433
chore: prepare v0.92.1-beta.2
luokerenx4 Sep 9, 2026
862805f
Merge pull request #1457 from TraderAlice/codex/prepare-0921-beta2
luokerenx4 Sep 9, 2026
9d71fef
chore: prepare v0.92.1 stable
luokerenx4 Sep 9, 2026
7b9db35
Merge pull request #1460 from TraderAlice/codex/prepare-0921-stable
luokerenx4 Sep 9, 2026
06fa542
Merge pull request #1481 from TraderAlice/dev
luokerenx4 Sep 10, 2026
826f86e
chore: prepare v0.93.0-beta
luokerenx4 Sep 10, 2026
adfa27a
Merge pull request #1482 from TraderAlice/codex/release-0.93.0-beta
luokerenx4 Sep 10, 2026
7f6304c
chore: prepare v0.93.0
luokerenx4 Sep 10, 2026
f82215b
ci: allow Windows Broker Pack build to finish
luokerenx4 Sep 10, 2026
f0e3751
Merge pull request #1485 from TraderAlice/codex/release-0.93.0-stable
luokerenx4 Sep 10, 2026
8e01ea4
Merge upstream/master into codex/atlas-cloud-provider
binyangzhu000-sudo Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/desktop-package-smoke.yml
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ jobs:

- name: Build optional Broker Packs on Windows
run: pnpm broker-packs:build
timeout-minutes: 10
timeout-minutes: 20

- name: Verify Broker Packs in compiled runtime
run: pnpm exec tsx scripts/verify-broker-packs.ts --compiled
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "open-alice",
"version": "0.92.1",
"version": "0.93.0",
"description": "File-based trading agent engine",
"type": "module",
"imports": {
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@traderalice/openalice-cli",
"version": "0.92.1",
"version": "0.93.0",
"description": "OpenAlice local runtime and remote connection CLI",
"type": "module",
"bin": {
Expand Down
12 changes: 12 additions & 0 deletions src/ai-providers/model-semantics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -320,6 +320,18 @@ export const MODEL_SEMANTICS_BY_VENDOR: Registry = {
},
},
},
'atlas-cloud': {
'deepseek-ai/deepseek-v4-pro': {
contextWindow: 1_000_000,
maxOutputTokens: 384_000,
reasoning: {
mode: 'optional',
efforts: ['high', 'max'],
defaultEffort: 'high',
interleaved: true,
},
},
},
longcat: {
'LongCat-2.0': {
maxOutputTokens: 131_072,
Expand Down
18 changes: 18 additions & 0 deletions src/ai-providers/preset-catalog.spec.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { describe, expect, it } from 'vitest';

import {
ATLAS_CLOUD,
CLAUDE_API,
CLAUDE_OAUTH,
CODEX_API,
Expand Down Expand Up @@ -63,6 +64,21 @@ describe('LONGCAT preset', () => {
});
});

describe('ATLAS_CLOUD preset', () => {
it('uses the versioned OpenAI-compatible endpoint and nested model id', () => {
expect(ATLAS_CLOUD.regions?.[0]?.wires['openai-chat']).toBe('https://api.atlascloud.ai/v1');
const parsed = ATLAS_CLOUD.zodSchema.parse({
backend: 'vercel-ai-sdk',
provider: 'openai-compatible',
apiKey: 'test-key',
}) as { baseUrl?: string; model?: string };
expect(parsed).toMatchObject({
baseUrl: 'https://api.atlascloud.ai/v1',
model: 'deepseek-ai/deepseek-v4-pro',
});
});
});

describe('credential form catalog', () => {
it('uses native Claude Code aliases for subscription profiles', () => {
expect(CLAUDE_OAUTH.models?.map((model) => model.id)).toEqual([
Expand Down Expand Up @@ -200,6 +216,7 @@ describe('credential form catalog', () => {
deepseek: 'deepseek-v4-pro',
longcat: 'LongCat-2.0',
openrouter: 'openai/gpt-5.6-luna',
'atlas-cloud': 'deepseek-ai/deepseek-v4-pro',
// Runtime-direct provider: `auto` is Cursor routing, not a model API id.
cursor: 'auto',
});
Expand Down Expand Up @@ -254,6 +271,7 @@ describe('credential form catalog', () => {
deepseek: 'deepseek',
longcat: 'longcat',
openrouter: 'openrouter',
'atlas-cloud': 'atlas-cloud',
};

for (const [presetId, vendor] of Object.entries(vendorByPreset)) {
Expand Down
34 changes: 34 additions & 0 deletions src/ai-providers/preset-catalog.ts
Original file line number Diff line number Diff line change
Expand Up @@ -544,6 +544,38 @@ export const LONGCAT: PresetDef = {
writeOnlyFields: ['apiKey'],
}

// ==================== Third-party: Atlas Cloud ====================

export const ATLAS_CLOUD: PresetDef = {
id: 'atlas-cloud',
label: 'Atlas Cloud',
description: 'Atlas Cloud models via its OpenAI-compatible API',
category: 'third-party',
defaultName: 'Atlas Cloud',
hint: 'Uses Atlas Cloud\'s OpenAI-compatible Chat Completions endpoint. This credential can drive OpenCode and Pi.',
zodSchema: z.object({
backend: z.literal('vercel-ai-sdk'),
provider: z.literal('openai-compatible'),
baseUrl: z.string().default('https://api.atlascloud.ai/v1').describe('API endpoint'),
model: z.string().default('deepseek-ai/deepseek-v4-pro').describe('Model'),
apiKey: z.string().min(1).describe('Atlas Cloud API key'),
}),
regions: [{
id: 'default',
label: 'Atlas Cloud (api.atlascloud.ai)',
wires: { 'openai-chat': 'https://api.atlascloud.ai/v1' },
}],
models: withModelSemantics('atlas-cloud', [
{ id: 'deepseek-ai/deepseek-v4-pro', label: 'DeepSeek V4 Pro' },
]),
setup: {
apiKeyLabel: 'Atlas Cloud API key',
apiKeyHelp: 'Use an API key from the Atlas Cloud console.',
modelHelp: 'Choose a model available to the key, or paste another exact Atlas Cloud model ID.',
},
writeOnlyFields: ['apiKey'],
}

// ==================== Runtime-direct: Cursor ====================

export const CURSOR_DASHBOARD: PresetDef = {
Expand Down Expand Up @@ -615,6 +647,7 @@ export const PRESET_CATALOG: PresetDef[] = [
KIMI,
DEEPSEEK,
LONGCAT,
ATLAS_CLOUD,
GEMINI,
CURSOR_DASHBOARD,
CUSTOM,
Expand All @@ -640,5 +673,6 @@ export const DEFAULT_MODEL_BY_VENDOR: Record<string, string> = {
deepseek: 'deepseek-v4-pro',
longcat: 'LongCat-2.0',
openrouter: 'openai/gpt-5.6-luna',
'atlas-cloud': 'deepseek-ai/deepseek-v4-pro',
cursor: 'auto',
}