ai-consultants 3.0.0 → 3.2.0

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/.env.example CHANGED
@@ -38,7 +38,7 @@
38
38
  # =============================================================================
39
39
  # API-BASED CONSULTANT KEYS
40
40
  # =============================================================================
41
- # These are required for the API-based consultants (Qwen3, GLM, Grok, DeepSeek)
41
+ # These are required for API transports and API-only consultants.
42
42
 
43
43
  # Qwen3 (Alibaba DashScope) - The Analyst
44
44
  # Get yours at: https://dashscope.console.aliyun.com/
@@ -48,7 +48,8 @@
48
48
  # Get yours at: https://open.z.ai/
49
49
  # GLM_API_KEY=your_zhipu_api_key
50
50
 
51
- # Grok (xAI) - The Provocateur
51
+ # Grok API fallback (the Grok Build CLI normally uses its own login)
52
+ # Official docs call this XAI_API_KEY; GROK_API_KEY remains the project setting.
52
53
  # Get yours at: https://console.x.ai/
53
54
  # GROK_API_KEY=your_xai_api_key
54
55
 
@@ -73,18 +74,18 @@ ENABLE_MISTRAL=true
73
74
  ENABLE_CURSOR=true
74
75
  ENABLE_KIMI=true
75
76
  ENABLE_QWEN3=true
77
+ ENABLE_GROK=true
76
78
  ENABLE_MINIMAX=true
77
79
  ENABLE_CLAUDE=true
78
80
 
79
81
  # API-only consultants (default: disabled - require API keys)
80
82
  ENABLE_GLM=false
81
- ENABLE_GROK=false
82
83
  ENABLE_DEEPSEEK=false
83
84
 
84
85
  # =============================================================================
85
86
  # CLI/API MODE SWITCHING (v2.6+)
86
87
  # =============================================================================
87
- # 6 agents support switching: Gemini, Codex, Claude, Mistral, Qwen3, MiniMax
88
+ # 7 agents support switching: Gemini, Codex, Claude, Mistral, Qwen3, Grok, MiniMax
88
89
  # When API mode is enabled, CLI mode is automatically disabled.
89
90
 
90
91
  # GEMINI_USE_API is auto-resolved when left UNSET (v2.15.1): API mode if
@@ -143,9 +144,10 @@ KIMI_TIMEOUT=180
143
144
  KIMI_CMD=kimi
144
145
 
145
146
  # Claude - The Synthesizer
146
- CLAUDE_MODEL=claude-opus-4-8
147
+ CLAUDE_MODEL=claude-opus-5 # ai-consultants:default
147
148
  CLAUDE_TIMEOUT=240
148
149
  CLAUDE_CMD=claude
150
+ CLAUDE_API_MAX_TOKENS=16384
149
151
 
150
152
  # Qwen3 - The Analyst (CLI/API switchable v2.7)
151
153
  QWEN3_MODEL=qwen3.7-max
@@ -160,8 +162,13 @@ QWEN3_CMD=qwen
160
162
  # rejected by the provider with a 400, not silently ignored.
161
163
  # QWEN3_REASONING_EFFORT=
162
164
 
165
+ # GROK_USE_API is auto-resolved CLI-first: Grok Build is used whenever `grok`
166
+ # is installed; the xAI API is selected when the CLI is unavailable and a key
167
+ # exists. A failed CLI launch also falls back to the API at runtime.
168
+ # GROK_USE_API=false
169
+
163
170
  # =============================================================================
164
- # API-BASED CONSULTANT CONFIGURATION
171
+ # API-ONLY AND FALLBACK CONFIGURATION
165
172
  # =============================================================================
166
173
 
167
174
  # GLM - The Methodologist
@@ -169,7 +176,8 @@ GLM_MODEL=glm-5.2
169
176
  GLM_TIMEOUT=180
170
177
  GLM_API_URL=https://api.z.ai/api/coding/paas/v4/chat/completions
171
178
 
172
- # Grok - The Provocateur
179
+ # Grok Build CLI + xAI API fallback - The Provocateur
180
+ GROK_CMD=grok
173
181
  GROK_MODEL=grok-4.5
174
182
  GROK_TIMEOUT=180
175
183
  GROK_API_URL=https://api.x.ai/v1/chat/completions
package/CLAUDE.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  ## Project Overview
4
4
 
5
- AI Consultants is a multi-model AI deliberation system that queries up to 11 AI consultants (Gemini, Codex, Mistral, Cursor, Kimi, Claude, Qwen3, GLM, Grok, DeepSeek, MiniMax) to obtain diverse perspectives on coding problems.
5
+ AI Consultants is a multi-model coverage system that queries up to 11 AI consultants (Gemini, Codex, Mistral, Cursor, Kimi, Claude, Qwen3, GLM, Grok, DeepSeek, MiniMax) to obtain diverse perspectives on coding problems.
6
6
 
7
7
  **Self-Exclusion**: The invoking agent is automatically excluded from the panel to prevent self-consultation. Claude Code won't query Claude, Codex CLI won't query Codex, etc.
8
8
 
