* feat(providers): add opencode-go provider support and onboarding * Onboard: unify OpenCode auth handling openclaw#42313 thanks @ImLukeF * Docs: merge OpenCode Zen and Go docs openclaw#42313 thanks @ImLukeF * Update CHANGELOG.md --------- Co-authored-by: Ubuntu <ubuntu@vps-90352893.vps.ovh.ca> Co-authored-by: Vincent Koc <vincentkoc@ieee.org>
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import type { OpenClawConfig } from "../config/config.js";
|
|
import { applyAgentDefaultModelPrimary } from "./onboard-auth.config-shared.js";
|
|
import { OPENCODE_GO_DEFAULT_MODEL_REF } from "./opencode-go-model-default.js";
|
|
|
|
const OPENCODE_GO_ALIAS_DEFAULTS: Record<string, string> = {
|
|
"opencode-go/kimi-k2.5": "Kimi",
|
|
"opencode-go/glm-5": "GLM",
|
|
"opencode-go/minimax-m2.5": "MiniMax",
|
|
};
|
|
|
|
export function applyOpencodeGoProviderConfig(cfg: OpenClawConfig): OpenClawConfig {
|
|
// Use the built-in opencode-go provider from pi-ai; only seed allowlist aliases.
|
|
const models = { ...cfg.agents?.defaults?.models };
|
|
for (const [modelRef, alias] of Object.entries(OPENCODE_GO_ALIAS_DEFAULTS)) {
|
|
models[modelRef] = {
|
|
...models[modelRef],
|
|
alias: models[modelRef]?.alias ?? alias,
|
|
};
|
|
}
|
|
|
|
return {
|
|
...cfg,
|
|
agents: {
|
|
...cfg.agents,
|
|
defaults: {
|
|
...cfg.agents?.defaults,
|
|
models,
|
|
},
|
|
},
|
|
};
|
|
}
|
|
|
|
export function applyOpencodeGoConfig(cfg: OpenClawConfig): OpenClawConfig {
|
|
const next = applyOpencodeGoProviderConfig(cfg);
|
|
return applyAgentDefaultModelPrimary(next, OPENCODE_GO_DEFAULT_MODEL_REF);
|
|
}
|