Skip to content

feat: add Atomic Chat as declarative OpenAI-compatible provider - #9210

Merged
alexhancock merged 6 commits into
aaif-goose:mainfrom
yanalialiuk:feat/atomic-agent-declarative-provider
May 14, 2026
Merged

feat: add Atomic Chat as declarative OpenAI-compatible provider#9210
alexhancock merged 6 commits into
aaif-goose:mainfrom
yanalialiuk:feat/atomic-agent-declarative-provider

Conversation

@yanalialiuk

Copy link
Copy Markdown
Contributor

Summary

Adds Atomic Chat as a declarative OpenAI-compatible provider: point Goose at the app’s local API (Atomic-Chat, default http://localhost:1337/v1) so chat uses the same MLX / llama.cpp models as the desktop client.

Included changes

  • crates/goose/src/providers/declarative/atomic_chat.json — provider config (atomic_chat), configurable ATOMIC_CHAT_HOST, dynamic models from /v1/models.
  • documentation/docs/getting-started/providers.md — table entry and setup (Desktop + CLI).
  • crates/goose/src/config/declarative_providers.rstest_atomic_chat_json_deserializes.

Configuration

Goose / env Role
ATOMIC_CHAT_HOST Origin of the Atomic Chat API (default http://localhost:1337).
Declarative base_url Resolves to {host}/v1/chat/completions — same shape as other OpenAI-compatible local providers.

No API key is wired in this declarative profile; if the local API requires auth, use a custom OpenAI-compatible provider and store credentials there.

Testing

  • cargo test -p goose test_atomic_chat_json_deserializes
  • Manual: start Atomic Chat, load a model, run goose configureAtomic Chat → pick a model from /v1/models.

Yana Lyalyuk and others added 2 commits May 14, 2026 17:23
Add atomic_chat.json (Atomic Chat local API at localhost:1337), document
setup in providers.md, and a JSON deserialization unit test.

https: //github.com/AtomicBot-ai/Atomic-Chat
Co-authored-by: Cursor <cursoragent@cursor.com>
@yanalialiuk
yanalialiuk force-pushed the feat/atomic-agent-declarative-provider branch from 3935498 to ef89648 Compare May 14, 2026 16:04

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ef89648a43

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@@ -0,0 +1,29 @@
{
"name": "atomic_chat",

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add Atomic Chat to the setup catalog

Adding the declarative JSON registers atomic_chat for the backend/CLI, but the desktop provider picker is populated from SETUP_METADATA in crates/goose/src/providers/catalog.rs, and there is no provider_id: "atomic_chat" entry there. After the catalog loads, ui/goose2/src/features/providers/hooks/useProviderInventory.ts filters model providers to catalog IDs, so this new provider will not appear in the desktop Configure Providers flow that the docs advertise and its inventory entry can be filtered out; add a CuratedSetupMetadata entry for atomic_chat with the ATOMIC_CHAT_HOST field.

Useful? React with 👍 / 👎.

yanalialiuk and others added 4 commits May 14, 2026 19:12
Match provider table copy to LM Studio (local + #local-llms link).
Move setup from a standalone section into the Local LLMs tabs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Register atomic_chat in SETUP_METADATA with ATOMIC_CHAT_HOST field overrides
so the desktop setup catalog and provider inventory include it. Extend
setup catalog tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Short description with typographic apostrophe; LM-style host field text;
drop setup_steps and model_doc_link. Mirror LM Studio Local LLMs tab and
extend JSON round-trip test.

Co-authored-by: Cursor <cursoragent@cursor.com>
@alexhancock
alexhancock self-requested a review May 14, 2026 19:28
@alexhancock

Copy link
Copy Markdown
Collaborator

Verified this works by downloading Atomic Chat, running it with gemma4 and connecting from goose

@yanalialiuk I did notice after selecting the provider, it didn't set a default model. There may be config you can modify to make it smooth, but I will get the provider in for now

@alexhancock
alexhancock added this pull request to the merge queue May 14, 2026
Merged via the queue into aaif-goose:main with commit e187fcd May 14, 2026
23 checks passed
lifeizhou-ap added a commit that referenced this pull request May 15, 2026
* main: (102 commits)
  Dynamically refresh skill instructions each turn (#9217)
  Build non-vulkan linux variants using ubuntu 22.04 (#9211)
  fix(ui): show tool name in approval prompt (#9216)
  feat: add Atomic Chat as declarative OpenAI-compatible provider (#9210)
  chore: bump package.json versions from 0.19.1 to 0.20.0 (#9218)
  feat: support GOOSE_OAUTH_CALLBACK_PORT for stable OAuth redirect_uri (#9209)
  [RFC] feat(oauth): proactive token refresh to avoid re-auth on every session (#8386)
  fix: resolve Azure CLI on Windows by using az.cmd (#9215)
  fix: handle non-interactive terminal in goose configure on Windows (#9214)
  Better parsing of pasted html as markdown so agents understand (#9190)
  fix: persist accumulated cost in session DB to survive reload (#9191)
  fix(publish-npm): build binary from current SHA + add compat check (#9212)
  feat(desktop): add goose://new-session deep link to open fresh chat (#9196)
  Add PR previews using cloudflare pages (#9208)
  fix: prevent tool-use marker leakage in toolshim output (#8310)
  Prompt injection mitigation: update pattern-based detection (#9198)
  remove goose2 related skills (#9189)
  Switch GH pages deploy to actions/artifact workflow (#9025)
  fix(summon): re-apply canonical limits when delegate overrides model (#9183)
  Split code signing from build (#8587)
  ...
shafqatevo pushed a commit to shafqatevo/goose that referenced this pull request Aug 7, 2026
…-goose#9210)

Co-authored-by: Yana Lyalyuk <yanalyalyuk@MacBook-Pro-Yana.local>
Co-authored-by: Cursor <cursoragent@cursor.com>
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.

2 participants