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
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Unreleased

- Added curated model support for `kimi-k2.6` -> `moonshotai/Kimi-K2.6` in the installer model picker and docs.
- Made local alias package bootstrap publish without npm provenance because provenance requires a supported CI/OIDC provider.
- Made alias package publishing skip cleanly until `@gonkagate/claude-code-setup` is bootstrapped on npm, with an explicit override for the first package publish.
- Added `@gonkagate/claude-code-setup` as a setup-style alias for the existing Claude Code installer.
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,11 +54,12 @@ You need:
- Node.js 18+
- a GonkaGate API key

## Supported Model
## Supported Models

Current public Claude Code model in the curated registry:
Current public Claude Code models in the curated registry:

- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `kimi-k2.6` -> `moonshotai/Kimi-K2.6` (default)

## What It Does

Expand Down
5 changes: 3 additions & 2 deletions docs/how-it-works.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,10 @@ These values are intentionally fixed by the installer:
- Auth variable: `ANTHROPIC_AUTH_TOKEN`
- Model selection comes only from a curated in-repo allowlist

Today the curated public Claude Code model registry contains one supported entry:
Today the curated public Claude Code model registry contains:

- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8` (default, current only option)
- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `kimi-k2.6` -> `moonshotai/Kimi-K2.6` (default)

Users provide only:

Expand Down
3 changes: 2 additions & 1 deletion docs/troubleshooting.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,10 @@ The installer writes Claude Code settings, but an existing direct login can stil

This installer writes the selected model from its curated GonkaGate-supported registry.

Today that curated list contains one option:
Today that curated list contains:

- `qwen3-235b` -> `qwen/qwen3-235b-a22b-instruct-2507-fp8`
- `kimi-k2.6` -> `moonshotai/Kimi-K2.6` (default)

If that model is unavailable, the likely cause is a backend deployment or model availability mismatch. This installer does not expose custom base URL or arbitrary custom model overrides, so the right next step is GonkaGate support or the backend troubleshooting docs in `gonka-proxy`.

Expand Down
7 changes: 7 additions & 0 deletions src/constants/models.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ const curatedModelRegistry = [
displayName: "Qwen 3 235B Instruct",
modelId: "qwen/qwen3-235b-a22b-instruct-2507-fp8",
description: "Current GonkaGate public Claude Code model.",
isDefault: false
},
{
key: "kimi-k2.6",
displayName: "MoonshotAI Kimi K2.6",
modelId: "moonshotai/Kimi-K2.6",
description: "GonkaGate public Claude Code model.",
isDefault: true
}
] as const satisfies readonly SupportedModelDefinition[];
Expand Down
2 changes: 1 addition & 1 deletion src/install/prompts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ export function buildModelPromptConfig(
value: model.key,
name: model.displayName,
short: model.key,
description: model.description ? `${model.description} Model ID: ${model.modelId}` : `Model ID: ${model.modelId}`
description: `${model.description ? `${model.description} ` : ""}Model ID: ${model.modelId}`
})),
pageSize: Math.min(models.length, 8),
loop: false,
Expand Down
8 changes: 7 additions & 1 deletion test/install.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ import { buildModelPromptConfig, buildTrackedLocalSettingsPromptConfig, promptFo
import { validateApiKey } from "../src/install/validate-api-key.js";
import { writeSettings } from "../src/install/write-settings.js";
import { CLAUDE_SETTINGS_SCHEMA_URL, GONKAGATE_BASE_URL } from "../src/constants/gateway.js";
import { DEFAULT_MODEL, DEFAULT_MODEL_KEY } from "../src/constants/models.js";
import { DEFAULT_MODEL, DEFAULT_MODEL_KEY, requireSupportedModel } from "../src/constants/models.js";

test("mergeSettingsWithGonkaEnv preserves unrelated settings and updates gateway env", () => {
const merged = mergeSettingsWithGonkaEnv(
Expand Down Expand Up @@ -81,6 +81,12 @@ test("parseArgs accepts supported --model values and rejects unsupported ones",
assert.throws(() => parseCliOptions(["--model", "not-supported"], silentOutput), /Allowed choices are/);
});

test("supported model registry includes kimi-k2.6", () => {
const model = requireSupportedModel("kimi-k2.6");

assert.equal(model.modelId, "moonshotai/Kimi-K2.6");
});

test("loadSettings rejects invalid JSON instead of overwriting it", async () => {
const directory = await mkdtemp(path.join(tmpdir(), "gonkagate-invalid-json-"));
const filePath = path.join(directory, "settings.json");
Expand Down
Loading