ai-consultants 5.1.0 → 5.1.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/.env.example +1 -1
- package/CLAUDE.md +9 -2
- package/README.md +4 -4
- package/SKILL.md +2 -2
- package/docs/COST_RATES.md +18 -5
- package/docs/SETUP.md +22 -0
- package/docs/cost_rates.json +20 -8
- package/package.json +1 -1
- package/references/configuration.md +1 -1
- package/scripts/config.sh +6 -6
- package/scripts/configure.sh +11 -0
- package/scripts/lib/costs.sh +13 -1
- package/scripts/query_deepseek.sh +1 -1
package/.env.example
CHANGED
|
@@ -215,7 +215,7 @@ GROK_API_URL=https://api.x.ai/v1/chat/completions
|
|
|
215
215
|
# GROK_REASONING_EFFORT= # max_quality sets xhigh (Grok Build maximum)
|
|
216
216
|
|
|
217
217
|
# DeepSeek - The Code Specialist
|
|
218
|
-
DEEPSEEK_MODEL=deepseek-
|
|
218
|
+
DEEPSEEK_MODEL=deepseek-flash
|
|
219
219
|
DEEPSEEK_TIMEOUT=180
|
|
220
220
|
DEEPSEEK_MAX_QUALITY_TIMEOUT=600
|
|
221
221
|
DEEPSEEK_API_MAX_TOKENS=16384
|
package/CLAUDE.md
CHANGED
|
@@ -6,7 +6,7 @@ AI Consultants is a multi-model coverage system that queries up to 10 AI consult
|
|
|
6
6
|
|
|
7
7
|
**Self-Exclusion**: The invoking agent is automatically excluded from both the panel and synthesis. Claude Code won't query or synthesize with Claude, Codex CLI won't query or synthesize with Codex, etc.
|
|
8
8
|
|
|
9
|
-
**Version**: 5.1.
|
|
9
|
+
**Version**: 5.1.1
|
|
10
10
|
|
|
11
11
|
## Distribution
|
|
12
12
|
|
|
@@ -392,7 +392,7 @@ All consultants now use premium models by default:
|
|
|
392
392
|
| Gemini | Gemini 3.7 Flash (High) (via agy CLI); API: gemini-3.1-pro-preview |
|
|
393
393
|
| Codex | gpt-6-astra |
|
|
394
394
|
| Mistral | CLI: mistral-medium-3.5; API: mistral-large-3 |
|
|
395
|
-
| DeepSeek | deepseek-
|
|
395
|
+
| DeepSeek | deepseek-flash (DeepSeek-V4.1-Flash) |
|
|
396
396
|
| GLM | glm-5.3-flash |
|
|
397
397
|
| Grok | grok-4.6 |
|
|
398
398
|
| Qwen3 | qwen3.7-max |
|
|
@@ -760,6 +760,13 @@ curl -fsSL https://raw.githubusercontent.com/matteoscurati/ai-consultants/main/s
|
|
|
760
760
|
|
|
761
761
|
## Changelog
|
|
762
762
|
|
|
763
|
+
### v5.1.1 (2026-09-10)
|
|
764
|
+
|
|
765
|
+
- **DeepSeek V4.1 Flash policy.** `scripts/config.sh` selects `deepseek-flash` for the default and every tier. `scripts/configure.sh` migrates only the two exact historical unpinned defaults; durable pins and explicit overrides remain intact. No credentials are imported or personal configuration rewritten by the upgrade.
|
|
766
|
+
- **Conservative cost accounting.** `docs/cost_rates.json` and the catalog-independent fallbacks use $0.30/M input and $1.20/M output for Flash, including retired Flash aliases now served by the new model. `format_cost_caveats` discloses the peak/cache-miss assumption and excluded discounts; estimates are not provider invoices. Other legacy rates are retained as historical estimates.
|
|
767
|
+
- **Verification and scope.** PR #27 passed all 32 CI suites, plus local API 101, configure 138 and core 451 checks. One authorized API request on `96816b5` returned HTTP 200 and a correct structured expiry-boundary answer, with `deepseek-flash` provider-reported, max effort, 119 input / 602 output measured tokens. The shared transport is unchanged; provider identity is not rewritten into a version label. No frozen P1.6 input or live benchmark claim changes.
|
|
768
|
+
|
|
769
|
+
|
|
763
770
|
### v5.1.0 (2026-09-09)
|
|
764
771
|
|
|
765
772
|
- **Fable and Astra model policy.** `scripts/config.sh` and `scripts/configure.sh` align default/premium/maximum with Fable 5.1 and Astra, retain Opus 5/Terra for standard and Haiku/Luna for economy, and migrate exact historical unpinned Codex defaults while recording their origin. `resolve_codex_effort` applies implicit high per request so a later tier cannot inherit an automatically exported value.
|
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
# AI Consultants v5.1.
|
|
1
|
+
# AI Consultants v5.1.1
|
|
2
2
|
|
|
3
3
|
> **Coverage, not a single guess.** A panel of up to 10 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
|
-
[](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)
|
|
@@ -412,7 +412,7 @@ the observed version is response provenance only.
|
|
|
412
412
|
| Consultant | Default Model | Persona | Focus |
|
|
413
413
|
|------------|---------------|---------|-------|
|
|
414
414
|
| **GLM** | glm-5.3-flash | The Methodologist | Structured approaches |
|
|
415
|
-
| **DeepSeek** | deepseek-
|
|
415
|
+
| **DeepSeek** | deepseek-flash (V4.1 Flash) | The Code Specialist | Algorithms, code generation |
|
|
416
416
|
|
|
417
417
|
### Installing Consultant CLIs
|
|
418
418
|
|
|
@@ -489,7 +489,7 @@ and cannot support a comprehensive coverage claim.
|
|
|
489
489
|
| Codex | gpt-6-astra | gpt-6-astra | gpt-5.6-terra | gpt-5.6-luna |
|
|
490
490
|
| Mistral CLI | mistral-medium-3.5 | mistral-medium-3.5 | mistral-medium-3.5 | devstral-small-2 |
|
|
491
491
|
| Mistral API | mistral-large-3 | mistral-large-3 | mistral-large-3 | mistral-large-3 |
|
|
492
|
-
| DeepSeek | deepseek-
|
|
492
|
+
| DeepSeek | deepseek-flash | deepseek-flash | deepseek-flash | deepseek-flash |
|
|
493
493
|
| GLM | glm-5.3-flash | glm-5.3-flash | glm-5.3-flash | glm-4-flash |
|
|
494
494
|
| Grok | grok-4.6 | grok-4.6 | grok-4.5 | grok-4.5 |
|
|
495
495
|
| Qwen3 | qwen3.8-max when Token Plan is configured; otherwise qwen3.7-max | qwen3.7-max | qwen3.6-35b-a3b | qwen3-32b |
|
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: 5.1.
|
|
8
|
+
version: 5.1.1
|
|
9
9
|
---
|
|
10
10
|
|
|
11
|
-
# AI Consultants v5.1.
|
|
11
|
+
# AI Consultants v5.1.1 - 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
|
|
package/docs/COST_RATES.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Cost Rates - AI Consultants v5.1.
|
|
1
|
+
# Cost Rates - AI Consultants v5.1.1
|
|
2
2
|
|
|
3
3
|
This page documents the per-token rates used by the cost tracking system.
|
|
4
4
|
|
|
@@ -45,8 +45,9 @@ models programmatically.
|
|
|
45
45
|
| composer-2.5 | Legacy | $0.0005 | Removed Cursor consultant |
|
|
46
46
|
| composer-2 | Legacy | $0.0005 | Removed Cursor consultant |
|
|
47
47
|
| gemini-3-flash | Legacy | $0.0005 | Removed Cursor consultant |
|
|
48
|
-
| deepseek-v4-pro |
|
|
49
|
-
| deepseek-
|
|
48
|
+
| deepseek-v4-pro | Legacy explicit override | $0.000435 | DeepSeek |
|
|
49
|
+
| deepseek-flash | All tiers | $0.0003 | DeepSeek (peak, cache miss) |
|
|
50
|
+
| deepseek-v4-flash / deepseek-v4-flash-vision-exp | Retired aliases → V4.1 Flash | $0.0003 | DeepSeek (peak, cache miss) |
|
|
50
51
|
| glm-5.3-flash | Maximum/Premium/Standard | Unpriced | GLM coding-plan endpoint |
|
|
51
52
|
| glm-5.3 | Legacy pins | Unpriced | GLM coding-plan endpoint |
|
|
52
53
|
| glm-4-flash | Economy | $0.001 | GLM |
|
|
@@ -89,8 +90,9 @@ models programmatically.
|
|
|
89
90
|
| composer-2.5 | Legacy | $0.0025 | Removed Cursor consultant |
|
|
90
91
|
| composer-2 | Legacy | $0.0025 | Removed Cursor consultant |
|
|
91
92
|
| gemini-3-flash | Legacy | $0.003 | Removed Cursor consultant |
|
|
92
|
-
| deepseek-v4-pro |
|
|
93
|
-
| deepseek-
|
|
93
|
+
| deepseek-v4-pro | Legacy explicit override | $0.00087 | DeepSeek |
|
|
94
|
+
| deepseek-flash | All tiers | $0.0012 | DeepSeek (peak) |
|
|
95
|
+
| deepseek-v4-flash / deepseek-v4-flash-vision-exp | Retired aliases → V4.1 Flash | $0.0012 | DeepSeek (peak) |
|
|
94
96
|
| glm-5.3-flash | Maximum/Premium/Standard | Unpriced | GLM coding-plan endpoint |
|
|
95
97
|
| glm-5.3 | Legacy pins | Unpriced | GLM coding-plan endpoint |
|
|
96
98
|
| glm-4-flash | Economy | $0.003 | GLM |
|
|
@@ -191,3 +193,14 @@ presenting them as free.
|
|
|
191
193
|
Cost tracking requires:
|
|
192
194
|
- `bc` - For floating point calculations
|
|
193
195
|
- `jq` - For JSON parsing
|
|
196
|
+
|
|
197
|
+
## DeepSeek V4.1 Flash pricing
|
|
198
|
+
|
|
199
|
+
As of 2026-09-10, the official API name `deepseek-flash` selects V4.1 Flash.
|
|
200
|
+
The estimator uses peak cache-miss rates: $0.30/M input and $1.20/M output.
|
|
201
|
+
Off-peak rates are $0.15/M input and $0.60/M output; cached input is $0.006/M
|
|
202
|
+
peak or $0.003/M off-peak. Peak hours are weekdays 01:00–04:00 and 06:00–10:00
|
|
203
|
+
UTC. The estimate deliberately excludes these discounts; it is not an invoice.
|
|
204
|
+
Legacy Flash and Flash Vision Exp aliases are now served and billed as V4.1 Flash.
|
|
205
|
+
Other legacy catalog entries remain historical estimates, not newly verified quotes.
|
|
206
|
+
Source: [DeepSeek models and pricing](https://api-docs.deepseek.com/quick_start/pricing/).
|
package/docs/SETUP.md
CHANGED
|
@@ -850,3 +850,25 @@ argument list. Hidden flags such as `--no-memory` are still required in the
|
|
|
850
850
|
actual request even when omitted from public help. Unsupported mandatory flags
|
|
851
851
|
block dispatch; the optional `--no-auto-update` guard is used when its parser
|
|
852
852
|
probe succeeds, including on CLIs that hide it from help.
|
|
853
|
+
|
|
854
|
+
### DeepSeek V4.1 Flash
|
|
855
|
+
|
|
856
|
+
DeepSeek uses the HTTP API with `DEEPSEEK_MODEL=deepseek-flash` in every tier.
|
|
857
|
+
This is the official API alias for DeepSeek-V4.1-Flash as of 2026-09-10, not a
|
|
858
|
+
version identity inferred from the requested name. Provider-reported model
|
|
859
|
+
metadata is retained unchanged. `max_quality` continues to request `max` effort;
|
|
860
|
+
other tiers leave effort to the provider unless explicitly configured. The
|
|
861
|
+
provider defaults to thinking mode at high effort. Existing text-only Chat
|
|
862
|
+
Completions requests and the 16,384-token completion budget remain compatible.
|
|
863
|
+
|
|
864
|
+
`configure` migrates exact unpinned `deepseek-v4-pro` and `deepseek-v4-flash`
|
|
865
|
+
values; `# ai-consultants:pin`, environment overrides and `--set` preserve explicit
|
|
866
|
+
choices. Old Flash aliases are still accepted but route to V4.1 Flash upstream.
|
|
867
|
+
An explicit pin preserves the requested ID, not a guarantee against provider
|
|
868
|
+
routing changes. Peak cache-miss costs are estimates, excluding cache/off-peak
|
|
869
|
+
discounts. An authorized one-attempt API smoke on 2026-09-10 passed with a structured
|
|
870
|
+
response and provider-reported `deepseek-flash`; no version identity was invented
|
|
871
|
+
from the alias. No CLI transport is introduced.
|
|
872
|
+
|
|
873
|
+
Sources: [models/pricing](https://api-docs.deepseek.com/quick_start/pricing/) and
|
|
874
|
+
[thinking mode](https://api-docs.deepseek.com/guides/thinking_mode/).
|
package/docs/cost_rates.json
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "5.1.
|
|
2
|
+
"version": "5.1.1",
|
|
3
3
|
"updated": "2026-08-23",
|
|
4
4
|
"models": {
|
|
5
|
+
"deepseek-flash": {
|
|
6
|
+
"input": 0.0003,
|
|
7
|
+
"output": 0.0012,
|
|
8
|
+
"provider": "DeepSeek",
|
|
9
|
+
"notes": "DeepSeek-V4.1-Flash, verified 2026-09-10. Peak cache-miss estimate; off-peak and cache-hit discounts excluded. See https://api-docs.deepseek.com/quick_start/pricing/"
|
|
10
|
+
},
|
|
11
|
+
"deepseek-v4-flash-vision-exp": {
|
|
12
|
+
"input": 0.0003,
|
|
13
|
+
"output": 0.0012,
|
|
14
|
+
"provider": "DeepSeek",
|
|
15
|
+
"notes": "Retired alias served by V4.1 Flash; peak cache-miss estimate."
|
|
16
|
+
},
|
|
5
17
|
"_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
18
|
"_comment_premium": "Premium tier models - Sep 2026",
|
|
7
19
|
"claude-fable-5-1": {
|
|
@@ -380,8 +392,8 @@
|
|
|
380
392
|
"output": 0.003
|
|
381
393
|
},
|
|
382
394
|
"deepseek-v4-flash": {
|
|
383
|
-
"input": 0.
|
|
384
|
-
"output": 0.
|
|
395
|
+
"input": 0.0003,
|
|
396
|
+
"output": 0.0012
|
|
385
397
|
},
|
|
386
398
|
"glm-5.2": {
|
|
387
399
|
"input": 0.00098,
|
|
@@ -434,7 +446,7 @@
|
|
|
434
446
|
"gemini": "Gemini 3.7 Flash (High)",
|
|
435
447
|
"codex": "gpt-6-astra",
|
|
436
448
|
"mistral": "mistral-large-3",
|
|
437
|
-
"deepseek": "deepseek-
|
|
449
|
+
"deepseek": "deepseek-flash",
|
|
438
450
|
"glm": "glm-5.3-flash",
|
|
439
451
|
"grok": "grok-4.6",
|
|
440
452
|
"qwen3": "qwen3.7-max",
|
|
@@ -448,7 +460,7 @@
|
|
|
448
460
|
"gemini": "Gemini 3.7 Flash (High)",
|
|
449
461
|
"codex": "gpt-6-astra",
|
|
450
462
|
"mistral": "mistral-medium-3.5",
|
|
451
|
-
"deepseek": "deepseek-
|
|
463
|
+
"deepseek": "deepseek-flash",
|
|
452
464
|
"glm": "glm-5.3-flash",
|
|
453
465
|
"grok": "grok-4.6",
|
|
454
466
|
"qwen3": "qwen3.8-max",
|
|
@@ -460,7 +472,7 @@
|
|
|
460
472
|
"gemini": "Gemini 3.7 Flash (High)",
|
|
461
473
|
"codex": "gpt-6-astra",
|
|
462
474
|
"mistral": "mistral-medium-3.5",
|
|
463
|
-
"deepseek": "deepseek-
|
|
475
|
+
"deepseek": "deepseek-flash",
|
|
464
476
|
"glm": "glm-5.3-flash",
|
|
465
477
|
"grok": "grok-4.6",
|
|
466
478
|
"qwen3": "qwen3.7-max",
|
|
@@ -472,7 +484,7 @@
|
|
|
472
484
|
"gemini": "Gemini 3.7 Flash (High)",
|
|
473
485
|
"codex": "gpt-5.6-terra",
|
|
474
486
|
"mistral": "mistral-medium-3.5",
|
|
475
|
-
"deepseek": "deepseek-
|
|
487
|
+
"deepseek": "deepseek-flash",
|
|
476
488
|
"glm": "glm-5.3-flash",
|
|
477
489
|
"grok": "grok-4.5",
|
|
478
490
|
"qwen3": "qwen3.6-35b-a3b",
|
|
@@ -484,7 +496,7 @@
|
|
|
484
496
|
"gemini": "Gemini 3.7 Flash (Low)",
|
|
485
497
|
"codex": "gpt-5.6-luna",
|
|
486
498
|
"mistral": "devstral-small-2",
|
|
487
|
-
"deepseek": "deepseek-
|
|
499
|
+
"deepseek": "deepseek-flash",
|
|
488
500
|
"glm": "glm-4-flash",
|
|
489
501
|
"grok": "grok-4.5",
|
|
490
502
|
"qwen3": "qwen3-32b",
|
package/package.json
CHANGED
|
@@ -262,7 +262,7 @@ GROK_MAX_TURNS=4
|
|
|
262
262
|
GROK_API_MAX_TOKENS=4096
|
|
263
263
|
GROK_REASONING_EFFORT= # max_quality sets xhigh (Grok Build maximum)
|
|
264
264
|
GROK_OAUTH_MODE=shared # shared (parallel default) | serialized (diagnostic)
|
|
265
|
-
DEEPSEEK_MODEL=deepseek-
|
|
265
|
+
DEEPSEEK_MODEL=deepseek-flash # DeepSeek-V4.1-Flash API alias
|
|
266
266
|
DEEPSEEK_API_MAX_TOKENS=16384
|
|
267
267
|
DEEPSEEK_MAX_QUALITY_TIMEOUT=600
|
|
268
268
|
DEEPSEEK_REASONING_EFFORT= # max_quality sets max
|
package/scripts/config.sh
CHANGED
|
@@ -243,7 +243,7 @@ export GROK_USE_API GROK_OAUTH_MODE
|
|
|
243
243
|
# DEEPSEEK CONFIGURATION - The Methodologist (API-based)
|
|
244
244
|
# =============================================================================
|
|
245
245
|
|
|
246
|
-
DEEPSEEK_MODEL="${DEEPSEEK_MODEL:-deepseek-
|
|
246
|
+
DEEPSEEK_MODEL="${DEEPSEEK_MODEL:-deepseek-flash}"
|
|
247
247
|
if [[ -n "${DEEPSEEK_TIMEOUT+x}" ]]; then
|
|
248
248
|
DEEPSEEK_TIMEOUT_SECONDS="$DEEPSEEK_TIMEOUT"
|
|
249
249
|
elif [[ -z "${DEEPSEEK_TIMEOUT_SECONDS+x}" ]]; then
|
|
@@ -622,7 +622,7 @@ get_model_for_tier() {
|
|
|
622
622
|
gemini) [[ "$transport" == "api" ]] && echo "gemini-3.1-pro-preview" || echo "Gemini 3.7 Flash (High)" ;;
|
|
623
623
|
codex) echo "gpt-6-astra" ;;
|
|
624
624
|
mistral) [[ "$transport" == "api" ]] && echo "mistral-large-3" || echo "mistral-medium-3.5" ;;
|
|
625
|
-
deepseek) echo "deepseek-
|
|
625
|
+
deepseek) echo "deepseek-flash" ;;
|
|
626
626
|
glm) echo "glm-5.3-flash" ;;
|
|
627
627
|
grok) echo "grok-4.6" ;;
|
|
628
628
|
qwen3) echo "qwen3.8-max" ;;
|
|
@@ -637,7 +637,7 @@ get_model_for_tier() {
|
|
|
637
637
|
gemini) [[ "$transport" == "api" ]] && echo "gemini-3.1-pro-preview" || echo "Gemini 3.7 Flash (High)" ;;
|
|
638
638
|
codex) echo "gpt-6-astra" ;;
|
|
639
639
|
mistral) [[ "$transport" == "api" ]] && echo "mistral-large-3" || echo "mistral-medium-3.5" ;;
|
|
640
|
-
deepseek) echo "deepseek-
|
|
640
|
+
deepseek) echo "deepseek-flash" ;;
|
|
641
641
|
glm) echo "glm-5.3-flash" ;;
|
|
642
642
|
grok) echo "grok-4.6" ;;
|
|
643
643
|
qwen3) echo "qwen3.7-max" ;;
|
|
@@ -652,7 +652,7 @@ get_model_for_tier() {
|
|
|
652
652
|
gemini) [[ "$transport" == "api" ]] && echo "gemini-3.1-pro-preview" || echo "Gemini 3.7 Flash (High)" ;;
|
|
653
653
|
codex) echo "gpt-5.6-terra" ;;
|
|
654
654
|
mistral) [[ "$transport" == "api" ]] && echo "mistral-large-3" || echo "mistral-medium-3.5" ;;
|
|
655
|
-
deepseek) echo "deepseek-
|
|
655
|
+
deepseek) echo "deepseek-flash" ;;
|
|
656
656
|
glm) echo "glm-5.3-flash" ;; # Same as premium (no mid-tier GLM)
|
|
657
657
|
grok) echo "grok-4.5" ;;
|
|
658
658
|
qwen3) echo "qwen3.6-35b-a3b" ;; # Open-weight MoE (35B total, 3B active)
|
|
@@ -667,7 +667,7 @@ get_model_for_tier() {
|
|
|
667
667
|
gemini) [[ "$transport" == "api" ]] && echo "gemini-3.1-pro-preview" || echo "Gemini 3.7 Flash (Low)" ;;
|
|
668
668
|
codex) echo "gpt-5.6-luna" ;;
|
|
669
669
|
mistral) [[ "$transport" == "api" ]] && echo "mistral-large-3" || echo "devstral-small-2" ;;
|
|
670
|
-
deepseek) echo "deepseek-
|
|
670
|
+
deepseek) echo "deepseek-flash" ;;
|
|
671
671
|
glm) echo "glm-4-flash" ;;
|
|
672
672
|
grok) echo "grok-4.5" ;;
|
|
673
673
|
qwen3) echo "qwen3-32b" ;;
|
|
@@ -1035,4 +1035,4 @@ list_presets() {
|
|
|
1035
1035
|
# VERSION
|
|
1036
1036
|
# =============================================================================
|
|
1037
1037
|
|
|
1038
|
-
AI_CONSULTANTS_VERSION="5.1.
|
|
1038
|
+
AI_CONSULTANTS_VERSION="5.1.1"
|
package/scripts/configure.sh
CHANGED
|
@@ -335,6 +335,17 @@ if [[ "$(read_value "$WORK_FILE" GROK_MODEL 2>/dev/null || true)" == "grok-4.5"
|
|
|
335
335
|
echo "Migrated managed Grok default: grok-4.5 -> grok-4.6" >&2
|
|
336
336
|
fi
|
|
337
337
|
|
|
338
|
+
# Refresh only exact unpinned historical DeepSeek defaults. Environment and
|
|
339
|
+
# --set selections carry pin markers and remain user-owned.
|
|
340
|
+
case "$(read_value "$WORK_FILE" DEEPSEEK_MODEL 2>/dev/null || true)" in
|
|
341
|
+
deepseek-v4-pro|deepseek-v4-flash)
|
|
342
|
+
if ! has_value_marker "$WORK_FILE" DEEPSEEK_MODEL "$PIN_MARKER"; then
|
|
343
|
+
set_value DEEPSEEK_MODEL "deepseek-flash $DEFAULT_MARKER"
|
|
344
|
+
echo "Migrated managed DeepSeek default to deepseek-flash (V4.1 Flash)" >&2
|
|
345
|
+
fi
|
|
346
|
+
;;
|
|
347
|
+
esac
|
|
348
|
+
|
|
338
349
|
configure_cli_only() {
|
|
339
350
|
local enable_key="$1" cmd_key="$2" cmd enabled=false
|
|
340
351
|
cmd=$(effective_input_value "$cmd_key")
|
package/scripts/lib/costs.sh
CHANGED
|
@@ -136,6 +136,7 @@ get_input_cost_per_1k() {
|
|
|
136
136
|
gemini-2.5-pro) echo "0.00125" ;;
|
|
137
137
|
gemini-2.5-flash) echo "0.000075" ;;
|
|
138
138
|
gemini-2.0-flash) echo "0.0001" ;;
|
|
139
|
+
deepseek-flash|deepseek-v4-flash|deepseek-v4-flash-vision-exp) echo "0.0003" ;;
|
|
139
140
|
gpt-6-astra|claude-fable-5-1) echo "0.01" ;;
|
|
140
141
|
gpt-4) echo "0.03" ;;
|
|
141
142
|
gpt-4-turbo) echo "0.01" ;;
|
|
@@ -183,6 +184,7 @@ get_output_cost_per_1k() {
|
|
|
183
184
|
gemini-2.5-pro) echo "0.005" ;;
|
|
184
185
|
gemini-2.5-flash) echo "0.0003" ;;
|
|
185
186
|
gemini-2.0-flash) echo "0.0004" ;;
|
|
187
|
+
deepseek-flash|deepseek-v4-flash|deepseek-v4-flash-vision-exp) echo "0.0012" ;;
|
|
186
188
|
gpt-6-astra|claude-fable-5-1) echo "0.05" ;;
|
|
187
189
|
gpt-4) echo "0.06" ;;
|
|
188
190
|
gpt-4-turbo) echo "0.03" ;;
|
|
@@ -401,7 +403,7 @@ format_cost_caveats() {
|
|
|
401
403
|
local responses_dir="${1:-}"
|
|
402
404
|
[[ -d "$responses_dir" ]] || return 0
|
|
403
405
|
|
|
404
|
-
local estimated=0 unknown=0 priced=0 f astra_estimate=0
|
|
406
|
+
local estimated=0 unknown=0 priced=0 f astra_estimate=0 deepseek_flash_estimate=0
|
|
405
407
|
local unpriced_models=()
|
|
406
408
|
while IFS= read -r f; do
|
|
407
409
|
[[ -n "$f" ]] || continue
|
|
@@ -423,6 +425,13 @@ format_cost_caveats() {
|
|
|
423
425
|
if [[ "$model" == gpt-6-astra ]] && ! jq -e '.metadata.provider_cost_usd | numbers' "$f" >/dev/null 2>&1; then
|
|
424
426
|
astra_estimate=1
|
|
425
427
|
fi
|
|
428
|
+
case "$model" in
|
|
429
|
+
deepseek-flash|deepseek-v4-flash|deepseek-v4-flash-vision-exp)
|
|
430
|
+
if ! jq -e '.metadata.provider_cost_usd | numbers' "$f" >/dev/null 2>&1; then
|
|
431
|
+
deepseek_flash_estimate=1
|
|
432
|
+
fi
|
|
433
|
+
;;
|
|
434
|
+
esac
|
|
426
435
|
is_unpriced_model "$model" || continue
|
|
427
436
|
seen=false
|
|
428
437
|
for item in "${unpriced_models[@]+"${unpriced_models[@]}"}"; do
|
|
@@ -441,6 +450,9 @@ format_cost_caveats() {
|
|
|
441
450
|
if [[ $astra_estimate -eq 1 ]]; then
|
|
442
451
|
parts="${parts:+$parts; }cost estimated using Astra Standard rates; cache/service adjustments excluded, not an invoice"
|
|
443
452
|
fi
|
|
453
|
+
if [[ $deepseek_flash_estimate -eq 1 ]]; then
|
|
454
|
+
parts="${parts:+$parts; }DeepSeek Flash cost estimated at peak cache-miss rates; off-peak/cache discounts excluded, not an invoice"
|
|
455
|
+
fi
|
|
444
456
|
local unpriced=""
|
|
445
457
|
if (( ${#unpriced_models[@]} > 0 )); then
|
|
446
458
|
unpriced=$(IFS=,; printf '%s' "${unpriced_models[*]}")
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
#
|
|
6
6
|
# Environment variables:
|
|
7
7
|
# DEEPSEEK_API_KEY - API key for DeepSeek (required)
|
|
8
|
-
# DEEPSEEK_MODEL - Model to use (default: deepseek-
|
|
8
|
+
# DEEPSEEK_MODEL - Model to use (default: deepseek-flash (DeepSeek-V4.1-Flash))
|
|
9
9
|
# DEEPSEEK_TIMEOUT - Timeout in seconds (default: 180)
|
|
10
10
|
# ENABLE_PERSONA - Enable "The Code Specialist" persona (default: true)
|
|
11
11
|
|