feat: add Atlas Cloud as LLM/AI provider (#2279)

* feat: add Atlas Cloud as OpenAI-compatible LLM provider

- Add Atlas Cloud env vars to .env.example (ATLAS_API_KEY, ATLAS_BASE_URL)
- Add docs/ATLAS-CLOUD-GUIDE.md with configuration, model list, and usage example
- Atlas Cloud provides 59+ LLM models via OpenAI-compatible API at https://api.atlascloud.ai/v1

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat(atlascloud): add Atlas Cloud provider implementation

Wire Atlas Cloud in as a first-class OpenAI-compatible LLM provider,
complementing the existing .env.example/docs entries.

- src/llm/providers/atlas.py: AtlasProvider adapter (base_url
  https://api.atlascloud.ai/v1, default model deepseek-ai/deepseek-v4-pro);
  floors max_tokens to 512 for reasoning models; reads ATLAS_API_KEY
  (falls back to ATLASCLOUD_API_KEY), ATLAS_BASE_URL, ATLAS_MODEL
- src/llm/core/types.py: add ProviderType.ATLAS
- providers __init__/resolver: export + register AtlasProvider
- tests: test_atlas_provider.py + resolver coverage for "atlas"

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
lucaszhu-hue
2026-06-19 04:29:11 +08:00
committed by GitHub
parent ceca28852e
commit 71792fda81
8 changed files with 395 additions and 1 deletions
+7
View File
@@ -30,6 +30,13 @@ ASTRAFLOW_CN_API_KEY=
# ASTRAFLOW_CN_MODEL=gpt-4o-mini
# ASTRAFLOW_CN_BASE_URL=https://api.modelverse.cn/v1
# --- Optional: Atlas Cloud (OpenAI-compatible, 59+ LLM models) ---------------
# Full-modal AI inference platform — LLM / image / video generation
# Docs: https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=everything-claude-code
ATLAS_API_KEY=
# ATLAS_BASE_URL=https://api.atlascloud.ai/v1
# ATLAS_MODEL=anthropic/claude-sonnet-4.6
# ─── ECC agent data (multi-harness isolation) ───────────────────────────────
# Memory hooks (sessions, learned skills, aliases, metrics). Default: ~/.claude
# Use a separate root when running ECC in Cursor alongside Claude Code: