Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions docs/roleplay.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,11 +162,18 @@ usual safe-fallback statuses advance to the next entry. Set
`provider:model` entries to replace the list. ClinePass uses `CLINE_API_KEY`
and Cline's `reasoning.effort` field, up to `xhigh`.

Production sets it (`wrangler.jsonc`, 2026-10-05) to GLM-5.3 on ClinePass, then
MiMo-V2.6-Pro, GLM-5.3, GLM-5.3-Flash and GLM-5.2 on NanoGPT, then GLM-5.3-Flash and
MiMo-V2.6-Pro on ClinePass. ClinePass GLM-5.3 gave its first words in about 4 s; MiMo on
NanoGPT took 59 s, and 152 s on an adult turn, so a turn that falls back to it is slow.
OpenCode Go and NavyAI's free plan were refusing every request, so they are left out.
Production sets it (`wrangler.jsonc`, 2026-10-25) to DeepSeek V4.1 Flash, GLM-5.3 and
MiMo-V2.6-Pro on OpenCode Go, then GLM-5.3 on ClinePass, then MiMo-V2.6-Pro, GLM-5.3,
GLM-5.3-Flash and GLM-5.2 on NanoGPT, then GLM-5.3-Flash and MiMo-V2.6-Pro on ClinePass.
In 24 test turns on OpenCode Go (scene continuation, conflict, out-of-character recall and
a 20k-token lorebook lookup) every model answered and kept to the card. DeepSeek V4.1 Flash
was fastest (median 5.2 s a turn), wrote nearly as well as GLM-5.3 and used about a
thirtieth of GLM's allowance per turn, so it leads. GLM-5.3 wrote the strongest scenes
(8.3 s). MiMo-V2.6-Pro was slowest (13.5 s), with the shortest replies and some
point-of-view slips. Go meters each model against its own monthly allowance. ClinePass GLM-5.3 gave its first words in about 4 s; MiMo on NanoGPT
took 59 s, and 152 s on an adult turn, so a turn that falls back to it is slow. OpenCode Go
refused every request on 2026-10-05; the key it used then has since expired. NavyAI's free plan was
refusing every request, so it is left out.

With `ROLEPLAY_AUTO_ROUTE=intelligence`, plain `roleplay:auto` turns (and requests
without a roleplay model) use the same chain. Turns that set `routing.mode` or
Expand Down
11 changes: 8 additions & 3 deletions tests/test_roleplay_config_worker.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -246,13 +246,18 @@ test("deployment defaults roleplay generation to high reasoning", async () => {
assert.equal(config.vars?.ROLEPLAY_DEFAULT_REASONING_EFFORT, "high");
});

test("deployment starts roleplay on Cline Pass GLM 5.3 and keeps NanoGPT on the subscription", async () => {
test("deployment starts roleplay on OpenCode Go, then Cline Pass, and keeps NanoGPT on the subscription", async () => {
const configUrl = new URL("../wrangler.jsonc", import.meta.url);
const config = JSON.parse(await readFile(configUrl, "utf8"));

// Measured 2026-10-05: Cline Pass GLM 5.3 answered first in about 4 s, so it leads; MiMo on
// NanoGPT is the first fallback. OpenCode Go and NavyAI's free plan refused every request.
// Measured 2026-10-25 on OpenCode Go (24 roleplay turns, every one answered): DeepSeek V4.1 Flash
// was fastest (median 5.2 s) and wrote nearly as well as GLM 5.3 for about a thirtieth of its
// allowance, so it leads; GLM 5.3 (8.3 s, the strongest scenes) is next, then MiMo-V2.6-Pro
// (13.5 s, the shortest replies). Cline Pass GLM 5.3 follows them; MiMo on NanoGPT is next.
assert.deepEqual(config.vars?.ROLEPLAY_INTELLIGENCE_MODELS.split(","), [
"opencode:deepseek-v4.1-flash",
"opencode:glm-5.3",
"opencode:mimo-v2.6-pro",
"cline-pass:cline-pass/glm-5.3",
"nanogpt:xiaomi/mimo-v2.6-pro",
"nanogpt:z-ai/glm-5.3",
Expand Down
2 changes: 1 addition & 1 deletion wrangler.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@
"ROLEPLAY_PROVIDER_FAMILIES": "{\"nanogpt\":[\"glm\"],\"linkapi\":[\"kimi\"],\"navyai\":[\"glm\"]}",
"ROLEPLAY_PROVIDER_LIMITS": "{}",
"ROLEPLAY_AUTO_ROUTE": "intelligence",
"ROLEPLAY_INTELLIGENCE_MODELS": "cline-pass:cline-pass/glm-5.3,nanogpt:xiaomi/mimo-v2.6-pro,nanogpt:z-ai/glm-5.3,nanogpt:z-ai/glm-5.3-flash,nanogpt:z-ai/glm-5.2,cline-pass:cline-pass/glm-5.3-flash,cline-pass:cline-pass/mimo-v2.6-pro",
"ROLEPLAY_INTELLIGENCE_MODELS": "opencode:deepseek-v4.1-flash,opencode:glm-5.3,opencode:mimo-v2.6-pro,cline-pass:cline-pass/glm-5.3,nanogpt:xiaomi/mimo-v2.6-pro,nanogpt:z-ai/glm-5.3,nanogpt:z-ai/glm-5.3-flash,nanogpt:z-ai/glm-5.2,cline-pass:cline-pass/glm-5.3-flash,cline-pass:cline-pass/mimo-v2.6-pro",
"GLM_AUTO_OPTIMIZE": "true",
"GLM_AUTO_OPTIMIZE_TRIGGER_TOKENS": "8000",
"GLM_AUTO_OPTIMIZE_KEEP_RECENT_TURNS": "8",
Expand Down
Loading