ai-consultants 2.10.1
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/commands/ai-consultants:consult.md +94 -0
- package/.claude/commands/ai-consultants:debate.md +103 -0
- package/.claude/commands/ai-consultants:help.md +30 -0
- package/CLAUDE.md +839 -0
- package/LICENSE +21 -0
- package/README.md +758 -0
- package/SKILL.md +156 -0
- package/bin/ai-consultants +96 -0
- package/docs/COST_RATES.md +172 -0
- package/docs/JSON_SCHEMA.md +305 -0
- package/docs/SETUP.md +879 -0
- package/docs/SMART_ROUTING.md +219 -0
- package/docs/cost_rates.json +143 -0
- package/package.json +47 -0
- package/references/configuration.md +141 -0
- package/references/details.md +60 -0
- package/scripts/build_context.sh +562 -0
- package/scripts/classify_question.sh +148 -0
- package/scripts/config.sh +753 -0
- package/scripts/configure.sh +1093 -0
- package/scripts/consult_all.sh +934 -0
- package/scripts/debate_round.sh +421 -0
- package/scripts/doctor.sh +642 -0
- package/scripts/followup.sh +197 -0
- package/scripts/install.sh +319 -0
- package/scripts/lib/api.sh +640 -0
- package/scripts/lib/api_query.sh +228 -0
- package/scripts/lib/cache.sh +338 -0
- package/scripts/lib/chunking.sh +880 -0
- package/scripts/lib/code_optimizer.sh +671 -0
- package/scripts/lib/common.sh +1088 -0
- package/scripts/lib/costs.sh +674 -0
- package/scripts/lib/personas.sh +372 -0
- package/scripts/lib/progress.sh +251 -0
- package/scripts/lib/reflection.sh +447 -0
- package/scripts/lib/routing.sh +566 -0
- package/scripts/lib/schema.json +165 -0
- package/scripts/lib/session.sh +327 -0
- package/scripts/lib/symbol_map.sh +445 -0
- package/scripts/lib/voting.sh +495 -0
- package/scripts/peer_review.sh +460 -0
- package/scripts/preflight_check.sh +452 -0
- package/scripts/query_aider.sh +83 -0
- package/scripts/query_amp.sh +67 -0
- package/scripts/query_claude.sh +99 -0
- package/scripts/query_codex.sh +92 -0
- package/scripts/query_cursor.sh +72 -0
- package/scripts/query_deepseek.sh +17 -0
- package/scripts/query_gemini.sh +85 -0
- package/scripts/query_glm.sh +17 -0
- package/scripts/query_grok.sh +17 -0
- package/scripts/query_kilo.sh +140 -0
- package/scripts/query_kimi.sh +67 -0
- package/scripts/query_minimax.sh +17 -0
- package/scripts/query_mistral.sh +97 -0
- package/scripts/query_ollama.sh +328 -0
- package/scripts/query_qwen3.sh +93 -0
- package/scripts/setup_wizard.sh +367 -0
- package/scripts/skillport-install.sh +196 -0
- package/scripts/synthesize.sh +332 -0
- package/templates/consultation_report.md +323 -0
- package/templates/synthesis_prompt.md +120 -0
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# Smart Routing - AI Consultants v2.10
|
|
2
|
+
|
|
3
|
+
The Smart Routing system automatically selects the most suitable consultants based on the question category.
|
|
4
|
+
|
|
5
|
+
## Enabling
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Enable classification (required)
|
|
9
|
+
ENABLE_CLASSIFICATION=true
|
|
10
|
+
|
|
11
|
+
# Enable smart routing
|
|
12
|
+
ENABLE_SMART_ROUTING=true
|
|
13
|
+
|
|
14
|
+
# Minimum affinity to include a consultant (1-10)
|
|
15
|
+
MIN_AFFINITY=7
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Affinity Matrix
|
|
19
|
+
|
|
20
|
+
Consultant-category affinity scores (scale 1-10):
|
|
21
|
+
|
|
22
|
+
| Category | Gemini | Codex | Mistral | Kilo | Cursor | Aider | Amp | Kimi | Claude | Qwen3 | GLM | Grok | DeepSeek | MiniMax | Ollama |
|
|
23
|
+
|----------|--------|-------|---------|------|--------|-------|-----|------|--------|-------|-----|------|----------|---------|--------|
|
|
24
|
+
| **CODE_REVIEW** | 7 | **10** | 8 | 9 | 8 | 9 | 7 | 7 | 8 | 7 | 7 | 6 | 8 | 6 | 6 |
|
|
25
|
+
| **BUG_DEBUG** | 7 | **10** | 9 | 8 | 8 | 9 | 7 | 6 | 7 | 7 | 6 | 6 | 8 | 5 | 6 |
|
|
26
|
+
| **ARCHITECTURE** | **10** | 6 | 8 | 9 | 7 | 6 | **10** | 8 | 9 | 7 | 7 | 7 | 6 | 6 | 5 |
|
|
27
|
+
| **ALGORITHM** | 9 | 8 | 7 | 8 | 7 | 7 | 7 | 6 | 8 | 8 | 8 | 7 | **10** | 6 | 6 |
|
|
28
|
+
| **SECURITY** | 9 | 9 | **10** | 8 | 8 | 7 | 8 | 5 | 9 | 7 | 7 | 8 | 7 | 5 | 5 |
|
|
29
|
+
| **QUICK_SYNTAX** | **10** | 8 | 5 | 6 | 7 | 7 | 5 | 5 | 7 | 7 | 6 | 5 | 7 | 5 | 6 |
|
|
30
|
+
| **DATABASE** | 8 | 9 | 7 | 7 | 7 | 7 | 7 | 6 | 7 | 8 | 7 | 6 | 8 | 5 | 5 |
|
|
31
|
+
| **API_DESIGN** | **10** | 9 | 7 | 8 | 8 | 6 | 9 | 6 | 8 | 7 | 7 | 7 | 6 | 6 | 5 |
|
|
32
|
+
| **TESTING** | 7 | **10** | 9 | 7 | 8 | 9 | 7 | 5 | 7 | 7 | 7 | 6 | 7 | 6 | 5 |
|
|
33
|
+
| **GENERAL** | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 7 | 9 | 8 | 7 | 8 | 8 | 6 | 7 |
|
|
34
|
+
|
|
35
|
+
**Legend:**
|
|
36
|
+
- **10**: Perfect match
|
|
37
|
+
- 7-9: Good match
|
|
38
|
+
- 5-6: Medium match
|
|
39
|
+
- 1-4: Poor match
|
|
40
|
+
|
|
41
|
+
## Routing Modes
|
|
42
|
+
|
|
43
|
+
The system automatically determines how many consultants to involve:
|
|
44
|
+
|
|
45
|
+
| Mode | Consultants | Categories | Rationale |
|
|
46
|
+
|------|-------------|------------|-----------|
|
|
47
|
+
| **full** | All enabled | SECURITY, GENERAL | All for complete perspectives |
|
|
48
|
+
| **selective** | Top 5 by affinity | CODE_REVIEW, BUG_DEBUG, ARCHITECTURE, ALGORITHM, DATABASE, API_DESIGN, TESTING | Best matches for the category |
|
|
49
|
+
| **single** | 1 | QUICK_SYNTAX | Only the best for quick answers |
|
|
50
|
+
|
|
51
|
+
### Selection Logic
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
SECURITY → full (all) # Too important to exclude anyone
|
|
55
|
+
QUICK_SYNTAX → single (1) # A quick answer is sufficient
|
|
56
|
+
CODE_REVIEW → selective (5) # Top 5 by affinity
|
|
57
|
+
BUG_DEBUG → selective (5)
|
|
58
|
+
ARCHITECTURE → selective (5)
|
|
59
|
+
* → full (all) # Default: all enabled
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Cost-Aware Routing (v2.3+)
|
|
63
|
+
|
|
64
|
+
When `ENABLE_COST_AWARE_ROUTING=true`, the system routes queries to cheaper models based on complexity:
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
ENABLE_COST_AWARE_ROUTING=true
|
|
68
|
+
COMPLEXITY_THRESHOLD_SIMPLE=3 # Score 1-3 = use economy models
|
|
69
|
+
COMPLEXITY_THRESHOLD_MEDIUM=6 # Score 4-6 = use standard models
|
|
70
|
+
# Score 7-10 = use premium models
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
See [COST_RATES.md](COST_RATES.md) for model pricing by tier.
|
|
74
|
+
|
|
75
|
+
## Timeout per Category
|
|
76
|
+
|
|
77
|
+
Timeouts optimized based on category complexity:
|
|
78
|
+
|
|
79
|
+
| Category | Timeout | Rationale |
|
|
80
|
+
|----------|---------|-----------|
|
|
81
|
+
| QUICK_SYNTAX | 60s | Short answers |
|
|
82
|
+
| DATABASE | 120s | Medium-complexity queries |
|
|
83
|
+
| TESTING | 120s | Test case generation |
|
|
84
|
+
| CODE_REVIEW | 180s | Detailed analysis |
|
|
85
|
+
| BUG_DEBUG | 180s | Investigation |
|
|
86
|
+
| ALGORITHM | 180s | Reasoning |
|
|
87
|
+
| API_DESIGN | 180s | Detailed design |
|
|
88
|
+
| GENERAL | 180s | Default |
|
|
89
|
+
| ARCHITECTURE | 240s | Complex design |
|
|
90
|
+
| SECURITY | 240s | In-depth analysis |
|
|
91
|
+
|
|
92
|
+
## Supported Categories
|
|
93
|
+
|
|
94
|
+
### CODE_REVIEW
|
|
95
|
+
- Code quality review
|
|
96
|
+
- Best practices
|
|
97
|
+
- Code style
|
|
98
|
+
|
|
99
|
+
**Keywords:** review, quality, refactor, clean code
|
|
100
|
+
|
|
101
|
+
### BUG_DEBUG
|
|
102
|
+
- Debugging
|
|
103
|
+
- Error fixing
|
|
104
|
+
- Troubleshooting
|
|
105
|
+
|
|
106
|
+
**Keywords:** bug, error, crash, fix, debug, problem
|
|
107
|
+
|
|
108
|
+
### ARCHITECTURE
|
|
109
|
+
- System design
|
|
110
|
+
- Design patterns
|
|
111
|
+
- Scalability
|
|
112
|
+
|
|
113
|
+
**Keywords:** architect, design, pattern, microservic, scalabil, structur
|
|
114
|
+
|
|
115
|
+
### ALGORITHM
|
|
116
|
+
- Algorithms
|
|
117
|
+
- Data structures
|
|
118
|
+
- Complexity
|
|
119
|
+
|
|
120
|
+
**Keywords:** algorithm, complexity, O(n), recursive, sort, search, structur
|
|
121
|
+
|
|
122
|
+
### SECURITY
|
|
123
|
+
- Vulnerabilities
|
|
124
|
+
- Authentication
|
|
125
|
+
- Authorization
|
|
126
|
+
|
|
127
|
+
**Keywords:** security, vulnerabil, injection, XSS, auth
|
|
128
|
+
|
|
129
|
+
### QUICK_SYNTAX
|
|
130
|
+
- Quick syntax
|
|
131
|
+
- Fast how-tos
|
|
132
|
+
- Snippets
|
|
133
|
+
|
|
134
|
+
**Keywords:** how to, syntax, example, snippet
|
|
135
|
+
|
|
136
|
+
### DATABASE
|
|
137
|
+
- SQL queries
|
|
138
|
+
- Schema design
|
|
139
|
+
- DB optimization
|
|
140
|
+
|
|
141
|
+
**Keywords:** SQL, database, query, schema, index, join
|
|
142
|
+
|
|
143
|
+
### API_DESIGN
|
|
144
|
+
- REST API
|
|
145
|
+
- GraphQL
|
|
146
|
+
- Endpoint design
|
|
147
|
+
|
|
148
|
+
**Keywords:** API, REST, endpoint, GraphQL, HTTP
|
|
149
|
+
|
|
150
|
+
### TESTING
|
|
151
|
+
- Unit test
|
|
152
|
+
- Integration test
|
|
153
|
+
- Test strategy
|
|
154
|
+
|
|
155
|
+
**Keywords:** test, unit, integration, mock, coverage
|
|
156
|
+
|
|
157
|
+
### GENERAL
|
|
158
|
+
- Default for everything else
|
|
159
|
+
|
|
160
|
+
## Classification Modes
|
|
161
|
+
|
|
162
|
+
### Pattern-based (default)
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
CLASSIFICATION_MODE=pattern
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
- Fast, no API call
|
|
169
|
+
- Regex matching on keywords
|
|
170
|
+
- Good accuracy for clear questions
|
|
171
|
+
|
|
172
|
+
### LLM-based
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
CLASSIFICATION_MODE=llm
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
- More accurate
|
|
179
|
+
- Requires Claude CLI
|
|
180
|
+
- Falls back to pattern if Claude is unavailable
|
|
181
|
+
|
|
182
|
+
## Usage Example
|
|
183
|
+
|
|
184
|
+
```bash
|
|
185
|
+
# Consultation with smart routing
|
|
186
|
+
ENABLE_SMART_ROUTING=true \
|
|
187
|
+
./scripts/consult_all.sh "How can I improve the security of my API?"
|
|
188
|
+
|
|
189
|
+
# Output:
|
|
190
|
+
# [INFO] Category: SECURITY
|
|
191
|
+
# [INFO] Routing mode: full (all enabled consultants)
|
|
192
|
+
# [INFO] Timeout: 240s
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
## API Functions
|
|
196
|
+
|
|
197
|
+
Functions are exported from `scripts/lib/routing.sh`:
|
|
198
|
+
|
|
199
|
+
```bash
|
|
200
|
+
source scripts/lib/routing.sh
|
|
201
|
+
|
|
202
|
+
# Get affinity
|
|
203
|
+
get_affinity "SECURITY" "Mistral" # → 10
|
|
204
|
+
|
|
205
|
+
# Select consultants
|
|
206
|
+
select_consultants "SECURITY" 7 # → All enabled consultants
|
|
207
|
+
|
|
208
|
+
# Check recommendation
|
|
209
|
+
is_recommended "SECURITY" "Kilo" 7 && echo "Recommended"
|
|
210
|
+
|
|
211
|
+
# Get timeout
|
|
212
|
+
get_category_timeout "ARCHITECTURE" # → 240
|
|
213
|
+
|
|
214
|
+
# Get routing mode
|
|
215
|
+
get_routing_mode "QUICK_SYNTAX" # → single
|
|
216
|
+
|
|
217
|
+
# Cost-aware selection (v2.3)
|
|
218
|
+
select_consultants_cost_aware "QUICK_SYNTAX" 7 # → Economy model selection
|
|
219
|
+
```
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "2.10.1",
|
|
3
|
+
"updated": "2026-03-04",
|
|
4
|
+
"models": {
|
|
5
|
+
"_comment_premium": "Premium tier models - March 2026",
|
|
6
|
+
"opus-4.6": {"input": 5.00, "output": 25.00},
|
|
7
|
+
"gemini-3.1-pro-preview": {"input": 1.25, "output": 5.00},
|
|
8
|
+
"gpt-5.3-codex": {"input": 3.00, "output": 12.00},
|
|
9
|
+
"mistral-large-3": {"input": 2.00, "output": 6.00},
|
|
10
|
+
"deepseek-reasoner": {"input": 0.55, "output": 2.19},
|
|
11
|
+
"glm-5": {"input": 0.50, "output": 2.00},
|
|
12
|
+
"grok-4-1-fast-reasoning": {"input": 5.00, "output": 15.00},
|
|
13
|
+
"qwen3.5-plus": {"input": 1.60, "output": 6.40},
|
|
14
|
+
"composer-1.5": {"input": 0.005, "output": 0.015},
|
|
15
|
+
"minimax-m2.5": {"input": 0.50, "output": 2.00},
|
|
16
|
+
"kimi-code/kimi-for-coding": {"input": 0.50, "output": 2.00},
|
|
17
|
+
"amp": {"input": 0.005, "output": 0.015},
|
|
18
|
+
|
|
19
|
+
"_comment_standard": "Standard tier models",
|
|
20
|
+
"sonnet-4.6": {"input": 3.00, "output": 15.00},
|
|
21
|
+
"gemini-3-flash-preview": {"input": 0.075, "output": 0.30},
|
|
22
|
+
"gpt-5.3": {"input": 2.50, "output": 10.00},
|
|
23
|
+
"mistral-medium-latest": {"input": 0.0027, "output": 0.0081},
|
|
24
|
+
"deepseek-v3.2": {"input": 0.27, "output": 1.10},
|
|
25
|
+
"grok-3": {"input": 3.00, "output": 9.00},
|
|
26
|
+
"minimax-m2.1": {"input": 0.30, "output": 1.50},
|
|
27
|
+
|
|
28
|
+
"_comment_economy": "Economy tier models",
|
|
29
|
+
"haiku-4.5": {"input": 0.001, "output": 0.005},
|
|
30
|
+
"gemini-2.0-flash": {"input": 0.0001, "output": 0.0004},
|
|
31
|
+
"gpt-4o-mini": {"input": 0.00015, "output": 0.0006},
|
|
32
|
+
"devstral-small-2": {"input": 0.001, "output": 0.003},
|
|
33
|
+
"deepseek-chat": {"input": 0.001, "output": 0.002},
|
|
34
|
+
"glm-4-flash": {"input": 0.001, "output": 0.003},
|
|
35
|
+
"grok-3-mini": {"input": 1.00, "output": 3.00},
|
|
36
|
+
"qwen3-32b": {"input": 0.40, "output": 1.60},
|
|
37
|
+
"minimax-m2.5-highspeed": {"input": 0.20, "output": 1.00},
|
|
38
|
+
|
|
39
|
+
"_comment_legacy": "Legacy models for backwards compatibility",
|
|
40
|
+
"claude-opus-4-5-20251124": {"input": 5.00, "output": 25.00},
|
|
41
|
+
"claude-sonnet-4-5-20251124": {"input": 3.00, "output": 15.00},
|
|
42
|
+
"claude-3-5-haiku-20241022": {"input": 0.001, "output": 0.005},
|
|
43
|
+
"gpt-5.2-codex": {"input": 3.00, "output": 12.00},
|
|
44
|
+
"gpt-5.2": {"input": 2.50, "output": 10.00},
|
|
45
|
+
"gpt-4": {"input": 0.03, "output": 0.06},
|
|
46
|
+
"gpt-4-turbo": {"input": 0.01, "output": 0.03},
|
|
47
|
+
"gpt-4o": {"input": 0.005, "output": 0.015},
|
|
48
|
+
"o1": {"input": 0.015, "output": 0.06},
|
|
49
|
+
"o3": {"input": 0.015, "output": 0.06},
|
|
50
|
+
"claude-3-opus": {"input": 0.015, "output": 0.075},
|
|
51
|
+
"claude-3-sonnet": {"input": 0.003, "output": 0.015},
|
|
52
|
+
"claude-3-haiku": {"input": 0.00025, "output": 0.00125},
|
|
53
|
+
"mistral-large": {"input": 0.004, "output": 0.012},
|
|
54
|
+
"mistral-medium": {"input": 0.0027, "output": 0.0081},
|
|
55
|
+
"mistral-small": {"input": 0.001, "output": 0.003},
|
|
56
|
+
"glm-4.7": {"input": 0.50, "output": 2.00},
|
|
57
|
+
"qwen3-max": {"input": 1.60, "output": 6.40},
|
|
58
|
+
"qwen3-235b-a22b": {"input": 0.80, "output": 3.20},
|
|
59
|
+
"kilo": {"input": 0.002, "output": 0.006},
|
|
60
|
+
"cursor": {"input": 0.005, "output": 0.015},
|
|
61
|
+
"qwen-max": {"input": 0.004, "output": 0.012},
|
|
62
|
+
"qwen-plus": {"input": 0.002, "output": 0.006},
|
|
63
|
+
"qwen-turbo": {"input": 0.0008, "output": 0.002},
|
|
64
|
+
"glm-4": {"input": 0.003, "output": 0.009},
|
|
65
|
+
"glm-3-turbo": {"input": 0.001, "output": 0.003},
|
|
66
|
+
"grok-beta": {"input": 0.005, "output": 0.015},
|
|
67
|
+
"grok-2": {"input": 0.01, "output": 0.03},
|
|
68
|
+
"deepseek-coder": {"input": 0.001, "output": 0.002}
|
|
69
|
+
},
|
|
70
|
+
"consultant_fallbacks": {
|
|
71
|
+
"_comment": "Premium defaults - Updated March 2026",
|
|
72
|
+
"claude": "opus-4.6",
|
|
73
|
+
"gemini": "gemini-3.1-pro-preview",
|
|
74
|
+
"codex": "gpt-5.3-codex",
|
|
75
|
+
"mistral": "mistral-large-3",
|
|
76
|
+
"deepseek": "deepseek-reasoner",
|
|
77
|
+
"glm": "glm-5",
|
|
78
|
+
"grok": "grok-4-1-fast-reasoning",
|
|
79
|
+
"qwen3": "qwen3.5-plus",
|
|
80
|
+
"aider": "gpt-5.3-codex",
|
|
81
|
+
"kilo": "auto",
|
|
82
|
+
"cursor": "composer-1.5",
|
|
83
|
+
"amp": "amp",
|
|
84
|
+
"kimi": "kimi-code/kimi-for-coding",
|
|
85
|
+
"minimax": "minimax-m2.5",
|
|
86
|
+
"ollama": "qwen2.5-coder:32b"
|
|
87
|
+
},
|
|
88
|
+
"model_tiers": {
|
|
89
|
+
"_comment": "Model tiers for apply_model_tier() function",
|
|
90
|
+
"premium": {
|
|
91
|
+
"claude": "opus-4.6",
|
|
92
|
+
"gemini": "gemini-3.1-pro-preview",
|
|
93
|
+
"codex": "gpt-5.3-codex",
|
|
94
|
+
"mistral": "mistral-large-3",
|
|
95
|
+
"deepseek": "deepseek-reasoner",
|
|
96
|
+
"glm": "glm-5",
|
|
97
|
+
"grok": "grok-4-1-fast-reasoning",
|
|
98
|
+
"qwen3": "qwen3.5-plus",
|
|
99
|
+
"aider": "gpt-5.3-codex",
|
|
100
|
+
"kilo": "auto",
|
|
101
|
+
"cursor": "composer-1.5",
|
|
102
|
+
"amp": "amp",
|
|
103
|
+
"kimi": "kimi-code/kimi-for-coding",
|
|
104
|
+
"minimax": "minimax-m2.5",
|
|
105
|
+
"ollama": "qwen2.5-coder:32b"
|
|
106
|
+
},
|
|
107
|
+
"standard": {
|
|
108
|
+
"claude": "sonnet-4.6",
|
|
109
|
+
"gemini": "gemini-3-flash-preview",
|
|
110
|
+
"codex": "gpt-5.3",
|
|
111
|
+
"mistral": "mistral-medium-latest",
|
|
112
|
+
"deepseek": "deepseek-v3.2",
|
|
113
|
+
"glm": "glm-5",
|
|
114
|
+
"grok": "grok-3",
|
|
115
|
+
"qwen3": "qwen3.5-plus",
|
|
116
|
+
"aider": "gpt-5.3",
|
|
117
|
+
"kilo": "auto",
|
|
118
|
+
"cursor": "composer-1.5",
|
|
119
|
+
"amp": "amp",
|
|
120
|
+
"kimi": "kimi-code/kimi-for-coding",
|
|
121
|
+
"minimax": "minimax-m2.1",
|
|
122
|
+
"ollama": "llama3.3"
|
|
123
|
+
},
|
|
124
|
+
"economy": {
|
|
125
|
+
"claude": "haiku-4.5",
|
|
126
|
+
"gemini": "gemini-2.0-flash",
|
|
127
|
+
"codex": "gpt-4o-mini",
|
|
128
|
+
"mistral": "devstral-small-2",
|
|
129
|
+
"deepseek": "deepseek-chat",
|
|
130
|
+
"glm": "glm-4-flash",
|
|
131
|
+
"grok": "grok-3-mini",
|
|
132
|
+
"qwen3": "qwen3-32b",
|
|
133
|
+
"aider": "gpt-4o-mini",
|
|
134
|
+
"kilo": "auto",
|
|
135
|
+
"cursor": "gemini-2.0-flash",
|
|
136
|
+
"amp": "amp",
|
|
137
|
+
"kimi": "kimi-code/kimi-for-coding",
|
|
138
|
+
"minimax": "minimax-m2.5-highspeed",
|
|
139
|
+
"ollama": "llama3.2"
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"default_rate": {"input": 0.005, "output": 0.015}
|
|
143
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "ai-consultants",
|
|
3
|
+
"version": "2.10.1",
|
|
4
|
+
"description": "Multi-model AI deliberation system - query up to 15 AI consultants for coding problems",
|
|
5
|
+
"bin": {
|
|
6
|
+
"ai-consultants": "bin/ai-consultants"
|
|
7
|
+
},
|
|
8
|
+
"files": [
|
|
9
|
+
"bin/",
|
|
10
|
+
"scripts/",
|
|
11
|
+
"!scripts/test_functions.sh",
|
|
12
|
+
"templates/",
|
|
13
|
+
".claude/commands/",
|
|
14
|
+
"SKILL.md",
|
|
15
|
+
"CLAUDE.md",
|
|
16
|
+
"docs/",
|
|
17
|
+
"references/"
|
|
18
|
+
],
|
|
19
|
+
"keywords": [
|
|
20
|
+
"ai",
|
|
21
|
+
"consultants",
|
|
22
|
+
"multi-model",
|
|
23
|
+
"claude",
|
|
24
|
+
"gemini",
|
|
25
|
+
"codex",
|
|
26
|
+
"cli",
|
|
27
|
+
"deliberation",
|
|
28
|
+
"coding"
|
|
29
|
+
],
|
|
30
|
+
"author": "Matteo Scurati",
|
|
31
|
+
"license": "MIT",
|
|
32
|
+
"repository": {
|
|
33
|
+
"type": "git",
|
|
34
|
+
"url": "git+https://github.com/matteoscurati/ai-consultants.git"
|
|
35
|
+
},
|
|
36
|
+
"homepage": "https://github.com/matteoscurati/ai-consultants#readme",
|
|
37
|
+
"bugs": {
|
|
38
|
+
"url": "https://github.com/matteoscurati/ai-consultants/issues"
|
|
39
|
+
},
|
|
40
|
+
"os": [
|
|
41
|
+
"darwin",
|
|
42
|
+
"linux"
|
|
43
|
+
],
|
|
44
|
+
"engines": {
|
|
45
|
+
"node": ">=14"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# AI Consultants - Full Configuration Reference
|
|
2
|
+
|
|
3
|
+
All configuration is done via environment variables. Set them in your shell, `.env` file, or inline before the command.
|
|
4
|
+
|
|
5
|
+
## Defaults
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
DEFAULT_PRESET=balanced # Preset when --preset not given
|
|
9
|
+
DEFAULT_STRATEGY=majority # Strategy when --strategy not given
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Core Features
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
ENABLE_DEBATE=true # Multi-agent debate
|
|
16
|
+
ENABLE_SYNTHESIS=true # Automatic synthesis
|
|
17
|
+
ENABLE_PEER_REVIEW=false # Anonymous peer review
|
|
18
|
+
ENABLE_PANIC_MODE=auto # Auto-rigor for uncertainty
|
|
19
|
+
ENABLE_SMART_ROUTING=false # Category-based consultant selection
|
|
20
|
+
ENABLE_COST_TRACKING=true # Track API usage costs
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## CLI/API Mode Switching (v2.6+)
|
|
24
|
+
|
|
25
|
+
Five consultants support switching between CLI and API mode. When API mode is enabled, the CLI is not used.
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
GEMINI_USE_API=false # Use Google AI API instead of gemini CLI
|
|
29
|
+
CODEX_USE_API=false # Use OpenAI API instead of codex CLI
|
|
30
|
+
CLAUDE_USE_API=false # Use Anthropic API instead of claude CLI
|
|
31
|
+
MISTRAL_USE_API=false # Use Mistral API instead of vibe CLI
|
|
32
|
+
QWEN3_USE_API=false # Use qwen CLI (default) or DashScope API
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### API Keys
|
|
36
|
+
|
|
37
|
+
| Agent | API Key Variable | Notes |
|
|
38
|
+
|-------|------------------|-------|
|
|
39
|
+
| Gemini | `GEMINI_API_KEY` | Google AI API key |
|
|
40
|
+
| Codex | `OPENAI_API_KEY` | OpenAI API key |
|
|
41
|
+
| Claude | `ANTHROPIC_API_KEY` | Anthropic API key |
|
|
42
|
+
| Mistral | `MISTRAL_API_KEY` | Mistral API key |
|
|
43
|
+
| Qwen3 | `QWEN3_API_KEY` | DashScope API key |
|
|
44
|
+
|
|
45
|
+
## Consultant Toggles and Models
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
# Consultants enabled by default
|
|
49
|
+
ENABLE_GEMINI=true
|
|
50
|
+
ENABLE_CODEX=true
|
|
51
|
+
ENABLE_MISTRAL=true
|
|
52
|
+
ENABLE_KILO=true
|
|
53
|
+
ENABLE_CURSOR=true
|
|
54
|
+
ENABLE_AIDER=true
|
|
55
|
+
|
|
56
|
+
# Opt-in consultants
|
|
57
|
+
ENABLE_AMP=false # Amp CLI - The Systems Thinker
|
|
58
|
+
ENABLE_KIMI=false # Kimi CLI - The Eastern Sage
|
|
59
|
+
ENABLE_QWEN3=false # Qwen CLI/API - The Analyst
|
|
60
|
+
ENABLE_CLAUDE=false # Claude CLI - The Synthesizer
|
|
61
|
+
ENABLE_OLLAMA=false # Ollama - The Local Expert
|
|
62
|
+
ENABLE_MINIMAX=false # MiniMax API - The Pragmatic Optimizer
|
|
63
|
+
|
|
64
|
+
# API-only consultants
|
|
65
|
+
ENABLE_GLM=false
|
|
66
|
+
ENABLE_GROK=false
|
|
67
|
+
ENABLE_DEEPSEEK=false
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Model Overrides
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
GEMINI_MODEL=gemini-3.1-pro-preview
|
|
74
|
+
CODEX_MODEL=gpt-5.3-codex
|
|
75
|
+
CLAUDE_MODEL=opus-4.6
|
|
76
|
+
MISTRAL_MODEL=mistral-large-3
|
|
77
|
+
KILO_MODEL=auto
|
|
78
|
+
CURSOR_MODEL=composer-1.5
|
|
79
|
+
AIDER_MODEL=gpt-5.3-codex
|
|
80
|
+
AMP_MODEL=amp
|
|
81
|
+
KIMI_MODEL=kimi-code/kimi-for-coding
|
|
82
|
+
QWEN3_MODEL=qwen3.5-plus
|
|
83
|
+
GLM_MODEL=glm-5
|
|
84
|
+
GROK_MODEL=grok-4-1-fast-reasoning
|
|
85
|
+
DEEPSEEK_MODEL=deepseek-reasoner
|
|
86
|
+
MINIMAX_MODEL=MiniMax-M2.5
|
|
87
|
+
OLLAMA_MODEL=qwen2.5-coder:32b
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Model Quality Tiers (v2.5)
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Set all consultants to a tier programmatically
|
|
94
|
+
source scripts/config.sh
|
|
95
|
+
apply_model_tier "premium" # Latest flagship models
|
|
96
|
+
apply_model_tier "standard" # Good quality at reasonable cost
|
|
97
|
+
apply_model_tier "economy" # Optimized for speed and low cost
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
## Ollama (Local Models)
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
ENABLE_OLLAMA=true
|
|
104
|
+
OLLAMA_MODEL=qwen2.5-coder:32b
|
|
105
|
+
OLLAMA_HOST=http://localhost:11434
|
|
106
|
+
OLLAMA_TIMEOUT=300
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
## Budget Management (v2.4)
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
ENABLE_BUDGET_LIMIT=false
|
|
113
|
+
MAX_SESSION_COST=1.00 # Maximum cost in USD
|
|
114
|
+
BUDGET_ACTION=warn # warn or stop
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Caching and Optimization (v2.3)
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
ENABLE_SEMANTIC_CACHE=true # Cache responses by query fingerprint
|
|
121
|
+
CACHE_TTL_HOURS=24 # Cache expiration
|
|
122
|
+
ENABLE_RESPONSE_LIMITS=false # Limit output tokens by category
|
|
123
|
+
ENABLE_COST_AWARE_ROUTING=false # Route simple queries to cheaper models
|
|
124
|
+
ENABLE_DEBATE_OPTIMIZATION=false # Skip debate if all agree
|
|
125
|
+
ENABLE_COMPACT_REPORT=true # Summaries only in reports
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
## Timeouts and Retries
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
MAX_RETRIES=2
|
|
132
|
+
RETRY_DELAY_SECONDS=5
|
|
133
|
+
GEMINI_TIMEOUT=240
|
|
134
|
+
CODEX_TIMEOUT=180
|
|
135
|
+
MISTRAL_TIMEOUT=180
|
|
136
|
+
KILO_TIMEOUT=180
|
|
137
|
+
CURSOR_TIMEOUT=180
|
|
138
|
+
AMP_TIMEOUT=180
|
|
139
|
+
KIMI_TIMEOUT=180
|
|
140
|
+
OLLAMA_TIMEOUT=300 # Longer for local inference
|
|
141
|
+
```
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# AI Consultants - Reference Details
|
|
2
|
+
|
|
3
|
+
Read this file when the user asks about presets, strategies, bash usage, best practices, or known limitations.
|
|
4
|
+
|
|
5
|
+
## Configuration Presets
|
|
6
|
+
|
|
7
|
+
| Preset | Consultants | Use Case |
|
|
8
|
+
|--------|-------------|----------|
|
|
9
|
+
| `minimal` | 2 (Gemini + Codex) | Quick questions |
|
|
10
|
+
| `balanced` | 4 (+Mistral +Kilo) | Standard use |
|
|
11
|
+
| `thorough` | 5 (+Cursor) | Comprehensive |
|
|
12
|
+
| `high-stakes` | All + debate | Critical decisions |
|
|
13
|
+
| `local` | Ollama only | Full privacy |
|
|
14
|
+
| `security` | Security-focused | +Debate |
|
|
15
|
+
| `cost-capped` | Budget-friendly | Low cost |
|
|
16
|
+
|
|
17
|
+
## Synthesis Strategies
|
|
18
|
+
|
|
19
|
+
| Strategy | Description |
|
|
20
|
+
|----------|-------------|
|
|
21
|
+
| `majority` | Most common answer wins (default) |
|
|
22
|
+
| `risk_averse` | Weight conservative responses |
|
|
23
|
+
| `security_first` | Prioritize security |
|
|
24
|
+
| `cost_capped` | Prefer cheaper solutions |
|
|
25
|
+
| `compare_only` | No recommendation |
|
|
26
|
+
|
|
27
|
+
## Bash Usage
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
cd ~/.claude/skills/ai-consultants
|
|
31
|
+
|
|
32
|
+
# With preset
|
|
33
|
+
./scripts/consult_all.sh --preset balanced "Best approach for caching?"
|
|
34
|
+
|
|
35
|
+
# With strategy
|
|
36
|
+
./scripts/consult_all.sh --strategy risk_averse "Security question"
|
|
37
|
+
|
|
38
|
+
# With local model
|
|
39
|
+
./scripts/consult_all.sh --preset local "Private question"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Best Practices
|
|
43
|
+
|
|
44
|
+
### Security
|
|
45
|
+
|
|
46
|
+
- **Never** include credentials in queries
|
|
47
|
+
- Use `--preset local` for sensitive code
|
|
48
|
+
|
|
49
|
+
### Effective Queries
|
|
50
|
+
|
|
51
|
+
- Be specific about the question
|
|
52
|
+
- Include constraints (performance, etc.)
|
|
53
|
+
- Use debate for controversial decisions
|
|
54
|
+
|
|
55
|
+
## Known Limitations
|
|
56
|
+
|
|
57
|
+
- Minimum 2 consultants required
|
|
58
|
+
- Smart Routing off by default
|
|
59
|
+
- Synthesis requires Claude CLI (fallback available)
|
|
60
|
+
- Estimated costs (heuristic token counting)
|