9
- **Version**: 3.0.0
9
+ **Version**: 3.2.0
10
10
 
11
11
  ## Distribution
12
12
 
@@ -368,7 +368,7 @@ Three tiers of models are available for each consultant, configurable via `apply
368
368
 
369
369
  | Tier | Description | Example Models |
370
370
  |------|-------------|----------------|
371
- | **premium** | Latest flagship models | claude-opus-4-8, Gemini 3.1 Pro (High), gpt-5.5 |
371
+ | **premium** | Latest flagship models | claude-opus-5, Gemini 3.1 Pro (High), gpt-5.5 |
372
372
  | **standard** | Good quality at reasonable cost | claude-sonnet-4-6, Gemini 3.5 Flash (High), gpt-5.4 |
373
373
  | **economy** | Optimized for speed and low cost | claude-haiku-4-5, Gemini 3.5 Flash (Low), gpt-5.4-nano |
374
374
 
@@ -400,12 +400,12 @@ Three new presets leverage the model tiers:
400
400
  ./scripts/consult_all.sh --preset fast "quick syntax question"
401
401
  ```
402
402
 
403
- ### Premium Model Defaults (June 2026)
403
+ ### Premium Model Defaults (July 2026)
404
404
  All consultants now use premium models by default:
405
405
 
406
406
  | Consultant | Default Model |
407
407
  |------------|---------------|
408
- | Claude | claude-opus-4-8 |
408
+ | Claude | claude-opus-5 |
409
409
  | Gemini | Gemini 3.1 Pro (High) (via agy CLI) |
410
410
  | Codex | gpt-5.5 |
411
411
  | Mistral | mistral-large-3 |
@@ -419,6 +419,15 @@ All consultants now use premium models by default:
419
419
 
420
420
  Override with environment variables: `CLAUDE_MODEL`, `GEMINI_MODEL`, `CODEX_MODEL`, `KIMI_MODEL`, etc.
421
421
 
422
+ Grok is CLI-first through the official Grok Build `grok` command, with
423
+ `grok-4.5` passed explicitly in headless mode. The prompt is delivered with
424
+ `--prompt-file`; HOME and CWD are isolated, built-in/MCP tools are denied, and
425
+ the strict sandbox prevents user or project extensions from joining the
426
+ consultation. The xAI Chat Completions path is retained only when the CLI is
427
+ missing, cannot launch, or lacks usable authentication and `GROK_API_KEY` is
428
+ available. A timeout, model error, empty response, or other post-launch failure
429
+ is surfaced and never silently rerouted to the API.
430
+
422
431
  ## v2.4 Features
423
432
 
424
433
  ### Budget Enforcement (Opt-in)
