Skip to content

feat(models): add Atlas Cloud provider - #335

Open
binyangzhu000-sudo wants to merge 2 commits into
qingchencloud:mainfrom
binyangzhu000-sudo:feat/atlascloud-provider
Open

binyangzhu000-sudo wants to merge 2 commits into
qingchencloud:mainfrom
binyangzhu000-sudo:feat/atlascloud-provider

Conversation

@binyangzhu000-sudo

Copy link
Copy Markdown

变更描述

新增 Atlas Cloud 的中性技术接入:

  • 在 OpenClaw 模型渠道中注册 atlascloud OpenAI-compatible 预设和默认模型
  • 在 Hermes provider registry 及 Web mirror 中注册 Atlas Cloud,使用 ATLASCLOUD_API_KEY
  • 保留 deepseek-ai/deepseek-v4-pro 的完整嵌套模型 ID,修复默认模型诊断对带 / 模型 ID 的解析
  • 添加 provider、环境变量、managed key、模型归属和模型引用测试

未修改 README、Logo、赞助位或推广内容。

变更类型

  • 新功能 (feat)
  • Bug 修复 (fix)
  • 代码重构 (refactor)
  • 样式调整 (style)
  • 性能优化 (perf)
  • 文档更新 (docs)
  • 构建/CI 配置 (ci/build)
  • 其他 (chore)

测试清单

  • node --test tests/*.test.js(525 passed,1 skipped)
  • npm run build
  • cargo fmt --all -- --check
  • cargo test --locked hermes_providers(5 passed)
  • Atlas Cloud 模型目录与真实 Chat Completions 请求返回 HTTP 200
  • 新功能已添加对应测试
  • 所有现有 Node 测试通过

相关 Issue

N/A

截图

无 UI 布局变更。

binyangzhu000-sudo and others added 2 commits July 29, 2026 17:22
Signed-off-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>
Both conflicts were registries where upstream and this branch each added
entries in the same place:

- hermes_providers.rs: kept P_ATLASCLOUD alongside upstream's new
  P_OPENAI_API and P_FIREWORKS, set the registry-length assertion to 40
  (upstream's 39 plus this one), and kept both model-lookup assertions.
  They don't collide: upstream matches the bare "deepseek-v4-pro" while
  this provider only claims the prefixed "deepseek-ai/deepseek-v4-pro",
  and find_provider_by_model requires a unique hit.
- scripts/dev-api.js: took upstream's provider lines verbatim, including
  its updated base URLs and transports for anthropic/gemini/deepseek, and
  re-appended only the atlascloud line.

Verified the two registries stay in sync: both list exactly 40 providers
with identical id sets.

Signed-off-by: binyangzhu000-sudo <binyangzhu000@gmail.com>
@binyangzhu000-sudo

Copy link
Copy Markdown
Author

Synced with main (22 commits behind). Both conflicts were registries where you and this branch each added entries in the same spot.

src-tauri/src/commands/hermes_providers.rs — kept P_ATLASCLOUD alongside your new P_OPENAI_API and P_FIREWORKS, and set the registry-length assertion to 40 (your 39 plus this one).

The part worth a second look was the model-lookup test. You changed it to assert find_provider_by_model("deepseek-v4-pro") == Some("deepseek"), and this branch asserts "deepseek-ai/deepseek-v4-pro" == Some("atlascloud"). Since find_provider_by_model returns None when more than one provider claims a model, a careless merge here could have silently broken your assertion. It doesn't: this provider's models list contains only the prefixed deepseek-ai/deepseek-v4-pro, so the two never both match. Both assertions are kept and both pass.

scripts/dev-api.js — took your provider lines verbatim, including the updated base URLs and transports for anthropic/gemini/deepseek (google_gemini transport, api.deepseek.com/v1, etc.), and re-appended only the atlascloud line.

I also checked the two registries stay in sync, since they're maintained separately: both list exactly 40 providers with identical id sets.

Verification — cargo test --lib hermes: 236 passed, 0 failed, including registry_has_expected_providers and find_provider_by_model_is_unambiguous.

Disclosure: I work at Atlas Cloud.

This branch has not been deployed

No deployments
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.

1 participant