ai-consultants 2.10.5 → 2.10.8
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/CLAUDE.md +35 -13
- package/README.md +2 -2
- package/SKILL.md +2 -2
- package/docs/COST_RATES.md +21 -19
- package/docs/cost_rates.json +34 -26
- package/docs/releases/v2.10.6.md +59 -0
- package/docs/releases/v2.10.7.md +53 -0
- package/docs/releases/v2.10.8.md +58 -0
- package/package.json +1 -1
- package/scripts/config.sh +16 -16
- package/scripts/query_kilo.sh +7 -5
- package/scripts/test_suite.sh +4 -4
package/CLAUDE.md
CHANGED
|
@@ -6,7 +6,7 @@ AI Consultants is a multi-model AI deliberation system that queries up to 15 AI
|
|
|
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**: 2.10.
|
|
9
|
+
**Version**: 2.10.8
|
|
10
10
|
|
|
11
11
|
## Distribution
|
|
12
12
|
|
|
@@ -414,9 +414,9 @@ Three tiers of models are available for each consultant, configurable via `apply
|
|
|
414
414
|
|
|
415
415
|
| Tier | Description | Example Models |
|
|
416
416
|
|------|-------------|----------------|
|
|
417
|
-
| **premium** | Latest flagship models | opus-4
|
|
418
|
-
| **standard** | Good quality at reasonable cost | sonnet-4
|
|
419
|
-
| **economy** | Optimized for speed and low cost | haiku-4
|
|
417
|
+
| **premium** | Latest flagship models | claude-opus-4-7, gemini-3.1-pro-preview, gpt-5.5 |
|
|
418
|
+
| **standard** | Good quality at reasonable cost | claude-sonnet-4-6, gemini-3-flash-preview, gpt-5.3 |
|
|
419
|
+
| **economy** | Optimized for speed and low cost | claude-haiku-4-5, gemini-2.0-flash, gpt-4o-mini |
|
|
420
420
|
|
|
421
421
|
**Default models are now premium tier** for maximum quality.
|
|
422
422
|
|
|
@@ -429,7 +429,7 @@ apply_model_tier "economy" # Set all consultants to economy models
|
|
|
429
429
|
|
|
430
430
|
# Get model for a specific consultant and tier (v2.8.1)
|
|
431
431
|
get_model_for_tier "gemini" "premium" # → gemini-3.1-pro-preview
|
|
432
|
-
get_model_for_tier "claude" "economy" # → haiku-4
|
|
432
|
+
get_model_for_tier "claude" "economy" # → claude-haiku-4-5
|
|
433
433
|
```
|
|
434
434
|
|
|
435
435
|
### Quality Tier Presets
|
|
@@ -451,17 +451,17 @@ All consultants now use premium models by default:
|
|
|
451
451
|
|
|
452
452
|
| Consultant | Default Model |
|
|
453
453
|
|------------|---------------|
|
|
454
|
-
| Claude | opus-4
|
|
454
|
+
| Claude | claude-opus-4-7 |
|
|
455
455
|
| Gemini | gemini-3.1-pro-preview |
|
|
456
|
-
| Codex | gpt-5.
|
|
456
|
+
| Codex | gpt-5.5 |
|
|
457
457
|
| Mistral | mistral-large-3 |
|
|
458
|
-
| Cursor | composer-
|
|
459
|
-
| DeepSeek | deepseek-
|
|
458
|
+
| Cursor | composer-2 |
|
|
459
|
+
| DeepSeek | deepseek-v4-pro |
|
|
460
460
|
| GLM | glm-5.1 |
|
|
461
|
-
| Grok | grok-4.
|
|
461
|
+
| Grok | grok-4.3 |
|
|
462
462
|
| Qwen3 | qwen3.6-plus |
|
|
463
463
|
| Kimi | kimi-code/kimi-for-coding |
|
|
464
|
-
| Aider |
|
|
464
|
+
| Aider | nvidia/nemotron-3-super-120b-a12b:free |
|
|
465
465
|
| MiniMax | MiniMax-M2.7 |
|
|
466
466
|
| Kilo | auto |
|
|
467
467
|
| Ollama | qwen2.5-coder:32b |
|
|
@@ -653,9 +653,9 @@ for f in scripts/*.sh scripts/lib/*.sh; do bash -n "$f" && echo "OK: $f"; done
|
|
|
653
653
|
| `PANIC_CONFIDENCE_THRESHOLD` | 5 | Panic threshold (v2.2) |
|
|
654
654
|
| `ENABLE_OLLAMA` | false | Local model support (v2.2) |
|
|
655
655
|
| `OLLAMA_MODEL` | qwen2.5-coder:32b | Ollama model (v2.5 - premium default) |
|
|
656
|
-
| `CLAUDE_MODEL` | opus-4
|
|
656
|
+
| `CLAUDE_MODEL` | claude-opus-4-7 | Claude model (v2.5) |
|
|
657
657
|
| `GEMINI_MODEL` | gemini-3.1-pro-preview | Gemini model (v2.5) |
|
|
658
|
-
| `CODEX_MODEL` | gpt-5.
|
|
658
|
+
| `CODEX_MODEL` | gpt-5.5 | Codex model (v2.5) |
|
|
659
659
|
| `MISTRAL_MODEL` | mistral-large-3 | Mistral model (v2.5) |
|
|
660
660
|
| `SYNTHESIS_STRATEGY` | majority | Synthesis strategy (v2.2) |
|
|
661
661
|
| `ENABLE_SEMANTIC_CACHE` | true | Semantic response caching (v2.3) |
|
|
@@ -802,6 +802,28 @@ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/s
|
|
|
802
802
|
|
|
803
803
|
## Changelog
|
|
804
804
|
|
|
805
|
+
### v2.10.8
|
|
806
|
+
- Fixed `docs/cost_rates.json` drift introduced by v2.10.6: `consultant_fallbacks` (used at runtime by `lib/costs.sh`) and `model_tiers` were still pointing at the old IDs (`opus-4.6`, `gpt-5.3-codex`, `composer-1.5`, `deepseek-reasoner`, `sonnet-4.6`, `haiku-4.5`)
|
|
807
|
+
- Added price entries for the v2.10.6 model IDs: `claude-opus-4-7`, `claude-sonnet-4-6`, `claude-haiku-4-5`, `gpt-5.5`, `composer-2`, `deepseek-v4-pro`, `nvidia/nemotron-3-super-120b-a12b:free`
|
|
808
|
+
- Moved superseded IDs to the legacy section so cost calculation still works for historical responses or pinned overrides
|
|
809
|
+
- Synced `COST_RATES.md` tables to match
|
|
810
|
+
- Pricing for `nvidia/nemotron-3-super-120b-a12b:free` set to $0/$0 (OpenRouter free tier)
|
|
811
|
+
|
|
812
|
+
### v2.10.7
|
|
813
|
+
- Grok premium upgraded from `grok-4.20-0309-reasoning` to `grok-4.3` (released 2026-04-30)
|
|
814
|
+
- ~75% cheaper input ($1.25/M vs $5.00/M) and ~83% cheaper output ($2.50/M vs $15.00/M)
|
|
815
|
+
- 1M-token context window
|
|
816
|
+
- Moved `grok-4.20-0309-reasoning` to legacy section in cost catalog
|
|
817
|
+
- Standard (`grok-3`) and economy (`grok-3-mini`) tiers unchanged
|
|
818
|
+
|
|
819
|
+
### v2.10.6
|
|
820
|
+
- Codex premium upgraded from `gpt-5.3-codex` to `gpt-5.5`
|
|
821
|
+
- Cursor premium upgraded from `composer-1.5` to `composer-2`
|
|
822
|
+
- Aider switched provider: `gpt-5.3-codex` → `nvidia/nemotron-3-super-120b-a12b:free` (free tier)
|
|
823
|
+
- DeepSeek premium upgraded from `deepseek-reasoner` to `deepseek-v4-pro`
|
|
824
|
+
- Claude IDs migrated from short aliases to canonical model IDs across all tiers: `opus-4.6` → `claude-opus-4-7`, `sonnet-4.6` → `claude-sonnet-4-6`, `haiku-4.5` → `claude-haiku-4-5`
|
|
825
|
+
- Fixed Kilo SIGPIPE abort under `set -euo pipefail` (replaced `head -c` with parameter expansion)
|
|
826
|
+
|
|
805
827
|
### v2.10.5
|
|
806
828
|
- Qwen3 premium model upgraded from `qwen3.5-plus` to `qwen3.6-plus` ($0.325/$1.95 per M tokens)
|
|
807
829
|
- Qwen3 standard tier now uses open-weight `qwen3.6-35b-a3b` (MoE, 35B total / 3B active)
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# AI Consultants v2.10.
|
|
1
|
+
# AI Consultants v2.10.8
|
|
2
2
|
|
|
3
3
|
> Query multiple AI models simultaneously for expert opinions on coding questions. Get diverse perspectives, automatic synthesis, confidence-weighted recommendations, and multi-agent debate.
|
|
4
4
|
|
|
5
|
-
[](https://github.com/matteoscurati/ai-consultants)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://docs.anthropic.com/en/docs/claude-code/skills)
|
|
8
8
|
[](https://github.com/matteoscurati/ai-consultants)
|
package/SKILL.md
CHANGED
|
@@ -5,10 +5,10 @@ license: MIT
|
|
|
5
5
|
compatibility: Requires bash, jq, and at least 2 AI CLI tools (gemini, codex, vibe, etc.). macOS and Linux.
|
|
6
6
|
metadata:
|
|
7
7
|
author: matteoscurati
|
|
8
|
-
version: 2.10.
|
|
8
|
+
version: 2.10.8
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# AI Consultants v2.10.
|
|
11
|
+
# AI Consultants v2.10.8 - AI Expert Panel
|
|
12
12
|
|
|
13
13
|
Simultaneously consult multiple AIs as "consultants" for coding questions. Each consultant has a **configurable persona** that influences their response style.
|
|
14
14
|
|
package/docs/COST_RATES.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cost Rates - AI Consultants v2.10.
|
|
1
|
+
# Cost Rates - AI Consultants v2.10.8
|
|
2
2
|
|
|
3
3
|
This page documents the per-token rates used by the cost tracking system.
|
|
4
4
|
|
|
@@ -21,22 +21,23 @@ Since v2.5, models are organized into three tiers. Use `apply_model_tier()` or `
|
|
|
21
21
|
| gemini-3.1-pro-preview | Premium | $0.00125 | Gemini |
|
|
22
22
|
| gemini-3-flash-preview | Standard | $0.000075 | Gemini |
|
|
23
23
|
| gemini-2.0-flash | Economy | $0.0001 | Gemini |
|
|
24
|
-
| gpt-5.
|
|
25
|
-
| gpt-5.3 | Standard | $0.005 | Codex |
|
|
26
|
-
| gpt-4o-mini | Economy | $0.00015 | Codex |
|
|
27
|
-
|
|
|
28
|
-
|
|
|
29
|
-
|
|
|
24
|
+
| gpt-5.5 | Premium | $0.01 | Codex |
|
|
25
|
+
| gpt-5.3 | Standard | $0.005 | Codex/Aider |
|
|
26
|
+
| gpt-4o-mini | Economy | $0.00015 | Codex/Aider |
|
|
27
|
+
| nvidia/nemotron-3-super-120b-a12b:free | Premium | $0.00 | Aider |
|
|
28
|
+
| claude-opus-4-7 | Premium | $0.015 | Claude |
|
|
29
|
+
| claude-sonnet-4-6 | Standard | $0.003 | Claude |
|
|
30
|
+
| claude-haiku-4-5 | Economy | $0.00025 | Claude |
|
|
30
31
|
| mistral-large-3 | Premium | $0.004 | Mistral |
|
|
31
32
|
| mistral-medium-latest | Standard | $0.0027 | Mistral |
|
|
32
33
|
| devstral-small-2 | Economy | $0.001 | Mistral |
|
|
33
|
-
| composer-
|
|
34
|
-
| deepseek-
|
|
34
|
+
| composer-2 | Premium/Standard | $0.005 | Cursor |
|
|
35
|
+
| deepseek-v4-pro | Premium | $0.002 | DeepSeek |
|
|
35
36
|
| deepseek-v3.2 | Standard | $0.0014 | DeepSeek |
|
|
36
37
|
| deepseek-chat | Economy | $0.001 | DeepSeek |
|
|
37
38
|
| glm-5.1 | Premium/Standard | $0.002 | GLM |
|
|
38
39
|
| glm-4-flash | Economy | $0.0005 | GLM |
|
|
39
|
-
| grok-4.
|
|
40
|
+
| grok-4.3 | Premium | $0.00125 | Grok |
|
|
40
41
|
| grok-3 | Standard | $0.003 | Grok |
|
|
41
42
|
| grok-3-mini | Economy | $0.001 | Grok |
|
|
42
43
|
| qwen3.6-plus | Premium | $0.000325 | Qwen3 |
|
|
@@ -55,22 +56,23 @@ Since v2.5, models are organized into three tiers. Use `apply_model_tier()` or `
|
|
|
55
56
|
| gemini-3.1-pro-preview | Premium | $0.005 | Gemini |
|
|
56
57
|
| gemini-3-flash-preview | Standard | $0.0003 | Gemini |
|
|
57
58
|
| gemini-2.0-flash | Economy | $0.0004 | Gemini |
|
|
58
|
-
| gpt-5.
|
|
59
|
-
| gpt-5.3 | Standard | $0.015 | Codex |
|
|
60
|
-
| gpt-4o-mini | Economy | $0.0006 | Codex |
|
|
61
|
-
|
|
|
62
|
-
|
|
|
63
|
-
|
|
|
59
|
+
| gpt-5.5 | Premium | $0.03 | Codex |
|
|
60
|
+
| gpt-5.3 | Standard | $0.015 | Codex/Aider |
|
|
61
|
+
| gpt-4o-mini | Economy | $0.0006 | Codex/Aider |
|
|
62
|
+
| nvidia/nemotron-3-super-120b-a12b:free | Premium | $0.00 | Aider |
|
|
63
|
+
| claude-opus-4-7 | Premium | $0.075 | Claude |
|
|
64
|
+
| claude-sonnet-4-6 | Standard | $0.015 | Claude |
|
|
65
|
+
| claude-haiku-4-5 | Economy | $0.00125 | Claude |
|
|
64
66
|
| mistral-large-3 | Premium | $0.012 | Mistral |
|
|
65
67
|
| mistral-medium-latest | Standard | $0.0081 | Mistral |
|
|
66
68
|
| devstral-small-2 | Economy | $0.003 | Mistral |
|
|
67
|
-
| composer-
|
|
68
|
-
| deepseek-
|
|
69
|
+
| composer-2 | Premium/Standard | $0.015 | Cursor |
|
|
70
|
+
| deepseek-v4-pro | Premium | $0.006 | DeepSeek |
|
|
69
71
|
| deepseek-v3.2 | Standard | $0.004 | DeepSeek |
|
|
70
72
|
| deepseek-chat | Economy | $0.003 | DeepSeek |
|
|
71
73
|
| glm-5.1 | Premium/Standard | $0.006 | GLM |
|
|
72
74
|
| glm-4-flash | Economy | $0.0015 | GLM |
|
|
73
|
-
| grok-4.
|
|
75
|
+
| grok-4.3 | Premium | $0.0025 | Grok |
|
|
74
76
|
| grok-3 | Standard | $0.009 | Grok |
|
|
75
77
|
| grok-3-mini | Economy | $0.003 | Grok |
|
|
76
78
|
| qwen3.6-plus | Premium | $0.00195 | Qwen3 |
|
package/docs/cost_rates.json
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "2.10.
|
|
3
|
-
"updated": "2026-03
|
|
2
|
+
"version": "2.10.8",
|
|
3
|
+
"updated": "2026-05-03",
|
|
4
4
|
"models": {
|
|
5
|
-
"_comment_premium": "Premium tier models -
|
|
6
|
-
"opus-4
|
|
5
|
+
"_comment_premium": "Premium tier models - May 2026",
|
|
6
|
+
"claude-opus-4-7": {"input": 5.00, "output": 25.00},
|
|
7
7
|
"gemini-3.1-pro-preview": {"input": 1.25, "output": 5.00},
|
|
8
|
-
"gpt-5.
|
|
8
|
+
"gpt-5.5": {"input": 3.00, "output": 12.00},
|
|
9
9
|
"mistral-large-3": {"input": 2.00, "output": 6.00},
|
|
10
|
-
"deepseek-
|
|
10
|
+
"deepseek-v4-pro": {"input": 0.55, "output": 2.19},
|
|
11
11
|
"glm-5.1": {"input": 0.50, "output": 2.00},
|
|
12
|
-
"grok-4.
|
|
12
|
+
"grok-4.3": {"input": 1.25, "output": 2.50},
|
|
13
13
|
"qwen3.6-plus": {"input": 0.325, "output": 1.95},
|
|
14
14
|
"qwen3.6-35b-a3b": {"input": 0.163, "output": 0.90},
|
|
15
|
-
"composer-
|
|
15
|
+
"composer-2": {"input": 0.005, "output": 0.015},
|
|
16
16
|
"minimax-m2.7": {"input": 0.50, "output": 2.00},
|
|
17
17
|
"kimi-code/kimi-for-coding": {"input": 0.50, "output": 2.00},
|
|
18
18
|
"amp": {"input": 0.005, "output": 0.015},
|
|
19
|
+
"nvidia/nemotron-3-super-120b-a12b:free": {"input": 0.00, "output": 0.00},
|
|
19
20
|
|
|
20
21
|
"_comment_standard": "Standard tier models",
|
|
21
|
-
"sonnet-4
|
|
22
|
+
"claude-sonnet-4-6": {"input": 3.00, "output": 15.00},
|
|
22
23
|
"gemini-3-flash-preview": {"input": 0.075, "output": 0.30},
|
|
23
24
|
"gpt-5.3": {"input": 2.50, "output": 10.00},
|
|
24
25
|
"mistral-medium-latest": {"input": 0.0027, "output": 0.0081},
|
|
@@ -26,7 +27,7 @@
|
|
|
26
27
|
"grok-3": {"input": 3.00, "output": 9.00},
|
|
27
28
|
|
|
28
29
|
"_comment_economy": "Economy tier models",
|
|
29
|
-
"haiku-4
|
|
30
|
+
"claude-haiku-4-5": {"input": 0.001, "output": 0.005},
|
|
30
31
|
"gemini-2.0-flash": {"input": 0.0001, "output": 0.0004},
|
|
31
32
|
"gpt-4o-mini": {"input": 0.00015, "output": 0.0006},
|
|
32
33
|
"devstral-small-2": {"input": 0.001, "output": 0.003},
|
|
@@ -37,7 +38,14 @@
|
|
|
37
38
|
"minimax-m2.5": {"input": 0.30, "output": 1.50},
|
|
38
39
|
|
|
39
40
|
"_comment_legacy": "Legacy models for backwards compatibility",
|
|
41
|
+
"opus-4.6": {"input": 5.00, "output": 25.00},
|
|
42
|
+
"sonnet-4.6": {"input": 3.00, "output": 15.00},
|
|
43
|
+
"haiku-4.5": {"input": 0.001, "output": 0.005},
|
|
44
|
+
"gpt-5.3-codex": {"input": 3.00, "output": 12.00},
|
|
45
|
+
"composer-1.5": {"input": 0.005, "output": 0.015},
|
|
46
|
+
"deepseek-reasoner": {"input": 0.55, "output": 2.19},
|
|
40
47
|
"qwen3.5-plus": {"input": 1.60, "output": 6.40},
|
|
48
|
+
"grok-4.20-0309-reasoning": {"input": 5.00, "output": 15.00},
|
|
41
49
|
"claude-opus-4-5-20251124": {"input": 5.00, "output": 25.00},
|
|
42
50
|
"claude-sonnet-4-5-20251124": {"input": 3.00, "output": 15.00},
|
|
43
51
|
"claude-3-5-haiku-20241022": {"input": 0.001, "output": 0.005},
|
|
@@ -69,18 +77,18 @@
|
|
|
69
77
|
"minimax-m2.1": {"input": 0.30, "output": 1.50}
|
|
70
78
|
},
|
|
71
79
|
"consultant_fallbacks": {
|
|
72
|
-
"_comment": "Premium defaults - Updated
|
|
73
|
-
"claude": "opus-4
|
|
80
|
+
"_comment": "Premium defaults - Updated May 2026",
|
|
81
|
+
"claude": "claude-opus-4-7",
|
|
74
82
|
"gemini": "gemini-3.1-pro-preview",
|
|
75
|
-
"codex": "gpt-5.
|
|
83
|
+
"codex": "gpt-5.5",
|
|
76
84
|
"mistral": "mistral-large-3",
|
|
77
|
-
"deepseek": "deepseek-
|
|
85
|
+
"deepseek": "deepseek-v4-pro",
|
|
78
86
|
"glm": "glm-5.1",
|
|
79
|
-
"grok": "grok-4.
|
|
87
|
+
"grok": "grok-4.3",
|
|
80
88
|
"qwen3": "qwen3.6-plus",
|
|
81
|
-
"aider": "
|
|
89
|
+
"aider": "nvidia/nemotron-3-super-120b-a12b:free",
|
|
82
90
|
"kilo": "auto",
|
|
83
|
-
"cursor": "composer-
|
|
91
|
+
"cursor": "composer-2",
|
|
84
92
|
"amp": "amp",
|
|
85
93
|
"kimi": "kimi-code/kimi-for-coding",
|
|
86
94
|
"minimax": "minimax-m2.7",
|
|
@@ -89,24 +97,24 @@
|
|
|
89
97
|
"model_tiers": {
|
|
90
98
|
"_comment": "Model tiers for apply_model_tier() function",
|
|
91
99
|
"premium": {
|
|
92
|
-
"claude": "opus-4
|
|
100
|
+
"claude": "claude-opus-4-7",
|
|
93
101
|
"gemini": "gemini-3.1-pro-preview",
|
|
94
|
-
"codex": "gpt-5.
|
|
102
|
+
"codex": "gpt-5.5",
|
|
95
103
|
"mistral": "mistral-large-3",
|
|
96
|
-
"deepseek": "deepseek-
|
|
104
|
+
"deepseek": "deepseek-v4-pro",
|
|
97
105
|
"glm": "glm-5.1",
|
|
98
|
-
"grok": "grok-4.
|
|
106
|
+
"grok": "grok-4.3",
|
|
99
107
|
"qwen3": "qwen3.6-plus",
|
|
100
|
-
"aider": "
|
|
108
|
+
"aider": "nvidia/nemotron-3-super-120b-a12b:free",
|
|
101
109
|
"kilo": "auto",
|
|
102
|
-
"cursor": "composer-
|
|
110
|
+
"cursor": "composer-2",
|
|
103
111
|
"amp": "amp",
|
|
104
112
|
"kimi": "kimi-code/kimi-for-coding",
|
|
105
113
|
"minimax": "minimax-m2.7",
|
|
106
114
|
"ollama": "qwen2.5-coder:32b"
|
|
107
115
|
},
|
|
108
116
|
"standard": {
|
|
109
|
-
"claude": "sonnet-4
|
|
117
|
+
"claude": "claude-sonnet-4-6",
|
|
110
118
|
"gemini": "gemini-3-flash-preview",
|
|
111
119
|
"codex": "gpt-5.3",
|
|
112
120
|
"mistral": "mistral-medium-latest",
|
|
@@ -116,14 +124,14 @@
|
|
|
116
124
|
"qwen3": "qwen3.6-35b-a3b",
|
|
117
125
|
"aider": "gpt-5.3",
|
|
118
126
|
"kilo": "auto",
|
|
119
|
-
"cursor": "composer-
|
|
127
|
+
"cursor": "composer-2",
|
|
120
128
|
"amp": "amp",
|
|
121
129
|
"kimi": "kimi-code/kimi-for-coding",
|
|
122
130
|
"minimax": "minimax-m2.7",
|
|
123
131
|
"ollama": "llama3.3"
|
|
124
132
|
},
|
|
125
133
|
"economy": {
|
|
126
|
-
"claude": "haiku-4
|
|
134
|
+
"claude": "claude-haiku-4-5",
|
|
127
135
|
"gemini": "gemini-2.0-flash",
|
|
128
136
|
"codex": "gpt-4o-mini",
|
|
129
137
|
"mistral": "devstral-small-2",
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Release v2.10.6
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-02
|
|
4
|
+
**Type:** Patch — Premium model upgrades across 5 consultants + Kilo SIGPIPE fix
|
|
5
|
+
**Previous:** v2.10.5
|
|
6
|
+
|
|
7
|
+
## Highlights
|
|
8
|
+
|
|
9
|
+
- Codex, Cursor, Aider, DeepSeek, and Claude all bumped to newer premium defaults
|
|
10
|
+
- Aider switches provider to NVIDIA Nemotron 3 Super (free tier) via OpenRouter
|
|
11
|
+
- Claude model IDs migrated from short aliases (`opus-4.6`) to canonical IDs (`claude-opus-4-7`)
|
|
12
|
+
- Kilo no longer aborts under `set -euo pipefail` due to SIGPIPE from `head -c`
|
|
13
|
+
|
|
14
|
+
## What's New
|
|
15
|
+
|
|
16
|
+
### Premium Model Upgrades
|
|
17
|
+
|
|
18
|
+
| Consultant | Before (v2.10.5) | After (v2.10.6) |
|
|
19
|
+
|------------|------------------|------------------|
|
|
20
|
+
| Codex | `gpt-5.3-codex` | `gpt-5.5` |
|
|
21
|
+
| Cursor | `composer-1.5` | `composer-2` |
|
|
22
|
+
| Aider | `gpt-5.3-codex` | `nvidia/nemotron-3-super-120b-a12b:free` |
|
|
23
|
+
| DeepSeek | `deepseek-reasoner` | `deepseek-v4-pro` |
|
|
24
|
+
| Claude | `opus-4.6` / `sonnet-4.6` / `haiku-4.5` | `claude-opus-4-7` / `claude-sonnet-4-6` / `claude-haiku-4-5` |
|
|
25
|
+
|
|
26
|
+
The Claude rename also covers standard and economy tiers — all three Claude tiers now use canonical IDs (`claude-<family>-<major>-<minor>`) matching the Anthropic API model identifiers, eliminating the alias indirection that previously required mapping in API mode.
|
|
27
|
+
|
|
28
|
+
Aider moves off OpenAI Codex to NVIDIA's Nemotron 3 Super 120B (A12B-active MoE) on the OpenRouter free tier, lowering cost-per-consultation for collaborative coding workflows.
|
|
29
|
+
|
|
30
|
+
### Kilo SIGPIPE Fix
|
|
31
|
+
|
|
32
|
+
`query_kilo.sh` previously truncated output via `echo "$CONTENT" | head -5 | ... | head -c 200`. Under `set -o pipefail`, `head -c` closing the pipe before the upstream `sed` finished writing produced a SIGPIPE that aborted the entire script. Replaced the trailing `head -c` with bash parameter expansion (`${var:0:N}`), which truncates safely without involving the pipeline.
|
|
33
|
+
|
|
34
|
+
## Breaking Changes
|
|
35
|
+
|
|
36
|
+
None. Existing `CLAUDE_MODEL`, `CODEX_MODEL`, `CURSOR_MODEL`, `AIDER_MODEL`, and `DEEPSEEK_MODEL` overrides continue to work — only the *defaults* changed.
|
|
37
|
+
|
|
38
|
+
If you were relying on the short Claude aliases (`opus-4.6`, etc.) in scripts, those still work as overrides through the CLI; the change only affects what's selected when no override is present.
|
|
39
|
+
|
|
40
|
+
## Upgrade Guide
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# If installed via git clone
|
|
44
|
+
cd ~/.claude/skills/ai-consultants && git pull
|
|
45
|
+
|
|
46
|
+
# If installed via curl | bash
|
|
47
|
+
curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
No configuration changes required.
|
|
51
|
+
|
|
52
|
+
## Commits
|
|
53
|
+
|
|
54
|
+
- `e797d69` fix(kilo): use parameter expansion to avoid SIGPIPE under set -euo pipefail
|
|
55
|
+
- `e52d6d4` feat: upgrade Codex, Cursor, Aider, DeepSeek, Claude premium models
|
|
56
|
+
|
|
57
|
+
## Contributors
|
|
58
|
+
|
|
59
|
+
- @matteoscurati
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Release v2.10.7
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-02
|
|
4
|
+
**Type:** Patch — Grok premium model upgrade to grok-4.3
|
|
5
|
+
**Previous:** v2.10.6
|
|
6
|
+
|
|
7
|
+
## Highlights
|
|
8
|
+
|
|
9
|
+
- Grok premium upgraded from `grok-4.20-0309-reasoning` to `grok-4.3`
|
|
10
|
+
- ~75% cheaper input, ~83% cheaper output, with a 1M-token context window
|
|
11
|
+
- xAI explicitly recommends migrating all callers to grok-4.3
|
|
12
|
+
|
|
13
|
+
## What's New
|
|
14
|
+
|
|
15
|
+
### Grok 4.3 Upgrade
|
|
16
|
+
|
|
17
|
+
xAI released Grok 4.3 on April 30, 2026 as their flagship model, replacing the previous reasoning-focused `grok-4.20-0309-reasoning`. The new model is positioned as both the most intelligent and the fastest in the lineup, with aggressive pricing.
|
|
18
|
+
|
|
19
|
+
| Tier | Before (v2.10.6) | After (v2.10.7) |
|
|
20
|
+
|------|-------------------|------------------|
|
|
21
|
+
| Premium | grok-4.20-0309-reasoning ($5.00/$15.00 per M) | grok-4.3 ($1.25/$2.50 per M) |
|
|
22
|
+
| Standard | grok-3 ($3.00/$9.00 per M) | grok-3 (unchanged) |
|
|
23
|
+
| Economy | grok-3-mini ($1.00/$3.00 per M) | grok-3-mini (unchanged) |
|
|
24
|
+
|
|
25
|
+
The premium tier moves from $20.00 combined per million tokens (input + output average) to $3.75 — a roughly 5x reduction at typical query shapes. The 1M-token context window is unchanged from the prior reasoning variant.
|
|
26
|
+
|
|
27
|
+
**Note on tiered pricing:** xAI bills requests exceeding 200k input tokens at a higher rate. For very long-context queries, consult the xAI Console for the exact tiered pricing.
|
|
28
|
+
|
|
29
|
+
The standard and economy tiers continue to use `grok-3` and `grok-3-mini` respectively. The previous premium model `grok-4.20-0309-reasoning` was moved to the legacy section of `docs/cost_rates.json` so cost calculation continues to work for any historical responses or pinned overrides.
|
|
30
|
+
|
|
31
|
+
## Breaking Changes
|
|
32
|
+
|
|
33
|
+
None. Existing `GROK_MODEL` overrides continue to work — only the default changed.
|
|
34
|
+
|
|
35
|
+
## Upgrade Guide
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# If installed via git clone
|
|
39
|
+
cd ~/.claude/skills/ai-consultants && git pull
|
|
40
|
+
|
|
41
|
+
# If installed via curl | bash
|
|
42
|
+
curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
No configuration changes required.
|
|
46
|
+
|
|
47
|
+
## Commits
|
|
48
|
+
|
|
49
|
+
- `1d3a53b` feat(grok): upgrade premium to grok-4.3 (released 2026-04-30)
|
|
50
|
+
|
|
51
|
+
## Contributors
|
|
52
|
+
|
|
53
|
+
- @matteoscurati
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# Release v2.10.8
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-05-03
|
|
4
|
+
**Type:** Patch — Cost catalog sync (fixes v2.10.6 drift)
|
|
5
|
+
**Previous:** v2.10.7
|
|
6
|
+
|
|
7
|
+
## Highlights
|
|
8
|
+
|
|
9
|
+
- Fixes a runtime drift introduced by v2.10.6: `docs/cost_rates.json` was still pointing `consultant_fallbacks` at the old model IDs (`opus-4.6`, `gpt-5.3-codex`, `composer-1.5`, `deepseek-reasoner`)
|
|
10
|
+
- Adds price entries for the v2.10.6 model IDs (Claude canonical IDs, `gpt-5.5`, `composer-2`, `deepseek-v4-pro`, `nvidia/nemotron-3-super-120b-a12b:free`)
|
|
11
|
+
- Old IDs preserved in the legacy section so cost calculation still works for historical responses or pinned overrides
|
|
12
|
+
|
|
13
|
+
## What's New
|
|
14
|
+
|
|
15
|
+
### Cost Catalog Sync
|
|
16
|
+
|
|
17
|
+
In v2.10.6 we updated `scripts/config.sh` to use canonical model IDs for Claude and to switch Codex/Cursor/Aider/DeepSeek to newer models. However, `docs/cost_rates.json` — which is read at runtime by `lib/costs.sh` to resolve fallback prices when a consultant doesn't report its own model — was not updated. Two effects:
|
|
18
|
+
|
|
19
|
+
1. `consultant_fallbacks.claude = "opus-4.6"` would have caused fallback cost lookups to use `opus-4.6` even when the consultant ran on `claude-opus-4-7`. The price for `claude-opus-4-7` was missing from the catalog entirely, which would have triggered the `default_rate` ($0.005/$0.015 per 1k) for any direct lookup of the new ID.
|
|
20
|
+
2. The reference `model_tiers` table in the JSON file (documentation, not used at runtime) was inconsistent with the canonical source in `config.sh::get_model_for_tier()`.
|
|
21
|
+
|
|
22
|
+
Both issues are now fixed. `consultant_fallbacks` and `model_tiers` mirror the active defaults in `config.sh`, and every model ID referenced by the defaults has a corresponding price entry.
|
|
23
|
+
|
|
24
|
+
### Catalog Layout Changes
|
|
25
|
+
|
|
26
|
+
| Section | Added | Moved to legacy |
|
|
27
|
+
|---------|-------|------------------|
|
|
28
|
+
| Premium | `claude-opus-4-7`, `gpt-5.5`, `composer-2`, `deepseek-v4-pro`, `nvidia/nemotron-3-super-120b-a12b:free` | `opus-4.6`, `gpt-5.3-codex`, `composer-1.5`, `deepseek-reasoner` |
|
|
29
|
+
| Standard | `claude-sonnet-4-6` | `sonnet-4.6` |
|
|
30
|
+
| Economy | `claude-haiku-4-5` | `haiku-4.5` |
|
|
31
|
+
|
|
32
|
+
Pricing values mirror the prior entries for direct successors (the model lineage is the same, only the canonical ID changed). `nvidia/nemotron-3-super-120b-a12b:free` is set to $0/$0 to reflect OpenRouter's free tier — this means Aider consultations contribute zero to cost tracking when running on the default model.
|
|
33
|
+
|
|
34
|
+
`COST_RATES.md` was updated to mirror the new active and legacy IDs.
|
|
35
|
+
|
|
36
|
+
## Breaking Changes
|
|
37
|
+
|
|
38
|
+
None.
|
|
39
|
+
|
|
40
|
+
## Upgrade Guide
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# If installed via git clone
|
|
44
|
+
cd ~/.claude/skills/ai-consultants && git pull
|
|
45
|
+
|
|
46
|
+
# If installed via curl | bash
|
|
47
|
+
curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/scripts/install.sh | bash
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
No configuration changes required.
|
|
51
|
+
|
|
52
|
+
## Commits
|
|
53
|
+
|
|
54
|
+
- `885e2ea` fix(costs): sync cost catalog with v2.10.6 model defaults
|
|
55
|
+
|
|
56
|
+
## Contributors
|
|
57
|
+
|
|
58
|
+
- @matteoscurati
|
package/package.json
CHANGED
package/scripts/config.sh
CHANGED
|
@@ -63,8 +63,8 @@ GEMINI_CMD="${GEMINI_CMD:-gemini}"
|
|
|
63
63
|
# CODEX CONFIGURATION - The Pragmatist
|
|
64
64
|
# =============================================================================
|
|
65
65
|
|
|
66
|
-
# Model: "gpt-5.
|
|
67
|
-
CODEX_MODEL="${CODEX_MODEL:-gpt-5.
|
|
66
|
+
# Model: "gpt-5.5" (default), "gpt-5.3", "gpt-4o-mini", etc.
|
|
67
|
+
CODEX_MODEL="${CODEX_MODEL:-gpt-5.5}"
|
|
68
68
|
CODEX_TIMEOUT_SECONDS="${CODEX_TIMEOUT:-180}"
|
|
69
69
|
CODEX_CMD="${CODEX_CMD:-codex}"
|
|
70
70
|
|
|
@@ -89,7 +89,7 @@ KILO_CMD="${KILO_CMD:-kilocode}"
|
|
|
89
89
|
# CURSOR CONFIGURATION - The Integrator
|
|
90
90
|
# =============================================================================
|
|
91
91
|
|
|
92
|
-
CURSOR_MODEL="${CURSOR_MODEL:-composer-
|
|
92
|
+
CURSOR_MODEL="${CURSOR_MODEL:-composer-2}"
|
|
93
93
|
CURSOR_TIMEOUT_SECONDS="${CURSOR_TIMEOUT:-180}"
|
|
94
94
|
CURSOR_CMD="${CURSOR_CMD:-agent}"
|
|
95
95
|
|
|
@@ -97,7 +97,7 @@ CURSOR_CMD="${CURSOR_CMD:-agent}"
|
|
|
97
97
|
# AIDER CONFIGURATION - The Pair Programmer
|
|
98
98
|
# =============================================================================
|
|
99
99
|
|
|
100
|
-
AIDER_MODEL="${AIDER_MODEL:-
|
|
100
|
+
AIDER_MODEL="${AIDER_MODEL:-nvidia/nemotron-3-super-120b-a12b:free}"
|
|
101
101
|
AIDER_TIMEOUT_SECONDS="${AIDER_TIMEOUT:-180}"
|
|
102
102
|
AIDER_CMD="${AIDER_CMD:-aider}"
|
|
103
103
|
|
|
@@ -127,7 +127,7 @@ GLM_FORMAT="${GLM_FORMAT:-openai}"
|
|
|
127
127
|
# GROK CONFIGURATION - The Provocateur (API-based)
|
|
128
128
|
# =============================================================================
|
|
129
129
|
|
|
130
|
-
GROK_MODEL="${GROK_MODEL:-grok-4.
|
|
130
|
+
GROK_MODEL="${GROK_MODEL:-grok-4.3}"
|
|
131
131
|
GROK_TIMEOUT_SECONDS="${GROK_TIMEOUT:-180}"
|
|
132
132
|
GROK_API_URL="${GROK_API_URL:-https://api.x.ai/v1/chat/completions}"
|
|
133
133
|
GROK_FORMAT="${GROK_FORMAT:-openai}"
|
|
@@ -137,7 +137,7 @@ GROK_FORMAT="${GROK_FORMAT:-openai}"
|
|
|
137
137
|
# DEEPSEEK CONFIGURATION - The Methodologist (API-based)
|
|
138
138
|
# =============================================================================
|
|
139
139
|
|
|
140
|
-
DEEPSEEK_MODEL="${DEEPSEEK_MODEL:-deepseek-
|
|
140
|
+
DEEPSEEK_MODEL="${DEEPSEEK_MODEL:-deepseek-v4-pro}"
|
|
141
141
|
DEEPSEEK_TIMEOUT_SECONDS="${DEEPSEEK_TIMEOUT:-180}"
|
|
142
142
|
DEEPSEEK_API_URL="${DEEPSEEK_API_URL:-https://api.deepseek.com/v1/chat/completions}"
|
|
143
143
|
DEEPSEEK_FORMAT="${DEEPSEEK_FORMAT:-openai}"
|
|
@@ -176,7 +176,7 @@ KIMI_CMD="${KIMI_CMD:-kimi}"
|
|
|
176
176
|
# CLAUDE CONFIGURATION - The Synthesizer (v2.2)
|
|
177
177
|
# =============================================================================
|
|
178
178
|
|
|
179
|
-
CLAUDE_MODEL="${CLAUDE_MODEL:-opus-4
|
|
179
|
+
CLAUDE_MODEL="${CLAUDE_MODEL:-claude-opus-4-7}"
|
|
180
180
|
CLAUDE_TIMEOUT_SECONDS="${CLAUDE_TIMEOUT:-240}"
|
|
181
181
|
CLAUDE_CMD="${CLAUDE_CMD:-claude}"
|
|
182
182
|
|
|
@@ -525,16 +525,16 @@ get_model_for_tier() {
|
|
|
525
525
|
case "$tier" in
|
|
526
526
|
premium|max|best)
|
|
527
527
|
case "$consultant" in
|
|
528
|
-
claude) echo "opus-4
|
|
528
|
+
claude) echo "claude-opus-4-7" ;;
|
|
529
529
|
gemini) echo "gemini-3.1-pro-preview" ;;
|
|
530
|
-
codex) echo "gpt-5.
|
|
530
|
+
codex) echo "gpt-5.5" ;;
|
|
531
531
|
mistral) echo "mistral-large-3" ;;
|
|
532
|
-
cursor) echo "composer-
|
|
533
|
-
deepseek) echo "deepseek-
|
|
532
|
+
cursor) echo "composer-2" ;;
|
|
533
|
+
deepseek) echo "deepseek-v4-pro" ;;
|
|
534
534
|
glm) echo "glm-5.1" ;;
|
|
535
|
-
grok) echo "grok-4.
|
|
535
|
+
grok) echo "grok-4.3" ;;
|
|
536
536
|
qwen3) echo "qwen3.6-plus" ;;
|
|
537
|
-
aider) echo "
|
|
537
|
+
aider) echo "nvidia/nemotron-3-super-120b-a12b:free" ;;
|
|
538
538
|
amp) echo "amp" ;;
|
|
539
539
|
ollama) echo "qwen2.5-coder:32b" ;;
|
|
540
540
|
kimi) echo "kimi-code/kimi-for-coding" ;;
|
|
@@ -545,7 +545,7 @@ get_model_for_tier() {
|
|
|
545
545
|
;;
|
|
546
546
|
standard|medium|balanced)
|
|
547
547
|
case "$consultant" in
|
|
548
|
-
claude) echo "sonnet-4
|
|
548
|
+
claude) echo "claude-sonnet-4-6" ;;
|
|
549
549
|
gemini) echo "gemini-3-flash-preview" ;;
|
|
550
550
|
codex) echo "gpt-5.3" ;;
|
|
551
551
|
mistral) echo "mistral-medium-latest" ;;
|
|
@@ -565,7 +565,7 @@ get_model_for_tier() {
|
|
|
565
565
|
;;
|
|
566
566
|
economy|fast|quick)
|
|
567
567
|
case "$consultant" in
|
|
568
|
-
claude) echo "haiku-4
|
|
568
|
+
claude) echo "claude-haiku-4-5" ;;
|
|
569
569
|
gemini) echo "gemini-2.0-flash" ;;
|
|
570
570
|
codex) echo "gpt-4o-mini" ;;
|
|
571
571
|
mistral) echo "devstral-small-2" ;;
|
|
@@ -750,4 +750,4 @@ EOF
|
|
|
750
750
|
# VERSION
|
|
751
751
|
# =============================================================================
|
|
752
752
|
|
|
753
|
-
AI_CONSULTANTS_VERSION="2.10.
|
|
753
|
+
AI_CONSULTANTS_VERSION="2.10.8"
|
package/scripts/query_kilo.sh
CHANGED
|
@@ -95,13 +95,15 @@ if [[ $exit_code -eq 0 && -n "${CONTENT:-}" ]]; then
|
|
|
95
95
|
"$TEMP_OUTPUT" "$OUTPUT_FILE" "$exit_code" "$LATENCY_MS"
|
|
96
96
|
else
|
|
97
97
|
# Extract structured fields from markdown/text output
|
|
98
|
-
#
|
|
99
|
-
|
|
98
|
+
# Note: truncation via parameter expansion (not `head -c`) to avoid SIGPIPE
|
|
99
|
+
# aborting the script under `set -euo pipefail`.
|
|
100
|
+
local_summary=$(echo "$CONTENT" | head -5 | tr '\n' ' ' | sed 's/^[[:space:]]*//;s/[[:space:]]*$//')
|
|
101
|
+
local_summary="${local_summary:0:200}"
|
|
100
102
|
|
|
101
|
-
# Approach: look for headings or key phrases
|
|
102
103
|
local_approach=$(echo "$CONTENT" | grep -iE '^#+\s|^approach:|^recommendation:|^solution:' | head -1 | \
|
|
103
|
-
sed 's/^[#[:space:]]*//;s/^[Aa]pproach:[[:space:]]*//'
|
|
104
|
-
|
|
104
|
+
sed 's/^[#[:space:]]*//;s/^[Aa]pproach:[[:space:]]*//' || true)
|
|
105
|
+
local_approach="${local_approach:0:100}"
|
|
106
|
+
[[ -z "$local_approach" ]] && local_approach="${local_summary:0:60}"
|
|
105
107
|
|
|
106
108
|
# Confidence: estimate from language strength
|
|
107
109
|
local_confidence=6
|
package/scripts/test_suite.sh
CHANGED
|
@@ -1088,7 +1088,7 @@ test_economic_models() {
|
|
|
1088
1088
|
|
|
1089
1089
|
assert_equals "gemini-2.0-flash" "$(get_economic_model "gemini")" "gemini economy is gemini-2.0-flash"
|
|
1090
1090
|
assert_equals "gpt-4o-mini" "$(get_economic_model "codex")" "codex economy is gpt-4o-mini"
|
|
1091
|
-
assert_equals "haiku-4
|
|
1091
|
+
assert_equals "claude-haiku-4-5" "$(get_economic_model "claude")" "claude economy is claude-haiku-4-5"
|
|
1092
1092
|
assert_equals "MiniMax-M2.5" "$(get_economic_model "minimax")" "minimax economy is MiniMax-M2.5"
|
|
1093
1093
|
assert_equals "" "$(get_economic_model "unknown")" "unknown consultant returns empty"
|
|
1094
1094
|
}
|
|
@@ -1424,9 +1424,9 @@ test_escalation() {
|
|
|
1424
1424
|
test_model_for_tier() {
|
|
1425
1425
|
suite "config.sh: get_model_for_tier"
|
|
1426
1426
|
|
|
1427
|
-
assert_equals "opus-4
|
|
1428
|
-
assert_equals "sonnet-4
|
|
1429
|
-
assert_equals "haiku-4
|
|
1427
|
+
assert_equals "claude-opus-4-7" "$(get_model_for_tier "claude" "premium")" "claude premium is claude-opus-4-7"
|
|
1428
|
+
assert_equals "claude-sonnet-4-6" "$(get_model_for_tier "claude" "standard")" "claude standard is claude-sonnet-4-6"
|
|
1429
|
+
assert_equals "claude-haiku-4-5" "$(get_model_for_tier "claude" "economy")" "claude economy is claude-haiku-4-5"
|
|
1430
1430
|
assert_equals "gemini-3.1-pro-preview" "$(get_model_for_tier "gemini" "premium")" "gemini premium is gemini-3.1-pro-preview"
|
|
1431
1431
|
assert_equals "gemini-2.0-flash" "$(get_model_for_tier "gemini" "economy")" "gemini economy is gemini-2.0-flash"
|
|
1432
1432
|
assert_equals "MiniMax-M2.7" "$(get_model_for_tier "minimax" "premium")" "minimax premium is MiniMax-M2.7"
|