openclaw - ✅(Solved) Fix [Feature] Add ATOM as a bundled self-hosted provider (AMD GPU native inference) [2 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#65811Fetched 2026-04-14 05:40:09
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
6
Participants
Timeline (top)
cross-referenced ×1renamed ×1

Fix Action

Fixed

PR fix notes

PR #65376: feat: add ATOM provider (self-hosted, AMD GPU optimized)

Description (problem / solution / changelog)

Summary

  • Problem: We propose adding built-in support for ATOM, an OpenAI-compatible inference server optimized for AMD Instinct GPUs. A bundled provider plugin would give AMD GPU users a smooth onboarding experience.
  • What changed: Added a bundled ATOM provider plugin (extensions/atom/), docs (docs/providers/atom.md), and test coverage — following the existing vLLM/SGLang self-hosted provider pattern.
  • What did NOT change: No core logic changes. All additions are extension-scoped or test-scoped.

Various models supported by ATOM: <img width="2188" height="1888" alt="image" src="https://github.com/user-attachments/assets/2da8165c-2af6-4f1e-8b23-145340bddf6f" />

New files

  • extensions/atom/ — provider plugin: api.ts, defaults.ts, index.ts, models.ts, register.runtime.ts, openclaw.plugin.json, package.json, tsconfig.json
  • docs/providers/atom.md — provider documentation page
  • test/helpers/plugins/provider-discovery-contract.ts — ATOM discovery contract helper

How it works

  • Uses shared discoverOpenAICompatibleLocalModels() helper (same as vLLM/SGLang)
  • Auto-discovers models when ATOM_API_KEY env var is set
  • Default base URL: http://127.0.0.1:8000/v1
  • API transport: openai-completions
  • Native reasoning output mode for thinking models
  • buildUnknownModelHint for setup guidance when ATOM is not configured

Test plan

  • pnpm build passes
  • pnpm check passes (pre-existing tsgo voice-call failure on main)
  • Extension boundary inventories: 0 violations (src, sdk, test-helper)
  • Unit tests: 121 pass, 0 fail (onboarding, auth choices, discovery contracts, self-hosted setup, transcript policy, forward-compat)
  • Contract tests: 350 pass (2 pre-existing failures on main)
  • End-to-end with ATOM server (amd/Kimi-K2-Thinking-MXFP4): chat, streaming, reasoning, tool calling, multi-turn, system messages, OpenClaw CLI inference — all verified
  • Interactive onboarding flow tested

Root Cause

N/A — new feature.

Linked Issue/PR

Changed files

  • docs/concepts/model-providers.md (modified, +28/-0)
  • docs/docs.json (modified, +1/-0)
  • docs/providers/atom.md (added, +95/-0)
  • docs/providers/index.md (modified, +1/-0)
  • extensions/atom/README.md (added, +3/-0)
  • extensions/atom/api.ts (added, +7/-0)
  • extensions/atom/defaults.ts (added, +4/-0)
  • extensions/atom/index.ts (added, +95/-0)
  • extensions/atom/models.ts (added, +23/-0)
  • extensions/atom/openclaw.plugin.json (added, +25/-0)
  • extensions/atom/package.json (added, +15/-0)
  • extensions/atom/register.runtime.ts (added, +7/-0)
  • extensions/atom/tsconfig.json (added, +16/-0)
  • pnpm-lock.yaml (modified, +6/-0)
  • src/agents/models-config.e2e-harness.ts (modified, +2/-0)
  • src/agents/pi-embedded-runner/model.forward-compat.errors-and-overrides.test.ts (modified, +8/-0)
  • src/agents/pi-embedded-runner/model.provider-runtime.test-support.ts (modified, +6/-0)
  • src/agents/transcript-policy.test.ts (modified, +2/-1)
  • src/channels/plugins/contracts/channel-import-guardrails.test.ts (modified, +1/-0)
  • src/commands/auth-choice-options.test.ts (modified, +8/-0)
  • src/commands/onboard-non-interactive.provider-auth.test.ts (modified, +10/-0)
  • src/plugins/contracts/plugin-sdk-subpaths.test.ts (modified, +5/-1)
  • src/plugins/contracts/provider-discovery.contract.test.ts (modified, +2/-0)
  • src/plugins/provider-self-hosted-setup.test.ts (modified, +8/-0)
  • test/helpers/plugins/provider-discovery-contract.ts (modified, +75/-0)
RAW_BUFFERClick to expand / collapse

Hi! We'd like to propose adding ATOM as a bundled self-hosted model provider — similar to how vLLM and SGLang are already supported.

What is ATOM?

ATOM is an open-source, OpenAI-compatible LLM inference server optimized for AMD Instinct GPUs (MI300X, MI325X, MI355X). It supports reasoning models, tool calling, and streaming via the standard /v1/chat/completions and /v1/models endpoints.

Benchmark dashboard: https://rocm.github.io/ATOM/benchmark-dashboard/

Why add it?

AMD GPU users running ATOM currently need manual custom provider configuration to use it with OpenClaw. A bundled plugin would give them the same onboarding experience that vLLM and SGLang users already have — auto-discovery via env var, wizard integration, and docs.

What we've built

We have a working implementation in PR #65376 that follows the existing vLLM/SGLang self-hosted provider pattern:

  • extensions/atom/ — plugin using shared discoverOpenAICompatibleLocalModels() helper
  • docs/providers/atom.md — provider docs page
  • Test coverage: discovery contracts, onboarding, auth choices, self-hosted setup (121 tests pass)
  • End-to-end verified: chat, streaming, reasoning, tool calling, OpenClaw CLI

The PR is 25 files, ~450 lines added, no core logic changes — all extension-scoped.

Questions for maintainers

  1. Is a bundled provider the right approach, or would a third-party plugin be preferred?
  2. Any concerns about the implementation before review?

Happy to adjust based on feedback. Thanks!

extent analysis

TL;DR

Review the proposed implementation in PR #65376 and consider adding ATOM as a bundled self-hosted model provider to simplify the onboarding experience for AMD GPU users.

Guidance

  • Review the implementation in PR #65376 to ensure it follows the existing vLLM/SGLang self-hosted provider pattern and meets the project's standards.
  • Consider the trade-offs between a bundled provider and a third-party plugin, taking into account factors such as maintenance, updates, and user experience.
  • Evaluate the test coverage and end-to-end verification to ensure the implementation is robust and functional.
  • Discuss and address any concerns or questions raised by maintainers before proceeding with the implementation.

Notes

The proposal seems well-structured, and the implementation has been thoroughly tested. However, it's essential to consider the project's overall architecture and maintenance strategy before making a decision.

Recommendation

Apply workaround: Consider adding ATOM as a bundled self-hosted model provider, as it seems to align with the project's existing pattern and would improve the user experience for AMD GPU users.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING