Skip to main content
Version: 1.0.5

Use ASI1 as the default model in OpenClaw

This guide follows the interactive OpenClaw setup wizard (QuickStart) and connects ASI:One as a Custom Provider using the OpenAI-compatible endpoint https://api.asi1.ai/v1 and model asi1. You can also configure the same settings by editing the config file manually.

API key safety (read this)

The screenshots in this page are for UI flow only — any key visible there is for demonstration (treat demo keys as sk_…****); use your own key on your machine. If a key was ever exposed (chat, screenshot, repo), rotate it in the ASI:One / asi1.ai dashboard and update OpenClaw config.

What you need

ItemNotes
OpenClawInstalled via the official installer (see below).
ASI:One API keyRequired. Create one in the ASI:One quickstart. Requests without a Bearer key return 401.
NetworkOutbound HTTPS to https://api.asi1.ai/v1 (chat path: /v1/chat/completions) from the machine running the gateway.

Step 1 — Install OpenClaw

The official installer is macOS and Linux only (curl | bash). On Windows, use WSL (Ubuntu) and run the same commands inside the Linux environment, or follow OpenClaw docs for any Windows-specific guidance if published.

The installer checks for Node.js (supported: 22.22.3+, 24.15.0+, or 25.9.0+), npm, and Git, then installs the OpenClaw CLI and starts setup. Prefer downloading and inspecting the script before piping it to bash if your security policy requires it:

curl -fsSL https://openclaw.ai/install.sh -o openclaw-install.sh
less openclaw-install.sh # optional review
bash openclaw-install.sh

Or the one-liner:

curl -fsSL https://openclaw.ai/install.sh | bash

When installation finishes, the OpenClaw setup wizard opens in the terminal.

OpenClaw installer completes and launches setup

Example: installer summary and OpenClaw banner. Your version string may differ (e.g. OpenClaw 2026.4.14).


Step 2 — Security acknowledgement

Read the Security notice. OpenClaw is a powerful local agent; understand gateway security before exposing tools or chat channels.

Answer Yes to continue after you accept the personal-by-default risk model.

OpenClaw setup — security warning


Step 3 — Setup mode: QuickStart

Choose QuickStart. The wizard shows defaults for the local gateway, for example:

SettingTypical QuickStart value
Gateway port18789 (example from wizard)
Gateway bindLoopback (127.0.0.1)
Gateway authToken (default)
Tailscale exposureOff
FlowDirect to chat channels

Exact values can change with OpenClaw versions; follow what your wizard displays.


Step 4 — Model / auth provider: Custom Provider

Select Custom Provider (any OpenAI- or Anthropic-compatible endpoint). ASI:One exposes an OpenAI-compatible HTTP API, so this is the right option.

Model/auth provider — Custom Provider selected


Step 5 — ASI:One endpoint and API key

Enter the following when prompted.

Wizard promptValue for ASI:One
API Base URLhttps://api.asi1.ai/v1
How do you want to provide this API key?Paste API key now (stores the key in OpenClaw config) or Use external secret provider (recommended for shared machines)
API KeyPaste your ASI:One key. A key is required — do not leave this blank (ASI:One returns 401 without auth).

API Base URL, key storage, and API key step

Keys stay private

When you paste API key now, OpenClaw stores it locally (see warning at top). Do not commit ~/.openclaw/openclaw.json or share it.

Key storage options (detail)

Choose paste now vs external secret

OptionWhen to use
Paste API key nowFastest; key is stored in local OpenClaw config.
Use external secret providerBetter when you do not want the key in plaintext config.

Step 6 — Compatibility and model name

After the key step, the wizard continues with checks similar to:

PromptASI:One value
Endpoint compatibilityOpenAI-compatible
Model IDasi1

The wizard verifies the endpoint (Verification successful).

It then assigns an Endpoint ID (an internal name for this custom endpoint). In a real run this looks like a unique slug, for example innovationlab-api-asi1-aiyours may differ. Do not assume the provider slug is asi1 unless you chose that name yourself in manual config.

PromptNotes
Endpoint IDWizard-generated id for this provider entry. Copy this from the success line below.
Model alias (optional)Friendly label in pickers; skip if unsure.

At the end you should see a line like:

Configured custom provider: innovationlab-api-asi1-ai/asi1

Copy the Endpoint ID from that line (everything before /asi1). The full model reference is always EndpointId/asi1 (for example innovationlab-api-asi1-ai/asi1). Use that exact string in openclaw config set and as agents.defaults.model.primary.

The manual JSON sample below uses provider slug asi1 only as an example when you chose that slug — then the model ref is asi1/asi1. After the wizard, replace asi1/... with your Endpoint ID.


Step 7 — Channels (QuickStart)

QuickStart continues with channel status (Discord, Telegram, Slack, etc.). Connecting a channel is optional for testing the model; see OpenClaw channels for pairing, tokens, and security (DM pairing, dmPolicy, etc.).

You can talk to the model locally without Telegram — see Verify and Local chat without a channel below.


Concepts (quick reference)

TermMeaning
Endpoint IDName OpenClaw uses for this custom provider in config (wizard-assigned or chosen in advanced flows).
Model refEndpointId/asi1 — first segment is your Endpoint ID; model id must be asi1.
OpenAI-compatibleSame HTTP shape as OpenAI Chat Completions (/v1/chat/completions).

Manual config (equivalent JSON5)

If you prefer files over the wizard, merge something like this into ~/.openclaw/openclaw.json. OpenClaw accepts JSON5 in that file (comments and unquoted keys allowed; strict JSON also works). Replace provider key asi1 with your Endpoint ID if the wizard created a different slug, and set agents.defaults.model.primary to EndpointId/asi1 to match.

