From 267ff85ccc758935cc5eb9e17d417e5e5bc4aa9b Mon Sep 17 00:00:00 2001 From: Lucas Zhu Date: Tue, 23 Jun 2026 13:37:31 +0800 Subject: [PATCH] feat: add Atlas Cloud as an OpenAI-compatible LLM provider MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Atlas Cloud (https://www.atlascloud.ai) exposes an OpenAI-compatible chat/completions endpoint, so it slots into the existing OpenAICompatibleLLM path exactly like deepseek / zai / opencode-go. Set `HINDSIGHT_API_LLM_PROVIDER=atlas` to route fact extraction, reflection and consolidation through Atlas Cloud. The base URL defaults to https://api.atlascloud.ai/v1 and the default model is deepseek-ai/deepseek-v4-pro (a reasoning model — give it enough max_tokens, >= 512). Changes: - engine/llm_wrapper.py: register "atlas" in create_llm_provider(), LLMProvider.valid_providers, and the default base_url map - engine/providers/openai_compatible_llm.py: register "atlas" in valid_providers, default base_url, and the API-key-required check - config.py: PROVIDER_DEFAULT_MODELS["atlas"] = deepseek-ai/deepseek-v4-pro - hindsight-embed control center: add Atlas Cloud to the provider wizard - docs: add Atlas Cloud to llmProviders.json (drives the providers grid and table) and a config example in developer/models.mdx - README + .env.example: document the new provider Verified end-to-end: instantiated the atlas provider through Hindsight's own create_llm_provider() and made a live call() to deepseek-ai/deepseek-v4-pro (HTTP 200, valid content + token usage). Co-Authored-By: Claude Opus 4.8 --- .env.example | 7 +++- README.md | 38 +++++++++++++++++- hindsight-api-slim/hindsight_api/config.py | 1 + .../hindsight_api/engine/llm_wrapper.py | 4 ++ .../engine/providers/openai_compatible_llm.py | 4 ++ hindsight-docs/docs/developer/models.mdx | 5 +++ hindsight-docs/src/data/llmProviders.json | 1 + .../static/img/atlas-cloud-logo.png | Bin 0 -> 134042 bytes .../control_center/providers.py | 1 + 9 files changed, 59 insertions(+), 2 deletions(-) create mode 100644 hindsight-docs/static/img/atlas-cloud-logo.png diff --git a/.env.example b/.env.example index bfd7f9ccf..aa602ca76 100644 --- a/.env.example +++ b/.env.example @@ -2,7 +2,7 @@ # Copy this file to .env and fill in your values # LLM Configuration (Required) -# Supported providers: openai, groq, ollama, gemini, anthropic, lmstudio, vertexai, minimax, deepseek, zai, volcano +# Supported providers: openai, groq, ollama, gemini, anthropic, lmstudio, vertexai, minimax, deepseek, zai, atlas, volcano HINDSIGHT_API_LLM_PROVIDER=openai HINDSIGHT_API_LLM_API_KEY=your-api-key-here HINDSIGHT_API_LLM_MODEL=gpt-4o-mini @@ -37,6 +37,11 @@ HINDSIGHT_API_LLM_BASE_URL=https://api.openai.com/v1 # HINDSIGHT_API_LLM_API_KEY=your-zai-api-key # HINDSIGHT_API_LLM_MODEL=glm-4.5-flash # or glm-4.5-air for the paid tier +# Example: Atlas Cloud configuration (OpenAI-compatible, https://www.atlascloud.ai) +# HINDSIGHT_API_LLM_PROVIDER=atlas +# HINDSIGHT_API_LLM_API_KEY=your-atlascloud-api-key +# HINDSIGHT_API_LLM_MODEL=deepseek-ai/deepseek-v4-pro # reasoning model; also Qwen / GLM / Kimi / MiniMax, etc. + # Example: LM Studio local configuration (Qwen 2.5 32B recommended) # HINDSIGHT_API_LLM_PROVIDER=lmstudio # HINDSIGHT_API_LLM_API_KEY=lmstudio diff --git a/README.md b/README.md index 418c5c797..2e3d16afa 100644 --- a/README.md +++ b/README.md @@ -16,6 +16,42 @@ --- +### Powered by Atlas Cloud (OpenAI-compatible) + +

+ + Atlas Cloud + +

+ +> 🎁 **[Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=hindsight)** is a full-modal, OpenAI-compatible AI inference platform — plug it in as a drop-in LLM backend for Hindsight's fact extraction, reflection and consolidation, with one API for DeepSeek, Qwen, GLM, Kimi, MiniMax and more. No multi-vendor setup needed. +> Budget-friendly: [coding plan](https://www.atlascloud.ai/console/coding-plan) + +```bash +export HINDSIGHT_API_LLM_PROVIDER=atlas +export HINDSIGHT_API_LLM_API_KEY=your-atlascloud-api-key # base_url defaults to https://api.atlascloud.ai/v1 +export HINDSIGHT_API_LLM_MODEL=deepseek-ai/deepseek-v4-pro +``` + +`deepseek-ai/deepseek-v4-pro` is a reasoning model — give it enough `max_tokens` (>= 512). + +
+All Atlas Cloud chat models (59) + +- **Anthropic (Claude):** `anthropic/claude-haiku-4.5-20251001`, `anthropic/claude-opus-4.8`, `anthropic/claude-sonnet-4.6` +- **OpenAI (GPT):** `openai/gpt-5.4`, `openai/gpt-5.5` +- **Google (Gemini):** `google/gemini-3.1-flash-lite`, `google/gemini-3.1-pro-preview`, `google/gemini-3.5-flash` +- **Alibaba Qwen:** `qwen/qwen2.5-7b-instruct`, `Qwen/Qwen3-235B-A22B-Instruct-2507`, `qwen/qwen3-235b-a22b-thinking-2507`, `qwen/qwen3-30b-a3b`, `Qwen/Qwen3-30B-A3B-Instruct-2507`, `qwen/qwen3-30b-a3b-thinking-2507`, `qwen/qwen3-32b`, `qwen/qwen3-8b`, `Qwen/Qwen3-Coder`, `qwen/qwen3-coder-next`, `qwen/qwen3-max-2026-01-23`, `Qwen/Qwen3-Next-80B-A3B-Instruct`, `Qwen/Qwen3-Next-80B-A3B-Thinking`, `Qwen/Qwen3-VL-235B-A22B-Instruct`, `qwen/qwen3-vl-235b-a22b-thinking`, `qwen/qwen3-vl-30b-a3b-instruct`, `qwen/qwen3-vl-30b-a3b-thinking`, `qwen/qwen3-vl-8b-instruct`, `qwen/qwen3.5-122b-a10b`, `qwen/qwen3.5-27b`, `qwen/qwen3.5-35b-a3b`, `qwen/qwen3.5-397b-a17b`, `qwen/qwen3.6-35b-a3b`, `qwen/qwen3.6-plus` +- **DeepSeek:** `deepseek-ai/deepseek-ocr`, `deepseek-ai/deepseek-r1-0528`, `deepseek-ai/DeepSeek-V3-0324`, `deepseek-ai/DeepSeek-V3.1`, `deepseek-ai/DeepSeek-V3.1-Terminus`, `deepseek-ai/deepseek-v3.2`, `deepseek-ai/DeepSeek-V3.2-Exp`, `deepseek-ai/deepseek-v4-flash`, `deepseek-ai/deepseek-v4-pro` +- **Moonshot (Kimi):** `moonshotai/Kimi-K2-Instruct`, `moonshotai/Kimi-K2-Instruct-0905`, `moonshotai/Kimi-K2-Thinking`, `moonshotai/kimi-k2.5`, `moonshotai/kimi-k2.6` +- **Zhipu GLM:** `zai-org/GLM-4.6`, `zai-org/glm-4.7`, `zai-org/glm-5`, `zai-org/glm-5-turbo`, `zai-org/glm-5.1`, `zai-org/glm-5v-turbo` +- **MiniMax:** `MiniMaxAI/MiniMax-M2`, `minimaxai/minimax-m2.1`, `minimaxai/minimax-m2.5`, `minimaxai/minimax-m2.7` +- **xAI:** `xai/grok-4.3` +- **Kuaishou KAT:** `kwaipilot/kat-coder-pro-v2` +- **Other:** `owl` + +
+ ## What is Hindsight? Hindsight™ is an agent memory system built to create smarter agents that learn over time. Most agent memory systems focus on recalling conversation history. Hindsight is focused on making agents that learn, not just remember. @@ -70,7 +106,7 @@ docker run -it --pull always --name hindsight --restart unless-stopped -p 8888:8 >API: http://localhost:8888 >UI: http://localhost:9999 -You can modify the LLM provider by setting `HINDSIGHT_API_LLM_PROVIDER`. Valid options are `openai`, `anthropic`, `gemini`, `groq`, `ollama`, `lmstudio`, and `minimax`. The documentation provides more details on [supported models](https://hindsight.vectorize.io/developer/models). +You can modify the LLM provider by setting `HINDSIGHT_API_LLM_PROVIDER`. Valid options are `openai`, `anthropic`, `gemini`, `groq`, `ollama`, `lmstudio`, `minimax`, and `atlas` ([Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=hindsight)). The documentation provides more details on [supported models](https://hindsight.vectorize.io/developer/models). diff --git a/hindsight-api-slim/hindsight_api/config.py b/hindsight-api-slim/hindsight_api/config.py index e9e8484b6..1143c692c 100644 --- a/hindsight-api-slim/hindsight_api/config.py +++ b/hindsight-api-slim/hindsight_api/config.py @@ -610,6 +610,7 @@ def parse_gemini_service_tier(value: str | None) -> str | None: "deepseek": "deepseek-v4-flash", "zai": "glm-4.5-flash", "opencode-go": "deepseek-v4-flash", + "atlas": "deepseek-ai/deepseek-v4-pro", "ollama": "gemma3:12b", "ollama-cloud": "gemma3:12b", "llamacpp": "gemma-4-e2b-it", diff --git a/hindsight-api-slim/hindsight_api/engine/llm_wrapper.py b/hindsight-api-slim/hindsight_api/engine/llm_wrapper.py index a3f75a250..d8c666a56 100644 --- a/hindsight-api-slim/hindsight_api/engine/llm_wrapper.py +++ b/hindsight-api-slim/hindsight_api/engine/llm_wrapper.py @@ -466,6 +466,7 @@ def create_llm_provider( "openrouter", "zai", "opencode-go", + "atlas", ): return OpenAICompatibleLLM( provider=provider, @@ -588,6 +589,7 @@ def __init__( "openrouter", "zai", "opencode-go", + "atlas", "fireworks", "nous", ] @@ -614,6 +616,8 @@ def __init__( self.base_url = "https://api.z.ai/api/coding/paas/v4" elif self.provider == "opencode-go": self.base_url = "https://opencode.ai/zen/go/v1" + elif self.provider == "atlas": + self.base_url = "https://api.atlascloud.ai/v1" elif self.provider == "nous": self.base_url = "https://inference-api.nousresearch.com/v1" diff --git a/hindsight-api-slim/hindsight_api/engine/providers/openai_compatible_llm.py b/hindsight-api-slim/hindsight_api/engine/providers/openai_compatible_llm.py index 099fb8796..2e613d650 100644 --- a/hindsight-api-slim/hindsight_api/engine/providers/openai_compatible_llm.py +++ b/hindsight-api-slim/hindsight_api/engine/providers/openai_compatible_llm.py @@ -451,6 +451,7 @@ def __init__( "openrouter", "zai", "opencode-go", + "atlas", "fireworks", ] if self.provider not in valid_providers: @@ -476,6 +477,8 @@ def __init__( self.base_url = "https://api.z.ai/api/coding/paas/v4" elif self.provider == "opencode-go": self.base_url = "https://opencode.ai/zen/go/v1" + elif self.provider == "atlas": + self.base_url = "https://api.atlascloud.ai/v1" elif self.provider == "fireworks": # OpenAI-compatible inference host (online path). The batch API # lives on a separate control-plane host — see FireworksLLM. @@ -496,6 +499,7 @@ def __init__( "openrouter", "zai", "opencode-go", + "atlas", "ollama-cloud", ) and not self.api_key diff --git a/hindsight-docs/docs/developer/models.mdx b/hindsight-docs/docs/developer/models.mdx index bba6b7bc8..aef422653 100644 --- a/hindsight-docs/docs/developer/models.mdx +++ b/hindsight-docs/docs/developer/models.mdx @@ -208,6 +208,11 @@ export HINDSIGHT_API_LLM_PROVIDER=opencode-go export HINDSIGHT_API_LLM_API_KEY=your-opencode-go-api-key export HINDSIGHT_API_LLM_MODEL=deepseek-v4-flash +# Atlas Cloud (OpenAI-compatible, https://www.atlascloud.ai) +export HINDSIGHT_API_LLM_PROVIDER=atlas +export HINDSIGHT_API_LLM_API_KEY=your-atlascloud-api-key # base_url defaults to https://api.atlascloud.ai/v1 +export HINDSIGHT_API_LLM_MODEL=deepseek-ai/deepseek-v4-pro # reasoning model; also Qwen / GLM / Kimi / MiniMax, etc. + # Nous Portal (OpenAI-compatible; no API key — uses your `hermes portal` login) export HINDSIGHT_API_LLM_PROVIDER=nous export HINDSIGHT_API_LLM_MODEL=deepseek/deepseek-v4-flash # any Nous-hosted slug diff --git a/hindsight-docs/src/data/llmProviders.json b/hindsight-docs/src/data/llmProviders.json index aa4524bbe..e978584fb 100644 --- a/hindsight-docs/src/data/llmProviders.json +++ b/hindsight-docs/src/data/llmProviders.json @@ -12,6 +12,7 @@ {"id": "deepseek", "label": "DeepSeek", "iconKey": "brain", "defaultModel": "deepseek-v4-flash"}, {"id": "zai", "label": "z.ai", "iconKey": "sparkles", "defaultModel": "glm-4.5-flash"}, {"id": "opencode-go", "label": "opencode-go", "iconKey": "openai-compatible", "defaultModel": "deepseek-v4-flash"}, + {"id": "atlas", "label": "Atlas Cloud", "iconKey": "openai-compatible", "defaultModel": "deepseek-ai/deepseek-v4-pro"}, {"id": "volcano", "label": "Volcano Engine", "iconKey": "zap", "defaultModel": "doubao-pro-32k"}, {"id": "openrouter", "label": "OpenRouter", "iconKey": "globe", "defaultModel": "qwen/qwen3.5-9b"}, {"id": "openai-codex", "label": "OpenAI Codex", "iconKey": "openai", "defaultModel": "gpt-5.4-mini"}, diff --git a/hindsight-docs/static/img/atlas-cloud-logo.png b/hindsight-docs/static/img/atlas-cloud-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..780a47698cf6fc28ed1a2dcf7542d312bef5f910 GIT binary patch literal 134042 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

dTO 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 literal 0 HcmV?d00001 diff --git a/hindsight-embed/hindsight_embed/control_center/providers.py b/hindsight-embed/hindsight_embed/control_center/providers.py index 879a56497..5e337a9b0 100644 --- a/hindsight-embed/hindsight_embed/control_center/providers.py +++ b/hindsight-embed/hindsight_embed/control_center/providers.py @@ -30,5 +30,6 @@ class ProviderInfo: ProviderInfo("deepseek", "DeepSeek", needs_api_key=True), ProviderInfo("minimax", "MiniMax", needs_api_key=True), ProviderInfo("zai", "Z.ai", needs_api_key=True), + ProviderInfo("atlas", "Atlas Cloud", needs_api_key=True, default_base_url="https://api.atlascloud.ai/v1"), ProviderInfo("volcano", "Volcano", needs_api_key=True), )