mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-18 13:14:56 +03:00
feat(providers): add local ZCode ACP backend (#10184)
* feat(providers): add local ZCode ACP backend * test(snapshots): regenerate translate-path golden for zcode provider The new local ZCode ACP backend (zcode://app-server/stdio) was added to the provider catalog but the translate-path golden snapshot was not regenerated, so the combined suite (provider-translate-path-golden.test.ts) failed on the merged tip. Regenerate the snapshot to include the zcode translate-path entry. Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com> * docs(env): document ZCODE_* vars for the local zcode provider Registers the 11 ZCODE_* env vars read by the zcode executor (.env.example + docs/reference/ENVIRONMENT.md) so the env-doc-sync gate stays green. Co-authored-by: Diego Souza <8016841+diegosouzapw@users.noreply.github.com> * test(autoCombo): include zcode in the glm-family provider set #10184's local zcode backend advertises the full GLM_SHARED_MODELS line-up (registry/zcode, authType none) — same documented case as auggie and devin-cli-agentic. Update auto/glm provider-set assertion to include it. Co-authored-by: Diego Souza <8016841+diegosouzapw@users.noreply.github.com> --------- Co-authored-by: roomhacker <roomhacker@bezrabotnyi.com> Co-authored-by: adevwithpurpose <adevwithpurpose@users.noreply.github.com> Co-authored-by: diegosouzapw <8016841+diegosouzapw@users.noreply.github.com>
This commit is contained in:
@@ -85,6 +85,25 @@ export const CLI_TOOLS: Record<string, CliCatalogEntry> = {
|
||||
baseUrlSupport: "full",
|
||||
defaultCommand: "codex",
|
||||
},
|
||||
zcode: {
|
||||
id: "zcode",
|
||||
name: "ZCode (GLM Coding Plan)",
|
||||
color: "#3B82F6",
|
||||
description: "Local ZCode app-server backend; auth remains in the user's ZCode profile",
|
||||
docsUrl: "https://zcode.z.ai",
|
||||
configType: "custom",
|
||||
category: "code",
|
||||
vendor: "Z.ai",
|
||||
// ZCode's app-server is a native length-prefixed protocol, not ACP. The
|
||||
// zcode provider executor owns its lifecycle instead of ACP spawning it.
|
||||
acpSpawnable: false,
|
||||
baseUrlSupport: "none",
|
||||
defaultCommand: "zcode",
|
||||
notes: [
|
||||
{ type: "info", text: "Uses the local ZCode app-server and its existing builtin:zai-coding-plan login." },
|
||||
{ type: "warning", text: "The response is buffered until the ZCode turn completes." },
|
||||
],
|
||||
},
|
||||
droid: {
|
||||
id: "droid",
|
||||
name: "Factory Droid",
|
||||
|
||||
@@ -38,6 +38,8 @@ export const FREE_APIKEY_PROVIDER_IDS = new Set([
|
||||
// accepts an optional connection row for display/priority/testStatus tracking —
|
||||
// no apiKey is ever required or sent upstream.
|
||||
"auggie",
|
||||
// zcode is a local app-server backend; auth stays in the ZCode profile.
|
||||
"zcode",
|
||||
]);
|
||||
|
||||
export function supportsApiKeyOnFreeProvider(providerId: unknown): boolean {
|
||||
|
||||
@@ -157,6 +157,24 @@ export const NOAUTH_PROVIDERS = {
|
||||
text: "Augment (Auggie CLI) requires the `auggie` binary installed and authenticated locally (`auggie login`). OmniRoute spawns it as a subprocess and never sees or stores your Augment credentials.",
|
||||
},
|
||||
},
|
||||
zcode: {
|
||||
id: "zcode",
|
||||
alias: "zc",
|
||||
name: "ZCode (GLM Coding Plan)",
|
||||
icon: "terminal",
|
||||
color: "#3B82F6",
|
||||
textIcon: "ZC",
|
||||
website: "https://zcode.z.ai",
|
||||
noAuth: true,
|
||||
hasFree: false,
|
||||
serviceKinds: ["llm"],
|
||||
isLocalCli: true,
|
||||
authHint:
|
||||
"No API key stored by OmniRoute. The local ZCode app-server uses the existing builtin:zai-coding-plan login.",
|
||||
notice: {
|
||||
text: "ZCode runs locally through its native app-server. OmniRoute never receives or stores the Z.ai credential.",
|
||||
},
|
||||
},
|
||||
aihorde: {
|
||||
id: "aihorde",
|
||||
alias: "horde",
|
||||
|
||||
@@ -93,6 +93,17 @@ const CLI_TOOLS: Record<string, any> = {
|
||||
},
|
||||
},
|
||||
},
|
||||
zcode: {
|
||||
defaultCommand: "zcode",
|
||||
envBinKey: "ZCODE_BIN",
|
||||
requiresBinary: true,
|
||||
// The app-server performs a local runtime handshake and can be slower on
|
||||
// the first launch while the user's ZCode profile is loaded.
|
||||
healthcheckTimeoutMs: 15000,
|
||||
paths: {
|
||||
config: ".zcode",
|
||||
},
|
||||
},
|
||||
cline: {
|
||||
defaultCommand: "cline",
|
||||
envBinKey: "CLI_CLINE_BIN",
|
||||
|
||||
Reference in New Issue
Block a user