> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.asi1.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.asi1.ai/_mcp/server.

# Set Up ASI:One in OpenWork

> Connect OpenWork, a free desktop app that works through tasks for you, to your ASI:One models.

## Overview

[OpenWork](https://openworklabs.com) is a free desktop app you hand tasks to. You
describe what you want done, and it works through the steps on your computer.
Connect it to ASI:One and it does that work with ASI:One models.

Some things you can ask it to do:

* Research a topic and summarize what it finds.
* Write, edit and tidy up documents.
* Sort, rename and work with files on your computer.
* Work in apps you connect to it.

OpenWork doesn't have a button for adding ASI:One yet, so there's one step where
you paste a command into Terminal on a Mac, or PowerShell on Windows. It's copy
and paste only, and takes about a minute.

> **Tip**
>
> Already using ASI:One in [OpenCode](/documentation/coding/opencode)? OpenWork
> reads the same settings, so you can skip ahead to [Check that OpenWork sees ASI:One](#check-that-openwork-sees-asione).

## What you need

* **A Mac or Windows computer.**
* **OpenWork**, downloaded from [openworklabs.com](https://openworklabs.com) and
  installed.
* **An ASI:One API key.** Create one at [asi1.ai/developer](https://asi1.ai/developer).
  It's a long code that starts with `sk_`. Copy it, you'll paste it in shortly.

## Add ASI:One to your settings

#### Mac

1. If OpenWork is open, quit it with **OpenWork → Quit OpenWork**.
2. Open **Terminal**: press **⌘ Space**, type `Terminal`, and press **Return**.
3. Copy the command below with the copy button in its top corner, paste it into
   Terminal, and press **Return**.

```bash
(
  mkdir -p ~/.config/opencode
  if [ -e ~/.config/opencode/opencode.json ] || [ -e ~/.config/opencode/opencode.jsonc ]; then
    echo "You already have OpenCode settings, so nothing was changed."
    exit 1
  fi
  echo "Your key stays hidden, so nothing will appear when you paste it. That's normal."
  printf 'Paste your ASI:One API key, then press Return: '
  read -rs ASI_KEY; echo
  if [ -z "$ASI_KEY" ]; then
    echo "No key was pasted, so nothing was changed."
    exit 1
  fi
  echo "Got your key (${#ASI_KEY} characters, hidden)."
  cat > ~/.config/opencode/opencode.json <<EOF
{
  "model": "asi/asi1-ultra",
  "provider": {
    "asi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "ASI:One",
      "options": {
        "baseURL": "https://api.asi1.ai/v1",
        "apiKey": "$ASI_KEY"
      },
      "models": {
        "asi1": { "name": "ASI1", "limit": { "context": 300000, "output": 40000 } },
        "asi1-ultra": { "name": "ASI1 Ultra", "limit": { "context": 800000, "output": 40000 } },
        "asi1-mini": { "name": "ASI1 Mini", "limit": { "context": 160000, "output": 40000 } }
      }
    }
  }
}
EOF
  chmod 600 ~/.config/opencode/opencode.json
  echo "Done. ASI:One is ready for OpenWork."
)
```

4. When Terminal asks for your key, paste it and press **Return**. Nothing shows up
   as you paste. That's normal, it keeps your key hidden. After you press
   **Return**, Terminal confirms it with **Got your key**.
5. When you see **Done. ASI:One is ready for OpenWork.**, close Terminal.

#### Windows

1. If OpenWork is open, close it.
2. Open **PowerShell**: press the **Windows** key, type `PowerShell`, and press
   **Enter**.
3. Copy the command below with the copy button in its top corner, paste it into
   PowerShell with **Ctrl+V** or a right-click, and press **Enter**.

```powershell
& {
  $dir = Join-Path $HOME ".config\opencode"
  $file = Join-Path $dir "opencode.json"
  if ((Test-Path $file) -or (Test-Path (Join-Path $dir "opencode.jsonc"))) {
    Write-Host "You already have OpenCode settings, so nothing was changed."
    return
  }
  Write-Host "Your key stays hidden, so only * characters will appear when you paste it. That's normal."
  $secureKey = Read-Host "Paste your ASI:One API key, then press Enter" -AsSecureString
  $key = [System.Net.NetworkCredential]::new("", $secureKey).Password
  if (-not $key) {
    Write-Host "No key was pasted, so nothing was changed."
    return
  }
  Write-Host "Got your key ($($key.Length) characters, hidden)."
  New-Item -ItemType Directory -Force -Path $dir | Out-Null
  $settings = @"
{
  "model": "asi/asi1-ultra",
  "provider": {
    "asi": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "ASI:One",
      "options": {
        "baseURL": "https://api.asi1.ai/v1",
        "apiKey": "$key"
      },
      "models": {
        "asi1": { "name": "ASI1", "limit": { "context": 300000, "output": 40000 } },
        "asi1-ultra": { "name": "ASI1 Ultra", "limit": { "context": 800000, "output": 40000 } },
        "asi1-mini": { "name": "ASI1 Mini", "limit": { "context": 160000, "output": 40000 } }
      }
    }
  }
}
"@
  [System.IO.File]::WriteAllText($file, $settings)
  Write-Host "Done. ASI:One is ready for OpenWork."
}
```

4. When PowerShell asks for your key, paste it and press **Enter**. Only `*`
   characters show up as you paste. That's normal, it keeps your key hidden.
   After you press **Enter**, PowerShell confirms it with **Got your key**.
5. When you see **Done. ASI:One is ready for OpenWork.**, close PowerShell.

> **Info**
>
> The command only creates a new settings file, and only if you don't have one.
> It never changes existing settings, and your key stays on your computer.

## Check that OpenWork sees ASI:One

This video shows the next two sections: checking that OpenWork found ASI:One, then
choosing it in a workspace.

1. Open OpenWork.
2. Click **Sign in** at the bottom of the left sidebar to open the menu, then click
   **Settings**.
3. Under **Global**, click **AI Providers**.
4. Look for **ASI:One** in the list of connected providers. The **Config** label
   next to it means OpenWork picked it up from the settings file you just added.
5. Click **Back to app**.

## Choose ASI:One in a workspace

1. In your workspace, click the model name under the task box. On a new install it
   says **Big Pickle**, OpenWork's free starter model.
2. Click **Model**, then pick **ASI1** from the **ASI:One** list, or **ASI1 Ultra**
   if you're on a paid plan (Plus or Pro). You can also type `ASI` in the search
   box to find them.
3. Type a first message, for example `Hello, what can you help me with?`, and send
   it.

OpenWork shows what it's working on, then replies. From here, describe any task
in your own words.

## If something goes wrong

| What you see                                                                  | What to do                                                                                                                                                                                                                                                                                                                                                                                       |
| ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **You already have OpenCode settings, so nothing was changed.**               | You've used OpenCode on this computer before. Add ASI:One to your existing settings with [Set Up ASI:One in OpenCode](/documentation/coding/opencode) instead.                                                                                                                                                                                                                                   |
| **ASI:One** isn't in **AI Providers** or the model list                       | Quit OpenWork completely, then open it again.                                                                                                                                                                                                                                                                                                                                                    |
| Replies fail with a message about your key, or it worked before but now fails | Your key may be mistyped, deleted or replaced. Follow the steps below to add it again.                                                                                                                                                                                                                                                                                                           |
| A message about **baseURL** or a missing **endpoint**                         | Re-run [Add ASI:One to your settings](#add-asione-to-your-settings) so the file gets `provider.asi.options.baseURL` set to `https://api.asi1.ai/v1`. If you edit by hand, keep that legacy shape for OpenWork. OpenCode v2 migrates `options.baseURL` to `settings.baseURL`; for a v2 `providers` config written from scratch, see [Set Up ASI:One in OpenCode](/documentation/coding/opencode). |

To add your key again, create a new one at [asi1.ai/developer](https://asi1.ai/developer),
quit OpenWork, and remove the settings file the command made.

#### Mac

Paste this into Terminal and press **Return**:

```bash
rm ~/.config/opencode/opencode.json
```

#### Windows

Paste this into PowerShell and press **Enter**:

```powershell
Remove-Item "$HOME\.config\opencode\opencode.json"
```

Then repeat [Add ASI:One to your settings](#add-asione-to-your-settings).

## Next steps

1. **[Set Up ASI:One in Eigent](/documentation/everyday-work/eigent)**: another desktop app for handing off tasks
2. **[Set Up ASI:One for Coding](/documentation/coding/opencode)**: use the same models in coding tools