@polderlabs/bizar 6.2.1 → 6.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cli/bin.mjs +69 -0
- package/cli/commands/cline-cmd.mjs +289 -0
- package/cli/commands/rca.mjs +198 -0
- package/cli/commands/rca.test.mjs +99 -0
- package/cli/commands/setup-provider.mjs +466 -0
- package/cli/commands/setup-provider.test.mjs +311 -0
- package/cli/commands/validate.mjs +81 -13
- package/cli/commands/validate.test.mjs +36 -10
- package/cli/provision.mjs +52 -77
- package/config/agents/baldr.md +1 -1
- package/config/agents/forseti.md +1 -1
- package/config/agents/frigg.md +1 -1
- package/config/agents/heimdall.md +1 -1
- package/config/agents/hermod.md +1 -1
- package/config/agents/mimir.md +1 -1
- package/config/agents/odin.md +1 -1
- package/config/agents/quick.md +1 -1
- package/config/agents/semble-search.md +1 -1
- package/config/agents/thor.md +1 -1
- package/config/agents/tyr.md +1 -1
- package/config/agents/vidarr.md +1 -1
- package/config/agents/vor.md +1 -1
- package/config/cline.json.template +20 -93
- package/config/commands/setup-provider.md +95 -0
- package/package.json +2 -2
- package/plugins/bizar/package.json +17 -6
- package/plugins/bizar/src/clineruntime.ts +1 -1
- package/plugins/bizar/tests/clineruntime-config.test.ts +24 -3
- package/scripts/bh-full-e2e.mjs +64 -9
package/cli/provision.mjs
CHANGED
|
@@ -860,94 +860,69 @@ export async function patchClineJson({ dryRun, force }) {
|
|
|
860
860
|
(p) => Array.isArray(p) && typeof p[0] === 'string' && p[0].includes('plugins/bizar'),
|
|
861
861
|
);
|
|
862
862
|
|
|
863
|
-
// v6.2.
|
|
864
|
-
//
|
|
863
|
+
// v6.2.2 — Multi-patch installer. On every install/update, ensure the
|
|
864
|
+
// Bizar config surface is present in cline.json:
|
|
865
865
|
//
|
|
866
|
-
// 1.
|
|
867
|
-
// missing so the install is "complete" out of the box.
|
|
868
|
-
// 2. provider.minimax (legacy fallback) — kept for back-compat.
|
|
869
|
-
// 3. default_agent — set to "odin" if missing.
|
|
870
|
-
// 4. $schema — add if missing (helps editors validate).
|
|
871
|
-
// 5. instructions — point at .cline/instructions/bizar-tools.md if
|
|
872
|
-
// missing, so Cline loads the tool reference on every session.
|
|
873
|
-
// 6. plugin entry — add if missing (the critical one; without this
|
|
866
|
+
// 1. plugin entry — add if missing (the critical one; without this
|
|
874
867
|
// the Bizar plugin never loads).
|
|
875
|
-
//
|
|
876
|
-
//
|
|
868
|
+
// 2. default_agent — set to "odin" if missing.
|
|
869
|
+
// 3. $schema — add if missing (helps editors validate).
|
|
870
|
+
// 4. instructions — point at .cline/instructions/bizar-tools.md if
|
|
871
|
+
// missing, so Cline loads the tool reference on every session.
|
|
872
|
+
// 5. permissions — set to "allow" if missing.
|
|
873
|
+
// 6. snapshot — set to false if missing.
|
|
874
|
+
//
|
|
875
|
+
// v6.2.2 REMOVED:
|
|
876
|
+
// - provider.9router (was added automatically in v6.0.1–v6.2.1)
|
|
877
|
+
// - provider.minimax (legacy fallback)
|
|
878
|
+
//
|
|
879
|
+
// Per user request: "the installer should do nothing with providers,
|
|
880
|
+
// the user has to configure it themselves." The user picks their own
|
|
881
|
+
// provider, plugs in their API key, and configures which model catalog
|
|
882
|
+
// to use. The installer just sets up the Bizar scaffolding (plugin
|
|
883
|
+
// entry, default agent, schema, instructions, etc.) and stays out of
|
|
884
|
+
// provider configuration entirely.
|
|
877
885
|
//
|
|
878
886
|
// All patches are additive and idempotent. We never overwrite a value
|
|
879
887
|
// the user has set; the `force` flag bypasses that protection for the
|
|
880
888
|
// plugin entry only.
|
|
881
|
-
let addedProvider = false;
|
|
882
889
|
let addedDefaultAgent = false;
|
|
883
890
|
let addedSchema = false;
|
|
884
891
|
let addedInstructions = false;
|
|
885
892
|
let addedPermissions = false;
|
|
886
893
|
let addedSnapshot = false;
|
|
887
|
-
let added9router = false;
|
|
888
|
-
|
|
889
|
-
if (!cfg.provider) cfg.provider = {};
|
|
890
|
-
|
|
891
|
-
// 1. provider.9router — preferred gateway.
|
|
892
|
-
if (!cfg.provider['9router'] && existsSync(join(REPO_ROOT, 'config', 'cline.json'))) {
|
|
893
|
-
try {
|
|
894
|
-
const tpl = JSON.parse(readFileSync(join(REPO_ROOT, 'config', 'cline.json'), 'utf8'));
|
|
895
|
-
if (tpl.provider && tpl.provider['9router']) {
|
|
896
|
-
cfg.provider['9router'] = tpl.provider['9router'];
|
|
897
|
-
added9router = true;
|
|
898
|
-
}
|
|
899
|
-
} catch { /* ignore template parse errors */ }
|
|
900
|
-
}
|
|
901
894
|
|
|
902
|
-
//
|
|
903
|
-
const DEFAULT_MINIMAX_BLOCK = {
|
|
904
|
-
options: {
|
|
905
|
-
baseURL: 'https://api.minimax.io/v1',
|
|
906
|
-
apiKey: '{env:MiniMax_API_KEY}',
|
|
907
|
-
},
|
|
908
|
-
models: {
|
|
909
|
-
'MiniMax-M2.7-Flash': { name: 'MiniMax M2.7 Flash', interleaved: { field: 'reasoning_details' }, reasoning: true },
|
|
910
|
-
'MiniMax-M2.7': { name: 'MiniMax M2.7', interleaved: { field: 'reasoning_details' }, reasoning: true },
|
|
911
|
-
'MiniMax-M3': { name: 'MiniMax M3', interleaved: { field: 'reasoning_details' }, reasoning: true },
|
|
912
|
-
'MiniMax-M3-Reasoning': { name: 'MiniMax M3 Reasoning', interleaved: { field: 'reasoning_details' }, reasoning: true },
|
|
913
|
-
},
|
|
914
|
-
};
|
|
915
|
-
if (!cfg.provider.minimax) {
|
|
916
|
-
cfg.provider.minimax = DEFAULT_MINIMAX_BLOCK;
|
|
917
|
-
addedProvider = true;
|
|
918
|
-
}
|
|
919
|
-
|
|
920
|
-
// 3. default_agent
|
|
895
|
+
// 1. default_agent
|
|
921
896
|
if (!cfg.default_agent) {
|
|
922
897
|
cfg.default_agent = 'odin';
|
|
923
898
|
addedDefaultAgent = true;
|
|
924
899
|
}
|
|
925
900
|
|
|
926
|
-
//
|
|
901
|
+
// 2. $schema
|
|
927
902
|
if (!cfg.$schema) {
|
|
928
903
|
cfg.$schema = 'https://docs.cline.bot/config.json';
|
|
929
904
|
addedSchema = true;
|
|
930
905
|
}
|
|
931
906
|
|
|
932
|
-
//
|
|
907
|
+
// 3. instructions — point at the bundled Bizar tools reference.
|
|
933
908
|
if (!cfg.instructions || (Array.isArray(cfg.instructions) && cfg.instructions.length === 0)) {
|
|
934
909
|
cfg.instructions = ['.cline/instructions/bizar-tools.md'];
|
|
935
910
|
addedInstructions = true;
|
|
936
911
|
}
|
|
937
912
|
|
|
938
|
-
//
|
|
913
|
+
// 4. permission
|
|
939
914
|
if (!cfg.permission) {
|
|
940
915
|
cfg.permission = 'allow';
|
|
941
916
|
addedPermissions = true;
|
|
942
917
|
}
|
|
943
918
|
|
|
944
|
-
//
|
|
919
|
+
// 5. snapshot
|
|
945
920
|
if (typeof cfg.snapshot !== 'boolean') {
|
|
946
921
|
cfg.snapshot = false;
|
|
947
922
|
addedSnapshot = true;
|
|
948
923
|
}
|
|
949
924
|
|
|
950
|
-
const anyAdded =
|
|
925
|
+
const anyAdded = addedDefaultAgent || addedSchema
|
|
951
926
|
|| addedInstructions || addedPermissions || addedSnapshot;
|
|
952
927
|
|
|
953
928
|
if (hasEntry && !force && !anyAdded) {
|
|
@@ -957,8 +932,6 @@ export async function patchClineJson({ dryRun, force }) {
|
|
|
957
932
|
if (dryRun) {
|
|
958
933
|
const added = [];
|
|
959
934
|
if (!hasEntry) added.push('plugin entry');
|
|
960
|
-
if (added9router) added.push('provider.9router');
|
|
961
|
-
if (addedProvider) added.push('provider.minimax');
|
|
962
935
|
if (addedDefaultAgent) added.push('default_agent');
|
|
963
936
|
if (addedSchema) added.push('$schema');
|
|
964
937
|
if (addedInstructions) added.push('instructions');
|
|
@@ -988,8 +961,6 @@ export async function patchClineJson({ dryRun, force }) {
|
|
|
988
961
|
writeFileSync(cfgPath, JSON.stringify(cfg, null, 2) + '\n');
|
|
989
962
|
const added = [];
|
|
990
963
|
if (!hasEntry) added.push('plugin entry');
|
|
991
|
-
if (added9router) added.push('provider.9router');
|
|
992
|
-
if (addedProvider) added.push('provider.minimax');
|
|
993
964
|
if (addedDefaultAgent) added.push('default_agent');
|
|
994
965
|
if (addedSchema) added.push('$schema');
|
|
995
966
|
if (addedInstructions) added.push('instructions');
|
|
@@ -1973,29 +1944,33 @@ export async function runProvision(opts = {}) {
|
|
|
1973
1944
|
console.log(chalk.green(`\n ✓ ${mode === 'update' ? 'Update' : 'Install'} complete\n`));
|
|
1974
1945
|
}
|
|
1975
1946
|
|
|
1976
|
-
// ── 13.
|
|
1977
|
-
//
|
|
1978
|
-
//
|
|
1979
|
-
//
|
|
1947
|
+
// ── 13. Provider bootstrap warning ───────────────────────────────
|
|
1948
|
+
// v6.2.2 — The installer no longer configures a provider. The user
|
|
1949
|
+
// must add their own. After a successful install, surface a clear
|
|
1950
|
+
// hint pointing them at the right places.
|
|
1980
1951
|
if (mode === 'install' && !dryRun && !anyFail) {
|
|
1981
|
-
const
|
|
1982
|
-
const
|
|
1983
|
-
const
|
|
1984
|
-
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
(
|
|
1988
|
-
|
|
1989
|
-
|
|
1990
|
-
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
console.log(chalk.
|
|
1996
|
-
console.log(chalk.
|
|
1997
|
-
|
|
1998
|
-
console.log(chalk.
|
|
1952
|
+
const cfgPath = join(CLINE_DIR, 'cline.json');
|
|
1953
|
+
const cfg = readJsonSafe(cfgPath, null);
|
|
1954
|
+
const hasProvider = cfg && cfg.provider && Object.keys(cfg.provider).length > 0;
|
|
1955
|
+
if (!hasProvider) {
|
|
1956
|
+
console.log(chalk.yellow(' ⚠ No provider configured in cline.json.'));
|
|
1957
|
+
console.log(chalk.yellow(' `bizar install` no longer touches provider config (v6.2.2+).'));
|
|
1958
|
+
console.log(chalk.yellow(' You must add one yourself — see the "Provider setup" section below.'));
|
|
1959
|
+
console.log('');
|
|
1960
|
+
console.log(chalk.cyan(' ┌─ Provider setup ─────────────────────────────────────────────┐'));
|
|
1961
|
+
console.log(chalk.cyan(' │ 1. Edit ~/.cline/cline.json and add a `provider` block: │'));
|
|
1962
|
+
console.log(chalk.cyan(' │ { "provider": { "9router": { │'));
|
|
1963
|
+
console.log(chalk.cyan(' │ "baseUrl": "http://localhost:20128/v1", │'));
|
|
1964
|
+
console.log(chalk.cyan(' │ "apiKey": "<your-key>", │'));
|
|
1965
|
+
console.log(chalk.cyan(' │ "models": { "minimax/MiniMax-M3": {}, │'));
|
|
1966
|
+
console.log(chalk.cyan(' │ "minimax/MiniMax-M2.7": {} } } } │'));
|
|
1967
|
+
console.log(chalk.cyan(' │ │'));
|
|
1968
|
+
console.log(chalk.cyan(' │ 2. Or run `bizar connect` for an interactive TUI setup. │'));
|
|
1969
|
+
console.log(chalk.cyan(' └──────────────────────────────────────────────────────────────┘'));
|
|
1970
|
+
console.log('');
|
|
1971
|
+
console.log(chalk.dim(' Models available at http://localhost:20128/v1/models:'));
|
|
1972
|
+
console.log(chalk.dim(' minimax/MiniMax-M3, minimax/MiniMax-M2.7, nvidia/minimaxai/minimax-m3,'));
|
|
1973
|
+
console.log(chalk.dim(' nvidia/z-ai/glm-5.2, nvidia/deepseek-ai/deepseek-v4-pro, etc.'));
|
|
1999
1974
|
console.log('');
|
|
2000
1975
|
}
|
|
2001
1976
|
}
|
package/config/agents/baldr.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Baldr — UI/UX design system specialist. Creates DESIGN.md files using Google's design.md standard. Aesthetic direction, typography, design tokens, anti-slop audits. Does not implement code.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#ec4899"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/forseti.md
CHANGED
package/config/agents/frigg.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Frigg — Read-only codebase Q&A. Answers questions about the project with file references, never modifies anything. Routes to no one.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#f472b6"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Heimdall — Simple, routine, and deterministic tasks using DeepSeek. Quick edits, mechanical work, file operations. The ever-watchful guardian.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#10b981"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/hermod.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Hermod — Git and GitHub operations specialist using MiniMax M2.7. The only agent allowed to perform write-level git (commit, push, merge, rebase, branch) and `gh` CLI operations.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#f59e0b"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/mimir.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Mimir — Deep codebase research and exploration. Uses Semble as primary search tool. Architecture analysis, pattern discovery, documentation research, and project initialization.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#06b6d4"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/odin.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Odin — Pure router that delegates all work to subagents. Routes across Frigg (DeepSeek/Q&A), Vör (DeepSeek/clarify), Mimir (DeepSeek/research), Heimdall (DeepSeek/simple), Hermod (M2.7/git), Thor (M2.7/mid), Baldr (M2.7/design), Tyr (M3/top), Vidarr (GPT-5.5/ultra), Forseti (verifier/M3).
|
|
3
3
|
mode: primary
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M3
|
|
5
5
|
color: "#6366f1"
|
|
6
6
|
permission:
|
|
7
7
|
task: allow
|
package/config/agents/quick.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Quick (quick) — fast single-shot tasks. No delegation, no parallel streams. Use for small edits, mechanical changes, one-shot questions. Routes to no one.
|
|
3
3
|
mode: primary
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7-highspeed
|
|
5
5
|
color: "#22d3ee"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Code search agent for exploring any codebase. Use for finding code by intent, locating implementations, understanding how something works, or discovering related code. Prefer over Bash/Read for any semantic or exploratory question.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#64748b"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/thor.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Thor — Handles medium-complexity implementation tasks using MiniMax M2.7. New features, non-trivial debugging, refactoring, code review, and writing tests.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#a855f7"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/tyr.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Tyr — Handles the most complex implementation, debugging, and architectural work using MiniMax M3. Reserved for the hardest problems. Always plan-then-Forseti-gate.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M3
|
|
5
5
|
color: "#dc2626"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/vidarr.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Vidarr — The ultimate fallback via MiniMax M3. For the hardest problems when Tyr stalls, debugging is stuck, or novel insight is needed. Use sparingly — highest cost.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M3
|
|
5
5
|
color: "#0ea5e9"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
package/config/agents/vor.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: Vör — Asks clarifying questions for ambiguous or incomplete requests. Reads project context first, then asks one targeted, project-specific question.
|
|
3
3
|
mode: subagent
|
|
4
|
-
model:
|
|
4
|
+
model: minimaxcustom/MiniMax-M2.7
|
|
5
5
|
color: "#a78bfa"
|
|
6
6
|
permission:
|
|
7
7
|
read: allow
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://docs.cline.bot/config.json",
|
|
3
3
|
"instructions": [".cline/instructions/bizar-tools.md"],
|
|
4
|
-
"model": "
|
|
5
|
-
"small_model": "
|
|
4
|
+
"model": "minimaxcustom/MiniMax-M3",
|
|
5
|
+
"small_model": "minimaxcustom/MiniMax-M2.7",
|
|
6
6
|
"default_agent": "odin",
|
|
7
7
|
"permission": "allow",
|
|
8
8
|
"snapshot": false,
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"threshold": 0.5,
|
|
36
36
|
"preserve_recent": 10,
|
|
37
37
|
"strategy": "summarize",
|
|
38
|
-
"model": "
|
|
38
|
+
"model": "minimaxcustom/MiniMax-M3"
|
|
39
39
|
}
|
|
40
40
|
}]
|
|
41
41
|
],
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"odin": {
|
|
53
53
|
"description": "Odin — Pure router that delegates all work to subagents.",
|
|
54
54
|
"mode": "primary",
|
|
55
|
-
"model": "
|
|
55
|
+
"model": "minimaxcustom/MiniMax-M3",
|
|
56
56
|
"color": "#6366f1",
|
|
57
57
|
"permission": {
|
|
58
58
|
"task": "allow",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"vor": {
|
|
67
67
|
"description": "Vör — The Questioning One.",
|
|
68
68
|
"mode": "subagent",
|
|
69
|
-
"model": "
|
|
69
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
70
70
|
"color": "#8b5cf6",
|
|
71
71
|
"permission": {
|
|
72
72
|
"read": "allow",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"frigg": {
|
|
78
78
|
"description": "Frigg — All-knowing Q&A agent.",
|
|
79
79
|
"mode": "primary",
|
|
80
|
-
"model": "
|
|
80
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
81
81
|
"color": "#06b6d4",
|
|
82
82
|
"permission": {
|
|
83
83
|
"read": "allow",
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
"quick": {
|
|
94
94
|
"description": "Quick — Fast single-shot tasks.",
|
|
95
95
|
"mode": "primary",
|
|
96
|
-
"model": "
|
|
96
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
97
97
|
"color": "#22d3ee",
|
|
98
98
|
"permission": {
|
|
99
99
|
"read": "allow",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"mimir": {
|
|
113
113
|
"description": "Mimir — Research and codebase exploration agent.",
|
|
114
114
|
"mode": "subagent",
|
|
115
|
-
"model": "
|
|
115
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
116
116
|
"color": "#0ea5e9",
|
|
117
117
|
"permission": {
|
|
118
118
|
"read": "allow",
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"heimdall": {
|
|
131
131
|
"description": "Heimdall — Simple, routine, deterministic tasks.",
|
|
132
132
|
"mode": "subagent",
|
|
133
|
-
"model": "
|
|
133
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
134
134
|
"color": "#10b981",
|
|
135
135
|
"permission": {
|
|
136
136
|
"read": "allow",
|
|
@@ -147,7 +147,7 @@
|
|
|
147
147
|
"hermod": {
|
|
148
148
|
"description": "Hermod — Git and GitHub operations specialist.",
|
|
149
149
|
"mode": "subagent",
|
|
150
|
-
"model": "
|
|
150
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
151
151
|
"color": "#06b6d4",
|
|
152
152
|
"permission": {
|
|
153
153
|
"read": "allow",
|
|
@@ -163,7 +163,7 @@
|
|
|
163
163
|
"thor": {
|
|
164
164
|
"description": "Thor — Medium-complexity tasks, strong and reliable.",
|
|
165
165
|
"mode": "subagent",
|
|
166
|
-
"model": "
|
|
166
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
167
167
|
"color": "#a855f7",
|
|
168
168
|
"permission": {
|
|
169
169
|
"read": "allow",
|
|
@@ -180,7 +180,7 @@
|
|
|
180
180
|
"baldr": {
|
|
181
181
|
"description": "Baldr — UI/UX design system specialist.",
|
|
182
182
|
"mode": "subagent",
|
|
183
|
-
"model": "
|
|
183
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
184
184
|
"color": "#ec4899",
|
|
185
185
|
"permission": {
|
|
186
186
|
"read": "allow",
|
|
@@ -197,7 +197,7 @@
|
|
|
197
197
|
"tyr": {
|
|
198
198
|
"description": "Tyr — Complex implementation, debugging, architecture.",
|
|
199
199
|
"mode": "subagent",
|
|
200
|
-
"model": "
|
|
200
|
+
"model": "minimaxcustom/MiniMax-M3",
|
|
201
201
|
"color": "#f59e0b",
|
|
202
202
|
"permission": {
|
|
203
203
|
"read": "allow",
|
|
@@ -214,7 +214,7 @@
|
|
|
214
214
|
"vidarr": {
|
|
215
215
|
"description": "Vidarr — Ultimate fallback via MiniMax M3.",
|
|
216
216
|
"mode": "subagent",
|
|
217
|
-
"model": "
|
|
217
|
+
"model": "minimaxcustom/MiniMax-M3",
|
|
218
218
|
"color": "#dc2626",
|
|
219
219
|
"permission": {
|
|
220
220
|
"read": "allow",
|
|
@@ -231,7 +231,7 @@
|
|
|
231
231
|
"forseti": {
|
|
232
232
|
"description": "Forseti — Audits and corrects plans before execution.",
|
|
233
233
|
"mode": "subagent",
|
|
234
|
-
"model": "
|
|
234
|
+
"model": "minimaxcustom/MiniMax-M3",
|
|
235
235
|
"color": "#ef4444",
|
|
236
236
|
"permission": {
|
|
237
237
|
"read": "allow",
|
|
@@ -249,7 +249,7 @@
|
|
|
249
249
|
"browser-harness": {
|
|
250
250
|
"description": "browser-harness — Primary agent for browser-driven E2E verification. No-edit permissions. Drives Chrome via CDP for end-to-end testing of web apps.",
|
|
251
251
|
"mode": "primary",
|
|
252
|
-
"model": "
|
|
252
|
+
"model": "minimaxcustom/MiniMax-M2.7",
|
|
253
253
|
"color": "#84cc16",
|
|
254
254
|
"permission": {
|
|
255
255
|
"read": "allow",
|
|
@@ -332,84 +332,11 @@
|
|
|
332
332
|
"description": "Validate the Bizar install: cline.json, plugin entry, agents, skills, hooks, rules, commands, and provider config.",
|
|
333
333
|
"agent": "heimdall",
|
|
334
334
|
"template": "commands-bizar/validate.md\n\n$ARGUMENTS"
|
|
335
|
-
}
|
|
336
|
-
},
|
|
337
|
-
"provider": {
|
|
338
|
-
"9router": {
|
|
339
|
-
"baseUrl": "http://localhost:20128/v1",
|
|
340
|
-
"apiKey": "${env:NINEROUTER_KEY}",
|
|
341
|
-
"models": {
|
|
342
|
-
"minimax/MiniMax-M3": {
|
|
343
|
-
"interleaved": { "field": "reasoning_details" },
|
|
344
|
-
"reasoning": true,
|
|
345
|
-
"options": {
|
|
346
|
-
"thinking": { "type": "enabled" }
|
|
347
|
-
}
|
|
348
|
-
},
|
|
349
|
-
"minimax/MiniMax-M2.7": {
|
|
350
|
-
"interleaved": { "field": "reasoning_details" },
|
|
351
|
-
"reasoning": true,
|
|
352
|
-
"options": {
|
|
353
|
-
"thinking": { "type": "enabled" }
|
|
354
|
-
}
|
|
355
|
-
},
|
|
356
|
-
"minimax/MiniMax-M2.5": {
|
|
357
|
-
"interleaved": { "field": "reasoning_details" },
|
|
358
|
-
"reasoning": true,
|
|
359
|
-
"options": {
|
|
360
|
-
"thinking": { "type": "enabled" }
|
|
361
|
-
}
|
|
362
|
-
},
|
|
363
|
-
"minimax/MiniMax-M2.1": {
|
|
364
|
-
"interleaved": { "field": "reasoning_details" },
|
|
365
|
-
"reasoning": true,
|
|
366
|
-
"options": {
|
|
367
|
-
"thinking": { "type": "enabled" }
|
|
368
|
-
}
|
|
369
|
-
},
|
|
370
|
-
"kr/auto": {
|
|
371
|
-
"reasoning": false
|
|
372
|
-
},
|
|
373
|
-
"kr/auto-thinking": {
|
|
374
|
-
"reasoning": true
|
|
375
|
-
},
|
|
376
|
-
"kr/claude-sonnet-4.5": {
|
|
377
|
-
"reasoning": false
|
|
378
|
-
},
|
|
379
|
-
"kr/claude-haiku-4.5": {
|
|
380
|
-
"reasoning": false
|
|
381
|
-
},
|
|
382
|
-
"kr/deepseek-3.2": {
|
|
383
|
-
"reasoning": false
|
|
384
|
-
},
|
|
385
|
-
"openrouter/cohere/north-mini-code:free": {
|
|
386
|
-
"reasoning": false
|
|
387
|
-
},
|
|
388
|
-
"openrouter/poolside/laguna-m.1:free": {
|
|
389
|
-
"reasoning": false
|
|
390
|
-
},
|
|
391
|
-
"openrouter/nvidia/nemotron-3-super-120b-a12b:free": {
|
|
392
|
-
"reasoning": true
|
|
393
|
-
}
|
|
394
|
-
}
|
|
395
335
|
},
|
|
396
|
-
"
|
|
397
|
-
"
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
"reasoning": true,
|
|
401
|
-
"options": {
|
|
402
|
-
"thinking": { "type": "enabled" }
|
|
403
|
-
}
|
|
404
|
-
},
|
|
405
|
-
"MiniMax-M2.7": {
|
|
406
|
-
"interleaved": { "field": "reasoning_details" },
|
|
407
|
-
"reasoning": true,
|
|
408
|
-
"options": {
|
|
409
|
-
"thinking": { "type": "enabled" }
|
|
410
|
-
}
|
|
411
|
-
}
|
|
412
|
-
}
|
|
336
|
+
"setup-provider": {
|
|
337
|
+
"description": "Configure a provider in cline.json. Since v6.2.2 the installer no longer touches provider config — use this to add your own.",
|
|
338
|
+
"agent": "heimdall",
|
|
339
|
+
"template": "commands-bizar/setup-provider.md\n\n$ARGUMENTS"
|
|
413
340
|
}
|
|
414
341
|
}
|
|
415
342
|
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Configure a provider in cline.json (apiKey, baseUrl, model catalog). The installer no longer touches provider config — use this command to set one up.
|
|
3
|
+
agent: heimdall
|
|
4
|
+
---
|
|
5
|
+
# /setup-provider — Configure a provider in cline.json
|
|
6
|
+
|
|
7
|
+
The Bizar installer no longer configures a provider for you (since
|
|
8
|
+
v6.2.2 — the user owns provider config). Use this command to add
|
|
9
|
+
or update a provider in `~/.cline/cline.json`.
|
|
10
|
+
|
|
11
|
+
## What It Does
|
|
12
|
+
|
|
13
|
+
Interactively (or non-interactively with flags), the setup-provider
|
|
14
|
+
command writes a `provider` block to `~/.cline/cline.json` with:
|
|
15
|
+
|
|
16
|
+
- `baseUrl` — the API endpoint (e.g. `http://localhost:20128/v1` for
|
|
17
|
+
the local 9Router gateway)
|
|
18
|
+
- `apiKey` — the provider's API key (read from `env:` reference or
|
|
19
|
+
direct value)
|
|
20
|
+
- `models` — the model catalog (the IDs returned by
|
|
21
|
+
`GET /v1/models`)
|
|
22
|
+
|
|
23
|
+
## Default: 9Router Gateway
|
|
24
|
+
|
|
25
|
+
If the user invokes `/setup-provider` with no arguments, default to
|
|
26
|
+
the local 9Router gateway at `http://localhost:20128/v1`. The
|
|
27
|
+
catalog comes from `GET http://localhost:20128/v1/models`. As of
|
|
28
|
+
v6.2.2, that catalog includes:
|
|
29
|
+
|
|
30
|
+
- `minimax/MiniMax-M3` (reasoning)
|
|
31
|
+
- `minimax/MiniMax-M2.7` (reasoning)
|
|
32
|
+
- `nvidia/minimaxai/minimax-m3` (reasoning)
|
|
33
|
+
- `nvidia/minimaxai/minimax-m2.7` (reasoning)
|
|
34
|
+
- `nvidia/z-ai/glm-5.2`
|
|
35
|
+
- `nvidia/deepseek-ai/deepseek-v4-pro`
|
|
36
|
+
- `nvidia/deepseek-ai/deepseek-v4-flash`
|
|
37
|
+
- `nvidia/moonshotai/kimi-k2.6`
|
|
38
|
+
- `nvidia/nemotron-3-ultra-550b-a55b`
|
|
39
|
+
- `openrouter/cohere/north-mini-code:free`
|
|
40
|
+
- `openrouter/poolside/laguna-m.1:free`
|
|
41
|
+
- `openrouter/nvidia/nemotron-3-super-120b-a12b:free`
|
|
42
|
+
- (and several more `minimax/MiniMax-M2.x` variants)
|
|
43
|
+
|
|
44
|
+
## Flags
|
|
45
|
+
|
|
46
|
+
- `--gateway <url>` — override the 9Router URL (default
|
|
47
|
+
`http://localhost:20128/v1`)
|
|
48
|
+
- `--key <key>` — provider API key (writes `${env:KEY_NAME}` if it
|
|
49
|
+
looks like an env var name, otherwise writes the literal)
|
|
50
|
+
- `--provider <name>` — provider name in cline.json (default `9router`)
|
|
51
|
+
- `--model <id>` — add a single model instead of fetching the catalog
|
|
52
|
+
- `--list` — print the model catalog from `/v1/models` and exit
|
|
53
|
+
- `--remove <name>` — remove a provider by name
|
|
54
|
+
|
|
55
|
+
## Examples
|
|
56
|
+
|
|
57
|
+
```
|
|
58
|
+
# Use the default 9Router gateway with the live model catalog
|
|
59
|
+
/setup-provider
|
|
60
|
+
|
|
61
|
+
# Custom provider
|
|
62
|
+
/setup-provider --provider my-anthropic --gateway https://api.anthropic.com/v1 --key sk-ant-...
|
|
63
|
+
|
|
64
|
+
# Just list the available models
|
|
65
|
+
/setup-provider --list
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## Implementation
|
|
69
|
+
|
|
70
|
+
1. If `--list`, GET `${gateway}/v1/models` and pretty-print the IDs.
|
|
71
|
+
2. If `--remove`, edit `~/.cline/cline.json` and remove the
|
|
72
|
+
`provider.<name>` block.
|
|
73
|
+
3. Otherwise, read `~/.cline/cline.json`. If the file doesn't
|
|
74
|
+
exist, error — the user should run `bizar install` first.
|
|
75
|
+
4. Build the new `provider.<name>` block from the flags + fetched
|
|
76
|
+
catalog.
|
|
77
|
+
5. Write the file back atomically (write to `cline.json.tmp`,
|
|
78
|
+
then `rename`).
|
|
79
|
+
6. Run `bizar validate` to confirm everything is wired up.
|
|
80
|
+
|
|
81
|
+
## Security
|
|
82
|
+
|
|
83
|
+
Never echo or log the full API key. If the user supplies a key on
|
|
84
|
+
the command line, write it as a literal value (or `${env:KEY}`
|
|
85
|
+
reference if it matches a `KEY_NAME` pattern). Never commit
|
|
86
|
+
`~/.cline/cline.json` to source control — it may contain real
|
|
87
|
+
secrets.
|
|
88
|
+
|
|
89
|
+
## Related
|
|
90
|
+
|
|
91
|
+
- `bizar connect` — interactive TUI for provider setup (alternative)
|
|
92
|
+
- `bizar install` — installs the Bizar scaffolding (NOT provider config
|
|
93
|
+
since v6.2.2)
|
|
94
|
+
- `bizar validate` — confirms provider config is wired correctly
|
|
95
|
+
- Cline provider config: https://docs.cline.bot/customization/providers
|