docs: add Ox Alpha on OpenCode guide

5fa104703356 · AtlantisPleb · · parent 4aab3422638b

docs: add Ox Alpha on OpenCode guide

Document how to reach the Ox Alpha preview through OpenCode Zen
(unauthenticated, model ID `x-preview-f-free`) and OpenCode Go
(authenticated, model ID `ox-alpha-free`). Include the `public`
API key marker behavior and verification results.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-Authored-By
Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>

Deploy story

What this commit did to the running system — joined from the forge receipt chain, the part a commit page elsewhere cannot show.

pushed
by user · WAL seq 400 · 2026-08-25T15:27:42.573161Z

Changed files

  • added docs/ox-alpha-on-opencode.md

Diff

1 file changed, +92 -0

docs/ox-alpha-on-opencode.md added +92

@@ -0,0 +1,92 @@

1
# Ox Alpha on OpenCode
2
3
Date: 2026-08-25
4
5
Status: Measured
6
7
You can reach the Ox Alpha model through OpenCode on two different endpoints:
8
OpenCode Zen and OpenCode Go. The Zen version is unauthenticated and free.
9
The Go version requires an OpenCode Go API key.
10
11
## OpenCode Zen (unauthenticated)
12
13
OpenCode serves a free preview of Ox Alpha through its Zen gateway. You do not
14
need an account or an API key.
15
16
The model ID is `x-preview-f-free` and the endpoint is:
17
18
```
19
POST https://opencode.ai/zen/v1/chat/completions
20
```
21
22
Example request:
23
24
```sh
25
curl -s -X POST https://opencode.ai/zen/v1/chat/completions \
26
  -H 'Content-Type: application/json' \
27
  -d '{
28
    "model": "x-preview-f-free",
29
    "messages": [
30
      {"role": "user", "content": "hi"}
31
    ],
32
    "stream": false
33
  }'
34
```
35
36
The public models list at `https://opencode.ai/zen/v1/models` also includes
37
`x-preview-f-free`. A measured response returned `cost: "0"`, so this is the
38
cheapest way to try Ox Alpha when it is available.
39
40
Note that the model is a limited-time free preview. It is rate-limited by source
41
IP and may become unavailable or change identifiers without notice.
42
43
## OpenCode Go (authenticated)
44
45
The same model is also listed in OpenCode Go as `ox-alpha-free`. This version
46
requires an OpenCode Go subscription and a workspace API key.
47
48
The model ID is `ox-alpha-free` and the endpoint is:
49
50
```
51
POST https://opencode.ai/zen/go/v1/chat/completions
52
```
53
54
Example request:
55
56
```sh
57
curl -s -X POST https://opencode.ai/zen/go/v1/chat/completions \
58
  -H 'Content-Type: application/json' \
59
  -H 'Authorization: Bearer $OPENCODE_GO_API_KEY' \
60
  -d '{
61
    "model": "ox-alpha-free",
62
    "messages": [
63
      {"role": "user", "content": "hi"}
64
    ],
65
    "stream": false
66
  }'
67
```
68
69
The Go gateway parses the `Authorization` header as a `Bearer` token and looks
70
up the key in the OpenCode console database. A missing, invalid, or exhausted
71
key returns `401`.
72
73
## The `public` API key marker
74
75
The OpenCode CLI provider in `packages/opencode/src/provider/provider.ts` sets
76
`apiKey: "public"` when it does not find a stored credential. This is not a real
77
key. The OpenCode gateway explicitly ignores the string `public` and treats the
78
request as unauthenticated. If the model does not allow anonymous access, the
79
gateway returns `401 Missing API key`.
80
81
## Verification
82
83
The measurements in this document were made on 2026-08-25:
84
85
- `GET https://opencode.ai/zen/v1/models` returned `x-preview-f-free` without
86
  authentication.
87
- `POST https://opencode.ai/zen/v1/chat/completions` with `x-preview-f-free`
88
  returned a `200` completion with `cost: "0"` and no `Authorization` header.
89
- `POST https://opencode.ai/zen/go/v1/chat/completions` with `ox-alpha-free`
90
  returned `401 Missing API key`.
91
92
Recheck the live endpoints before relying on these values in production.

This page updates live while a promote is in flight · changelog