@@ -604,7 +613,8 @@ for f in scripts/*.sh scripts/lib/*.sh; do bash -n "$f" && echo "OK: $f"; done
604
613
  | `ENABLE_SMART_ROUTING` | false | Intelligent routing by category |
605
614
  | `ENABLE_COST_TRACKING` | true | Track costs |
606
615
  | `MAX_SESSION_COST` | 1.00 | Max budget ($) |
607
- | `CLAUDE_MODEL` | claude-opus-4-8 | Claude model (v2.5) |
616
+ | `CLAUDE_MODEL` | claude-opus-5 | Claude model (v2.5) |
617
+ | `CLAUDE_API_MAX_TOKENS` | 16384 | Claude API thinking + visible-output budget |
608
618
  | `GEMINI_MODEL` | Gemini 3.1 Pro (High) | Gemini agy CLI model (v2.15) |
609
619
  | `GEMINI_API_MODEL` | gemini-3.1-pro-preview | Gemini API-mode model ID (v2.15) |
610
620
  | `CODEX_MODEL` | gpt-5.5 | Codex model (v2.5) |
@@ -777,6 +787,23 @@ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/s
777
787
 
778
788
  ## Changelog
779
789
 
790
+ ### v3.2.0
791
+ - **Claude premium upgraded from Opus 4.8 to Opus 5.** The default `CLAUDE_MODEL`, premium/max/best tier, standalone adapter fallback, configuration examples, model table, and cost catalog now resolve to the canonical `claude-opus-5` ID (`scripts/config.sh:274`, `scripts/query_claude.sh:29`). Pricing remains $5/$25 per million tokens; `claude-opus-4-8` stays in the legacy catalog for historical responses and intentional pins.
792
+ - **Opus 5 adaptive thinking is accounted for end to end.** Claude CLI mode now requests the JSON result envelope, extracts visible `.result`, aggregates provider usage across `modelUsage`, and persists the provider's exact `costUSD` (`scripts/query_claude.sh:72-126`, `scripts/lib/common.sh:904-980`, `scripts/lib/costs.sh:307-354`). This fixes the review finding that pricing only the visible answer undercounted hidden thinking and cache charges. The implementation deliberately prefers provider cost over reconstructing cache pricing from token totals.
793
+ - **Anthropic API responses no longer disappear when thinking precedes text.** `parse_anthropic_response` selects every `type=text` block rather than assuming `.content[0].text` (`scripts/lib/api.sh:325-343`). The API token budget is now the configurable `CLAUDE_API_MAX_TOKENS=16384`, shared by adaptive thinking and visible output; `stop_reason=max_tokens` fails closed instead of admitting a partial answer into synthesis (`scripts/lib/api_query.sh:94-153`).
794
+ - **Historical generated defaults migrate with provenance.** Before this release, `init` copied `CLAUDE_MODEL=claude-opus-4-8` without distinguishing a generated default from a user pin, so the new runtime fallback was unreachable for existing installations. `configure` now upgrades that exact historical value to Opus 5 and writes `# ai-consultants:default`; model values supplied by environment, interactive input, or `--set` receive `# ai-consultants:pin` and survive later rewrites (`scripts/configure.sh:183-291`, `scripts/configure.sh:357-420`). An intentionally retained 4.8 value should be reasserted once with `--set CLAUDE_MODEL=claude-opus-4-8`.
795
+ - **Verification expanded around all four review findings.** `test_query_claude.sh` exercises CLI JSON extraction, measured usage, provider cost persistence, and session billing. `test_api_transport.sh` covers thinking-before-text, the 16,384-token request default, invalid budgets, and truncation rejection; `test_configure.sh` covers managed migration and persistent pins. Full gate: 17/17 suites; core suite: 299/299; shellcheck green. The real maintainer config was not rewritten during implementation and remained on 4.8 until the release installation step.
796
+
797
+ ### v3.1.1
798
+ - **`doctor` no longer aborts at the first missing enabled consultant.** The v3.1.0 tag workflow exposed the pre-existing `set -e` interaction when Grok became CLI-first and the clean Ubuntu runner had no `grok` binary: the main JSON diagnostic exited before emitting output. Missing CLI/API configuration checks now add their issue and continue to the final summary, which still exits unhealthy. `test_doctor.sh` stubs the complete CLI roster, rejects empty JSON output, and includes a dedicated missing-Grok regression. Full gate: 16/16 suites; shellcheck green.
799
+
800
+ ### v3.1.0
801
+ - **Grok is now a first-class CLI/API-switchable consultant on `grok-4.5`.** `scripts/query_grok.sh` uses the official Grok Build headless interface, `scripts/config.sh` resolves CLI-first while preserving API-only installations, and configure/doctor/update-clis/docs all classify Grok with the other switchable consultants. `XAI_API_KEY` is accepted as the official alias for the historical `GROK_API_KEY` contract. The route that actually answered is recorded as `metadata.transport = cli|api|api_fallback`.
802
+ - **The CLI boundary is enforced rather than documented.** The first implementation disabled plan/subagents/memory/web but still inherited the current checkout and the maintainer's Grok environment; `grok inspect --json` showed 1 MCP server, 13 plugins, 11 hooks, 79 skills, and 3 project instructions available to an advisory consultation. Each run now creates an ephemeral mode-700 HOME/CWD, copies only a regular non-symlink `auth.json` at mode 600, supplies `--tools ""`, `--permission-mode dontAsk`, `--sandbox strict`, and explicit deny rules, then validates the temp-prefix before recursive cleanup. A live Grok 4.5 smoke succeeded through this isolated path.
803
+ - **Prompts use `--prompt-file`, not argv.** `FULL_QUERY` includes context files; passing it through `-p "$FULL_QUERY"` exposed the prompt in the process list and failed before Grok launched once the combined context crossed `ARG_MAX`. Reproduced locally with a 1.1 MiB context (`timeout: Argument list too long`). The private prompt file removes both failure modes, and the regression suite drives the same 1.1 MiB case.
804
+ - **API fallback means transport unavailable, not "any non-zero".** The initial adapter sent every CLI error to the API when a key existed — including timeouts, model errors, empty responses, and a generic tested `exit 42` — which hid CLI regressions and could add an unexpected API charge. `grok_cli_is_unavailable` now recognizes missing/unexecutable binaries and authentication/startup failures only; post-launch failures remain `transport=cli` and surface as errors. Missing-command and authentication fallback paths are tested separately.
805
+ - **Regression and release coverage.** New `test_query_grok.sh` carries 26 assertions across headless flags/model pinning, HOME/CWD/auth isolation, tool denial, transport metadata, API fallback boundaries, and large contexts. The master runner discovers it automatically, taking `npm test` to 16 suites; the v3.1.0 release gate and shellcheck pass. README, SKILL, setup/recipes/configuration references, changelog, and the showcase roster are synchronized.
806
+
780
807
  ### v3.0.0
781
808
  - **Phase 2 of the panel-premise investigation: the deliberation/consensus machinery is removed and the default is now the coverage union.** Two independent reviews (Codex `gpt-5.6-sol`, then Fable-5) had judged the panel premise weak — voting/consensus measure *agreement*, not correctness, and no held-out comparison against one strong model existed. A held-out A/W/C coverage experiment (maintainer instrumentation on the `experiment/coverage-metric` branch, not shipped) resolved it: **task-dependent.** On convergent single-answer defect-finding a single strong model (Gemini 3.1 Pro) caught **19/19** hard bugs (repo-internal + external CVEs/concurrency incl. the Rust `Arc` bug found by RustBelt formal verification) → the panel has no coverage headroom. On **breadth/enumeration** (deep 60-point rubrics across JWT/webhook/cache), rubric coverage was **A 51% · self-consistency C 70% · panel W 93%, W>C>A on every item** → diversity, not volume, and specifically the raw **union** (deliberation OFF). The durable value is the diverse fan-out + union; the averaging machinery adds nothing measurable. Directional (n=3 breadth, hand-validated; n=19 defect).
782
809
  - **Removed end to end** (six test-green commits on `refactor/remove-deliberation`, merged via PR #6): `lib/voting.sh` (voted recommendation, 1-10 score, consensus score, dissenters), `lib/orchestration.sh` (shape planner + convergence loop) + `debate_round.sh`, `lib/stance.sh`, `peer_review.sh`, and the capability-calibration cluster `roster_audit.sh`/`roster_calibrate.sh`/`run_calibration.sh`/`taste_elo.sh` + `references/calibration_benchmark.json` + the `capabilities`/`category_axis` blocks in `affinity.json`. Panic functions cut from `common.sh`; capability functions (`get_capability`/`get_category_axis`) and the `ENABLE_CAPABILITY_ROUTING` branch cut from `routing.sh`. Config: `ENABLE_DEBATE`/`DEBATE_ROUNDS`, `ORCHESTRATION_MODE`/`CONVERGENCE_*`, `ENABLE_DEBATE_OPTIMIZATION`/`DEBATE_*`, `ENABLE_PANIC_MODE`/`PANIC_*`, `ENABLE_ADVERSARIAL_VERIFY`, `ENABLE_PEER_REVIEW`/`PEER_REVIEW_MIN`, `ENABLE_CAPABILITY_*`/`CAPABILITY_*`, `ENABLE_STANCE_CONSENSUS`/`STANCE_*`. Presets no longer force debate/peer-review. The `debate` and `roster-audit` slash commands are gone (installers prune them). 19 files deleted, ~-4600 lines. 6 test suites removed.
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
- # AI Consultants v3.0.0
1
+ # AI Consultants v3.2.0
2
2
 
3
3
  > **Coverage, not a single guess.** A panel of up to 11 frontier models from different vendors fans out on your question in parallel and hands you the *union* of what they collectively see — the risks, edge cases, and approaches a single model misses.
4
4
 
5
- [![Version](https://img.shields.io/badge/version-3.0.0-blue.svg)](https://github.com/matteoscurati/ai-consultants)
5
+ [![Version](https://img.shields.io/badge/version-3.2.0-blue.svg)](https://github.com/matteoscurati/ai-consultants)
6
6
  [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
7
7
  [![Claude Code Skill](https://img.shields.io/badge/Claude%20Code-Skill-orange.svg)](https://docs.anthropic.com/en/docs/claude-code/skills)
8
8
  [![GitHub stars](https://img.shields.io/github/stars/matteoscurati/ai-consultants?style=social)](https://github.com/matteoscurati/ai-consultants)
@@ -379,17 +379,22 @@ INVOKING_AGENT=codex ./scripts/consult_all.sh "Question" # Codex excluded
379
379
  | **Kimi K3** | `kimi` | The Eastern Sage | Holistic, balanced perspectives |
380
380
  | **Claude** | `claude` | The Synthesizer | Big picture, synthesis, connecting ideas |
381
381
  | **Qwen3** | `qwen` | The Analyst | Data-driven analysis |
382
+ | **Grok** | `grok` | The Provocateur | Challenge conventions |
382
383
  | **MiniMax** | `mmx` | The Pragmatic Optimizer | Performance, efficiency, pragmatism |
383
384
 
384
- Qwen3 and MiniMax can switch from their CLI to API transport. Gemini, Codex,
385
- Claude, and Mistral are also CLI/API switchable.
385
+ Grok uses Grok Build with `grok-4.5` in an isolated, tool-free sandbox. Prompts
386
+ are passed through a private file rather than process arguments. It falls back
387
+ to the xAI API only when the CLI is missing, cannot launch, or has no usable
388
+ authentication and `GROK_API_KEY` is configured; post-launch request failures
389
+ are surfaced without a silent API charge. Qwen3 and MiniMax can also switch
390
+ from their CLI to API transport. Gemini, Codex, Claude, and Mistral are
391
+ CLI/API switchable.
386
392
 
387
393
  ### API-Only Consultants
388
394
 
389
395
  | Consultant | Default Model | Persona | Focus |
390
396
  |------------|---------------|---------|-------|
391
397
  | **GLM** | glm-5.2 | The Methodologist | Structured approaches |
392
- | **Grok** | grok-4.5 | The Provocateur | Challenge conventions |
393
398
  | **DeepSeek** | deepseek-v4-pro | The Code Specialist | Algorithms, code generation |
394
399
 
395
400
  ### Installing Consultant CLIs
@@ -405,6 +410,7 @@ curl https://cursor.com/install -fsS | bash # Cursor
405
410
  # Optional CLI-based consultants
406
411
  curl -L code.kimi.com/install.sh | bash # Kimi K3
407
412
  npm install -g @qwen-code/qwen-code@latest # Qwen (alternative to API)
413
+ curl -fsSL https://x.ai/cli/install.sh | bash # Grok Build (grok-4.5)
408
414
  npm install -g mmx-cli # MiniMax
409
415
 
410
416
  ```
@@ -438,7 +444,7 @@ parallel and returns the coverage union.
438
444
 
439
445
  | Consultant | Premium | Standard | Economy |
440
446
  |------------|---------|----------|---------|
441
- | Claude | claude-opus-4-8 | claude-sonnet-4-6 | claude-haiku-4-5 |
447
+ | Claude | claude-opus-5 | claude-sonnet-4-6 | claude-haiku-4-5 |
442
448
  | Gemini | Gemini 3.1 Pro (High) | Gemini 3.5 Flash (High) | Gemini 3.5 Flash (Low) |
443
449
  | Codex | gpt-5.5 | gpt-5.4 | gpt-5.4-nano |
444
450
  | Mistral | mistral-large-3 | mistral-medium-latest | devstral-small-2 |
@@ -540,7 +546,13 @@ with `--set`). Rewrites create a private timestamped backup. Use `--advanced` to
540
546
  review every parameter or `--dry-run` to preview a redacted result.
541
547
  Auto-selected `*_USE_API` values are marked `# ai-consultants:auto`, allowing a
542
548
  later run to adapt when a CLI or credential changes. Environment variables,
543
- `--set`, and unmarked values remain explicit user choices.
549
+ `--set`, and unmarked values remain explicit user choices, except for the exact
550
+ historical generated Claude default described below.
551
+ Managed model defaults use `# ai-consultants:default`; `configure` upgrades the
552
+ historical unmarked `CLAUDE_MODEL=claude-opus-4-8` default to Opus 5. To keep
553
+ 4.8 intentionally, run
554
+ `ai-consultants configure --set CLAUDE_MODEL=claude-opus-4-8`; explicit model
555
+ overrides are stored with `# ai-consultants:pin`.
544
556
 
545
557
  Enter credentials through `--interactive`/`--advanced` or export them before the
546
558
  run; avoid passing API keys through `--set`, where the shell may retain them in
@@ -557,6 +569,7 @@ DEFAULT_STRATEGY=coverage # coverage | compare_only | majority | risk_averse
557
569
  ENABLE_SMART_ROUTING=true # Auto-select consultants by question category
558
570
  MAX_SESSION_COST=1.00 # USD budget cap (paired with ENABLE_BUDGET_LIMIT=true to enforce)
559
571
  KIMI_MODEL=kimi-code/k3 # Pin the Kimi consultant to K3
572
+ CLAUDE_API_MAX_TOKENS=16384 # Shared thinking + visible-output budget in API mode
560
573
  ```
561
574
 
562
575
  Full reference: [`references/configuration.md`](references/configuration.md). Copy-paste workflows: [`docs/RECIPES.md`](docs/RECIPES.md). For category-aware preset suggestions: `ai-consultants doctor --suggest-preset --question "..."`.
package/SKILL.md CHANGED
@@ -5,10 +5,10 @@ license: MIT
5
5
  compatibility: Requires bash, jq, and at least 2 AI CLI tools (agy, codex, vibe, etc.). macOS and Linux.
6
6
  metadata:
7
7
  author: matteoscurati
8
- version: 3.0.0
8
+ version: 3.2.0
9
9
  ---
10
10
 
11
- # AI Consultants v3.0.0 - AI Expert Panel
11
+ # AI Consultants v3.2.0 - AI Expert Panel
12
12
 
13
13
  **Coverage, not a single guess.** Convene a panel of AI "consultants" from different vendors for coding questions: they fan out in parallel and you get the *union* of what they collectively see — the risks, edge cases, and approaches a single model misses. Each consultant has a **configurable persona** that decorrelates its analysis.
14
14
 
@@ -38,11 +38,12 @@ Configuration (presets, strategies, features, personas, API keys) can be managed
38
38
  | **Kimi K3** | `kimi` | The Eastern Sage | Holistic, balanced perspectives |
39
39
  | **Claude** | `claude` | The Synthesizer | Big picture, synthesis |
40
40
  | **Qwen** | `qwen` | The Analyst | Data-driven, metrics |
41
+ | **Grok** | `grok` | The Provocateur | Challenge conventions |
41
42
  | **MiniMax** | `mmx` | The Pragmatic Optimizer | Performance, efficiency, pragmatism |
42
43
 
43
- **API-only consultants**: GLM (The Methodologist), Grok (The Provocateur), DeepSeek (The Code Specialist)
44
+ **API-only consultants**: GLM (The Methodologist), DeepSeek (The Code Specialist)
44
45
 
45
- **CLI/API Mode**: Gemini, Codex, Claude, Mistral, Qwen, and MiniMax can switch between CLI and API mode via `*_USE_API` environment variables. Gemini auto-selects API mode when `GEMINI_API_KEY` is set (no `agy` install needed) and the CLI otherwise.
46
+ **CLI/API Mode**: Gemini, Codex, Claude, Mistral, Qwen, Grok, and MiniMax can switch between CLI and API mode via `*_USE_API` environment variables. Grok is CLI-first on Grok Build with `grok-4.5` and falls back to the xAI API when the CLI cannot run. Gemini auto-selects API mode when `GEMINI_API_KEY` is set (no `agy` install needed) and the CLI otherwise.
46
47
 
47
48
  **Self-Exclusion**: The invoking agent is automatically excluded from the panel. When invoked from Claude Code, Claude is excluded; when invoked from Codex CLI, Codex is excluded, etc.
48
49
 
@@ -1,4 +1,4 @@
1
- # Cost Rates - AI Consultants v3.0.0
1
+ # Cost Rates - AI Consultants v3.2.0
2
2
 
3
3
  This page documents the per-token rates used by the cost tracking system.
4
4
 
@@ -26,7 +26,7 @@ Since v2.5, models are organized into three tiers. Use `apply_model_tier()` or `
26
26
  | gpt-5.5 | Premium | $0.005 | Codex |
27
27
  | gpt-5.4 | Standard | $0.0025 | Codex |
28
28
  | gpt-5.4-nano | Economy | $0.0002 | Codex |
29
- | claude-opus-4-8 | Premium | $0.005 | Claude |
29
+ | claude-opus-5 | Premium | $0.005 | Claude |
30
30
  | claude-sonnet-4-6 | Standard | $0.003 | Claude |
31
31
  | claude-haiku-4-5 | Economy | $0.001 | Claude |
32
32
  | mistral-large-3 | Premium | $0.002 | Mistral |
@@ -59,7 +59,7 @@ Since v2.5, models are organized into three tiers. Use `apply_model_tier()` or `
59
59
  | gpt-5.5 | Premium | $0.030 | Codex |
60
60
  | gpt-5.4 | Standard | $0.015 | Codex |
61
61
  | gpt-5.4-nano | Economy | $0.00125 | Codex |
62
- | claude-opus-4-8 | Premium | $0.025 | Claude |
62
+ | claude-opus-5 | Premium | $0.025 | Claude |
63
63
  | claude-sonnet-4-6 | Standard | $0.015 | Claude |
64
64
  | claude-haiku-4-5 | Economy | $0.005 | Claude |
65
65
  | mistral-large-3 | Premium | $0.006 | Mistral |
package/docs/RECIPES.md CHANGED
@@ -124,10 +124,10 @@ CLAUDE_USE_API=false
124
124
  MISTRAL_USE_API=false
125
125
  QWEN3_USE_API=false
126
126
  MINIMAX_USE_API=false
127
+ GROK_USE_API=false
127
128
  KIMI_MODEL=kimi-code/k3
128
129
 
129
130
  ENABLE_GLM=false
130
- ENABLE_GROK=false
131
131
  ENABLE_DEEPSEEK=false
132
132
  ```
133
133
 
@@ -140,8 +140,10 @@ even when `~/.kimi/config.toml` still names an older default model.
140
140
 
141
141
  ## 8. Hybrid CLI and API panel
142
142
 
143
- Enable API transport only where needed. Gemini and MiniMax automatically choose
144
- API mode when their API key is present unless `*_USE_API` is explicitly set.
143
+ Enable API transport only where needed. Grok normally uses Grok Build and
144
+ automatically falls back to the xAI API if the CLI cannot run. Gemini and
145
+ MiniMax automatically choose API mode when their API key is present unless
146
+ `*_USE_API` is explicitly set.
145
147
 
146
148
  ```dotenv
147
149
  CODEX_USE_API=false
@@ -151,6 +153,7 @@ QWEN3_USE_API=true
151
153
  QWEN3_API_KEY=your-dashscope-key
152
154
 
153
155
  ENABLE_GROK=true
156
+ GROK_USE_API=false
154
157
  GROK_API_KEY=your-xai-key
155
158
  GROK_MODEL=grok-4.5
156
159
 
package/docs/SETUP.md CHANGED
@@ -394,7 +394,7 @@ INVOKING_AGENT=codex ./scripts/consult_all.sh "Question"
394
394
 
395
395
  ## CLI/API Mode Switching (v2.6+)
396
396
 
397
- Six consultants can switch between CLI mode (using local CLI tools) and API mode (direct API calls): **Gemini, Codex, Claude, Mistral, Qwen3, and MiniMax**.
397
+ Seven consultants can switch between CLI mode (using local CLI tools) and API mode (direct API calls): **Gemini, Codex, Claude, Mistral, Qwen3, Grok, and MiniMax**. Grok is CLI-first and runs in an isolated, tool-free strict sandbox. It falls back automatically only when Grok Build is missing, cannot launch, or lacks usable authentication and a key is available; request failures after launch are surfaced without an API fallback.
398
398
 
399
399
  ### Why Use API Mode?
400
400
 
@@ -418,6 +418,9 @@ export ANTHROPIC_API_KEY="sk-ant-..."
418
418
  export MISTRAL_USE_API=true
419
419
  export MISTRAL_API_KEY="your-mistral-key"
420
420
 
421
+ export GROK_USE_API=true
422
+ export GROK_API_KEY="your-xai-key"
423
+
421
424
  export QWEN3_USE_API=true # Enable API mode for Qwen3
422
425
  export QWEN3_API_KEY="your-dashscope-key"
423
426
  ```
@@ -590,8 +593,8 @@ ENABLE_CLAUDE=false # Auto-excluded when invoked from Claude Code
590
593
  ENABLE_MISTRAL=false
591
594
  ENABLE_CURSOR=false
592
595
  ENABLE_QWEN3=false # v2.7: The Analyst (CLI/API)
596
+ ENABLE_GROK=true # Grok Build CLI; API fallback when unavailable
593
597
  ENABLE_GLM=false
594
- ENABLE_GROK=false
595
598
  ENABLE_DEEPSEEK=false
596
599
  ENABLE_KIMI=true
597
600
  ENABLE_MINIMAX=true
@@ -606,6 +609,7 @@ OPENAI_API_KEY=sk-your-key
606
609
  MISTRAL_API_KEY=your-key
607
610
  ANTHROPIC_API_KEY=sk-ant-your-key
608
611
  QWEN3_API_KEY=your-dashscope-key
612
+ GROK_API_KEY=your-xai-key # optional fallback; Grok Build normally uses login
609
613
 
610
614
  # CLI/API Mode Switching (v2.6+)
611
615
  # GEMINI_USE_API auto-resolves when unset (v2.15.1): API if GEMINI_API_KEY is
@@ -1,10 +1,10 @@
1
1
  {
2
- "version": "3.0.0",
3
- "updated": "2026-07-16",
2
+ "version": "3.2.0",
3
+ "updated": "2026-07-25",
4
4
  "models": {
5
5
  "_comment_units": "All rates are USD per 1,000 tokens (per-1K). lib/costs.sh computes cost as (token_count / 1000) * rate, so every value here MUST be a per-1K rate = (provider $/1M price) / 1000. Do NOT paste $/MTok figures directly.",
6
- "_comment_premium": "Premium tier models - Jun 2026 (v2.17.0)",
7
- "claude-opus-4-8": {
6
+ "_comment_premium": "Premium tier models - Jul 2026",
7
+ "claude-opus-5": {
8
8
  "input": 0.005,
9
9
  "output": 0.025
10
10
  },
@@ -137,6 +137,10 @@
137
137
  "output": 0.001
138
138
  },
139
139
  "_comment_legacy": "Legacy models for backwards compatibility",
140
+ "claude-opus-4-8": {
141
+ "input": 0.005,
142
+ "output": 0.025
143
+ },
140
144
  "claude-opus-4-7": {
141
145
  "input": 0.005,
142
146
  "output": 0.025
@@ -331,8 +335,8 @@
331
335
  "qwen3.8-max-preview"
332
336
  ],
333
337
  "consultant_fallbacks": {
334
- "_comment": "Premium defaults - Updated Jun 2026 (v2.17.0)",
335
- "claude": "claude-opus-4-8",
338
+ "_comment": "Premium defaults - Updated Jul 2026",
339
+ "claude": "claude-opus-5",
336
340
  "gemini": "Gemini 3.1 Pro (High)",
337
341
  "codex": "gpt-5.5",
338
342
  "mistral": "mistral-large-3",
@@ -347,7 +351,7 @@
347
351
  "model_tiers": {
348
352
  "_comment": "Model tiers for apply_model_tier() function",
349
353
  "premium": {
350
- "claude": "claude-opus-4-8",
354
+ "claude": "claude-opus-5",
351
355
  "gemini": "Gemini 3.1 Pro (High)",
352
356
  "codex": "gpt-5.5",
353
357
  "mistral": "mistral-large-3",
@@ -0,0 +1,95 @@
1
+ # Release v3.1.0
2
+
3
+ **Date:** 2026-07-24
4
+ **Type:** Minor — Grok 4.5 becomes a secure CLI-first consultant through Grok Build
5
+ **Previous:** v3.0.0
6
+
7
+ ## Highlights
8
+
9
+ - **Grok 4.5 now uses the official Grok Build CLI by default**, including OAuth/subscription authentication already available on the machine.
10
+ - **Each Grok consultation runs in an isolated, tool-free environment** without importing local plugins, hooks, MCP servers, skills, memories, or project instructions.
11
+ - **The xAI API remains available as a focused fallback** when Grok Build is missing, cannot launch, or is not authenticated.
12
+ - **CLI request failures never silently become billable API requests.** Timeouts, model errors, and empty responses are returned as failures on the attempted CLI transport.
13
+ - **Large contexts are safe from shell argument limits** because prompts are delivered through a private file instead of the process command line.
14
+
15
+ ## What's New
16
+
17
+ ### Grok Build CLI transport
18
+
19
+ Grok joins the CLI-first consultant roster with `grok-4.5` pinned explicitly. Existing installations prefer the `grok` command; API-only installations continue to use the xAI Chat Completions transport when `GROK_API_KEY` or `XAI_API_KEY` is configured.
20
+
21
+ Every response records the route that answered:
22
+
23
+ | `metadata.transport` | Meaning |
24
+ |---|---|
25
+ | `cli` | Grok Build answered |
26
+ | `api` | API mode was explicitly selected |
27
+ | `api_fallback` | The CLI was unavailable and the xAI API answered |
28
+
29
+ ### Isolated advisory execution
30
+
31
+ AI Consultants uses Grok as an advisory model, not as an editing agent. The adapter therefore starts Grok Build with:
32
+
33
+ - an ephemeral HOME and empty working directory;
34
+ - no built-in tools, MCP tools, subagents, memory, or web access;
35
+ - fail-closed permissions and the strict sandbox;
36
+ - only the existing Grok authentication material copied into the private runtime;
37
+ - automatic cleanup after the response.
38
+
39
+ The consultation receives only the prompt and context explicitly assembled by AI Consultants.
40
+
41
+ ### Narrow API fallback
42
+
43
+ The API fallback is limited to transport availability:
44
+
45
+ - Grok Build is not installed;
46
+ - the command cannot execute or launch;
47
+ - the CLI has no usable authentication.
48
+
49
+ Failures after the CLI request starts—including timeouts, model errors, and empty output—are surfaced directly. This prevents a broken CLI request from silently producing a separate API charge.
50
+
51
+ ### Private prompt files
52
+
53
+ The complete prompt is written to a mode-600 temporary file and passed with `--prompt-file`. This keeps prompt content out of process listings and supports contexts larger than the operating system's argument-vector limit.
54
+
55
+ ## Breaking Changes
56
+
57
+ None — this release is backwards-compatible. `GROK_USE_API=true` still forces the API transport, and the existing `GROK_API_KEY` configuration remains supported.
58
+
59
+ ## Upgrade Guide
60
+
61
+ ```bash
62
+ # If installed via git clone
63
+ cd ~/.claude/skills/ai-consultants && git pull
64
+
65
+ # If installed via curl | bash
66
+ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
67
+
68
+ # If used through npx
69
+ npx ai-consultants@latest "your question"
70
+ ```
71
+
72
+ Install and authenticate Grok Build to use the new default transport:
73
+
74
+ ```bash
75
+ curl -fsSL https://x.ai/cli/install.sh | bash
76
+ grok login
77
+ ```
78
+
79
+ No configuration changes are required. Systems without a usable Grok Build CLI continue to use the configured xAI API fallback.
80
+
81
+ ## Verification
82
+
83
+ - Live Grok 4.5 smoke through the isolated CLI runtime
84
+ - Grok adapter regression suite: 26 checks
85
+ - Full repository gate: 16/16 suites
86
+ - Core suite: 295/295 checks
87
+ - Shellcheck and release-surface validation
88
+
89
+ ## Commits
90
+
91
+ - `ed84c8c` feat: integrate Grok 4.5 through Grok Build CLI
92
+
93
+ ## Contributors
94
+
95
+ - Matteo Scurati
@@ -0,0 +1,54 @@
1
+ # Release v3.1.1
2
+
3
+ **Date:** 2026-07-24
4
+ **Type:** Patch — complete doctor diagnostics when a consultant is unavailable
5
+ **Previous:** v3.1.0
6
+
7
+ ## Highlights
8
+
9
+ - **`doctor` now reaches its final summary when an enabled CLI is missing.**
10
+ - **JSON diagnostics always emit a complete object before returning unhealthy.**
11
+ - **Missing API credentials follow the same accumulate-and-report behavior.**
12
+
13
+ ## What Was Fixed
14
+
15
+ The diagnostic checks correctly recognized an enabled but unavailable consultant
16
+ as unhealthy, but returned a non-zero status from inside the pipeline. Because
17
+ `doctor.sh` runs with `set -e`, that return terminated the entire command before
18
+ the human summary or JSON object could be produced.
19
+
20
+ This became visible in the clean Linux release runner after Grok Build became the
21
+ default Grok transport in v3.1.0: the runner had no `grok` executable, so
22
+ `doctor --json` emitted nothing.
23
+
24
+ CLI, switchable API-mode, and API-only checks now record the issue and continue.
25
+ The command still exits 1 after the completed summary when any issue exists.
26
+
27
+ ## Verification
28
+
29
+ - Dedicated missing-Grok JSON regression
30
+ - Empty output is no longer accepted as valid JSON
31
+ - Doctor suite: 43/43 checks
32
+ - Full repository gate: 16/16 suites
33
+ - Shellcheck passed
34
+
35
+ ## Breaking Changes
36
+
37
+ None.
38
+
39
+ ## Upgrade Guide
40
+
41
+ ```bash
42
+ # If installed via git clone
43
+ cd ~/.claude/skills/ai-consultants && git pull
44
+
45
+ # If installed via curl | bash
46
+ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
47
+
48
+ # If used through npx
49
+ npx ai-consultants@latest doctor
50
+ ```
51
+
52
+ ## Contributors
53
+
54
+ - Matteo Scurati