models.mode: "merge" keeps your custom provider alongside built-in catalogs; agent-local models.json can still override baseUrl / apiKey — see OpenClaw model providers.

OpenClaw’s api: "openai-completions" means an OpenAI-compatible chat completions client against your baseUrl /v1 (not the legacy /v1/completions text API). ASI:One’s default path is /v1/chat/completions. Details: OpenClaw model providers.

Export the same env name Innovation Lab / ASI:One docs use elsewhere:

export ASI_ONE_API_KEY="YOUR_ASI_ONE_API_KEY"
{
env: {
ASI_ONE_API_KEY: "YOUR_ASI_ONE_API_KEY",
},
agents: {
defaults: {
// After the wizard, use YOUR Endpoint ID — e.g. "innovationlab-api-asi1-ai/asi1"
model: { primary: "asi1/asi1" },
},
},
models: {
mode: "merge",
providers: {
// Provider slug must match the first segment of model.primary
asi1: {
baseUrl: "https://api.asi1.ai/v1",
apiKey: "${ASI_ONE_API_KEY}",
api: "openai-completions",
models: [
{
id: "asi1",
name: "ASI1",
// OpenClaw capability flags (align with ASI:One models docs)
reasoning: true,
input: ["text", "image"],
// Official asi1 context window: 196,608 tokens
// https://docs.asi1.ai/documentation/models
contextWindow: 196608,
// OpenClaw per-response output cap (not ASI:One's only limit;
// leftover context window is the real ceiling)
maxTokens: 8192,
},
// Optional: same API key also serves these models
// https://docs.asi1.ai/documentation/models
{
id: "asi1-mini",
name: "ASI1 Mini",
reasoning: true,
input: ["text"],
contextWindow: 262144,
maxTokens: 8192,
},
{
id: "asi1-ultra",
name: "ASI1 Ultra",
reasoning: true,
input: ["text"],
contextWindow: 202752,
maxTokens: 8192,
},
],
},
},
},
}

Keep primary on …/asi1 unless you intentionally switch defaults. Model specs: ASI:One models (IL pages often round the window to ~200,000).

Config keys

KeyRole
models.providers.<id>Provider slug (id) — must match the first segment of agents.defaults.model.primary.
baseUrlhttps://api.asi1.ai/v1
api"openai-completions" — OpenClaw name for Chat Completions–style custom providers
models[].idasi1 (or asi1-mini / asi1-ultra)

CLI: set default model only

If the provider already exists, copy the Endpoint ID from Configured custom provider: EndpointId/asi1, then:

openclaw config set agents.defaults.model.primary YOUR_ENDPOINT_ID/asi1

Example after a wizard run:

openclaw config set agents.defaults.model.primary innovationlab-api-asi1-ai/asi1

Do not run … asi1/asi1 unless your Endpoint ID really is asi1.


Verify

List models for your provider:

openclaw models list --provider YOUR_ENDPOINT_ID

You should see model asi1 (and any optional siblings you registered) listed for that provider.

Then run a real smoke test — either the Python sanity check below (prints the reply) or a one-shot local agent turn:

openclaw agent exec --model YOUR_ENDPOINT_ID/asi1 "Reply with exactly: pong"

Or open an interactive local chat (no Telegram required):

openclaw chat

Local chat without a channel

Channels in Step 7 are optional. After verify:

  1. openclaw agent exec --model YOUR_ENDPOINT_ID/asi1 "Hello from ASI1" for a one-shot prompt, or
  2. openclaw chat / openclaw tui --local for an interactive session against your default model.

See OpenClaw agent CLI and TUI.


Python (sanity check)

Same endpoint and model as OpenClaw. Set ASI_ONE_API_KEY in your environment first, then print the reply:

import os
from openai import OpenAI

api_key = os.environ.get("ASI_ONE_API_KEY")
if not api_key:
raise SystemExit("Set ASI_ONE_API_KEY before running this check.")

client = OpenAI(
api_key=api_key,
base_url="https://api.asi1.ai/v1",
)

response = client.chat.completions.create(
model="asi1",
messages=[{"role": "user", "content": "Hello!"}],
)
print(response.choices[0].message.content)

Troubleshooting

IssueWhat to check
Verification failsbaseUrl ends with /v1, key is valid, outbound HTTPS to https://api.asi1.ai/v1.
401 UnauthorizedKey missing, wrong, or revoked — paste a fresh key from the ASI:One dashboard and rotate if it was exposed.
429 Too Many RequestsRate limit / quota — wait and retry; check account usage.
Empty models list / wrong modelEndpoint ID mismatch — use the id from Configured custom provider: EndpointId/asi1, not a guessed asi1 slug.
Wrong model refDefault must be EndpointId/asi1 with models[].id = asi1.
Chat hangs after verify OKOpenClaw often sends stream: true; confirm proxies allow SSE. ASI:One supports streaming chat completions.
Key in repoNever commit openclaw.json with pasted keys.

PageTopic
Call Agentverse agents from OpenClaw (fetch-agents)Agentverse skill — uses AGENTVERSE_API_KEY, not the ASI:One LLM key on this page
ASI:One quickstart / API keysCreate and manage ASI_ONE_API_KEY
ASI:One OpenAI CompatibilityOpenAI-compatible client setup
ASI:One Chat Completions/v1/chat/completions
ASI:One modelsasi1 / asi1-mini / asi1-ultra context windows and capabilities
ASI:One API referenceLimits and parameters
OpenClaw providersUpstream provider list
OpenClaw model providersCustom baseUrl, openai-completions, merge rules