Skip to content

Commit 754da7e

Browse files
committed
release: v0.3.2 — confirm auto-detect endpoints/model ids vs live OpenCode registry
- Verified against /config/providers: Zen (opencode/opencode-go) -> https://opencode.ai/zen/v1 + free deepseek-v4-flash-free; Google -> gemini-2.5-flash. - Fixed stale OpenAI default gpt-4o-mini -> gpt-5.4-mini (model no longer exists); updated all docs/examples. 97 tests pass.
1 parent e02ba9a commit 754da7e

14 files changed

Lines changed: 34 additions & 20 deletions

File tree

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"supervisor": {
33
"baseUrl": "https://api.openai.com/v1",
4-
"modelID": "gpt-4o-mini",
4+
"modelID": "gpt-5.4-mini",
55
"maxToolRounds": 8
66
},
77
"worker": {
88
"agent": "build",
9-
"providerID": "anthropic",
10-
"modelID": "claude-sonnet-4-5-20250929"
9+
"providerID": "opencode",
10+
"modelID": "deepseek-v4-flash-free"
1111
}
1212
}

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ All notable changes to this project are documented here.
44

55
Format based on [Keep a Changelog](https://keepachangelog.com/).
66

7+
## [0.3.2] - 2026-06-24
8+
9+
### Fixed
10+
11+
- **Confirmed supervisor auto-detect endpoints + model ids** against the live OpenCode provider registry (`/config/providers`): OpenCode Zen (`opencode` / `opencode-go`) → `https://opencode.ai/zen/v1` with the free `deepseek-v4-flash-free` model; Google → `gemini-2.5-flash`. Prefer the free Zen model first.
12+
- Updated the stale OpenAI default model (`gpt-4o-mini``gpt-5.4-mini`) in the supervisor default and all docs/examples.
13+
714
## [0.3.1] - 2026-06-24
815

916
### Added

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ Supervisor LLM credentials (provider process). **If you've already authenticated
9595

9696
```bash
9797
export RALPH_SUPERVISOR_API_KEY="..."
98-
export RALPH_SUPERVISOR_MODEL="gpt-4o-mini" # + RALPH_SUPERVISOR_BASE_URL for non-OpenAI endpoints
98+
export RALPH_SUPERVISOR_MODEL="gpt-5.4-mini" # + RALPH_SUPERVISOR_BASE_URL for non-OpenAI endpoints
9999
```
100100

101101
Or `.opencode/ralph-provider.json` — see [`.opencode/ralph-provider.example.json`](.opencode/ralph-provider.example.json). Check what resolved with `curl http://127.0.0.1:8787/api/health` (`supervisor.ready` / `model` / `source`).

docs/GETTINGSTARTEDGUIDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ The provider calls an LLM for supervisor chat turns (separate from your worker m
249249

250250
```bash
251251
export RALPH_SUPERVISOR_API_KEY="sk-..."
252-
export RALPH_SUPERVISOR_MODEL="gpt-4o-mini"
252+
export RALPH_SUPERVISOR_MODEL="gpt-5.4-mini"
253253
# export RALPH_SUPERVISOR_BASE_URL="https://api.openai.com/v1" # for non-OpenAI endpoints
254254
```
255255

docs/INSTALLATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,5 +165,5 @@ Use this path when you need to review or vendor every file.
165165

166166
```bash
167167
export RALPH_SUPERVISOR_API_KEY="..."
168-
export RALPH_SUPERVISOR_MODEL="gpt-4o-mini"
168+
export RALPH_SUPERVISOR_MODEL="gpt-5.4-mini"
169169
```

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@doeixd/opencode-ralph-rlm",
3-
"version": "0.3.1",
3+
"version": "0.3.2",
44
"description": "Ralph RLM v0.2: OpenCode supervisor provider + loop engine + worker plugin",
55
"type": "module",
66
"workspaces": [

packages/engine/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@doeixd/opencode-ralph-rlm-engine",
33
"private": true,
4-
"version": "0.3.1",
4+
"version": "0.3.2",
55
"description": "Ralph RLM loop engine — verify, rollover, OpenCode SDK worker lifecycle",
66
"license": "MIT",
77
"repository": {

packages/engine/src/setup.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -313,7 +313,7 @@ export async function setupProject(options: SetupOptions): Promise<SetupResult>
313313
jsonBlock({
314314
supervisor: {
315315
baseUrl: "https://api.openai.com/v1",
316-
modelID: "gpt-4o-mini",
316+
modelID: "gpt-5.4-mini",
317317
maxToolRounds: 8,
318318
},
319319
worker: {

packages/provider/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@doeixd/opencode-ralph-rlm-provider",
33
"private": true,
4-
"version": "0.3.1",
4+
"version": "0.3.2",
55
"description": "Ralph RLM OpenAI-compatible supervisor provider (Nitro)",
66
"license": "MIT",
77
"repository": {

packages/provider/server/lib/opencode-auth.ts

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,28 @@ export type DetectedSupervisorCreds = {
2020
source: string;
2121
};
2222

23-
/** Known OpenAI-compatible endpoints + a sensible default model per provider. */
23+
/**
24+
* Known OpenAI-compatible endpoints + a sensible (tool-calling capable) default
25+
* model per provider. Endpoints and model ids confirmed against the live
26+
* OpenCode provider registry (`/config/providers`) and provider docs:
27+
* - OpenCode Zen gateway uses OPENCODE_API_KEY; free models (`*-free`) are $0.
28+
* - Google Gemini exposes an OpenAI-compatible endpoint; key = GEMINI_API_KEY.
29+
*/
2430
const PROVIDER_ENDPOINTS: Record<string, { baseUrl: string; model: string }> = {
25-
// OpenCode Zen gateway (the user's keyed Zen access).
26-
"opencode-go": { baseUrl: "https://opencode.ai/zen/v1", model: "deepseek-v4-flash" },
31+
// OpenCode Zen — free model (same gateway/key as opencode-go).
32+
opencode: { baseUrl: "https://opencode.ai/zen/v1", model: "deepseek-v4-flash-free" },
33+
"opencode-go": { baseUrl: "https://opencode.ai/zen/v1", model: "deepseek-v4-flash-free" },
2734
// Google Gemini OpenAI-compatible endpoint.
2835
google: {
2936
baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai",
3037
model: "gemini-2.5-flash",
3138
},
3239
// OpenAI (only used if stored as a static api key, not OAuth).
33-
openai: { baseUrl: "https://api.openai.com/v1", model: "gpt-4o-mini" },
40+
openai: { baseUrl: "https://api.openai.com/v1", model: "gpt-5.4-mini" },
3441
};
3542

36-
/** Order to prefer when several keyed providers are available. */
37-
const PROVIDER_PRIORITY = ["opencode-go", "google", "openai"];
43+
/** Order to prefer when several keyed providers are available (free Zen first). */
44+
const PROVIDER_PRIORITY = ["opencode", "opencode-go", "google", "openai"];
3845

3946
function authFilePath(): string {
4047
const override = process.env.RALPH_OPENCODE_AUTH_PATH?.trim();

0 commit comments

Comments
 (0)