Compare commits
3 Commits
4331ebb675
...
b3468095c9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b3468095c9 | ||
|
|
676b25217e | ||
|
|
9448212a26 |
@@ -15,10 +15,10 @@
|
||||
|
||||
| Claude Code `/effort` | Anthropic (`ai-claude`) | DeepSeek V4 (`ai-deepseek`) | Kimi K2.7/K2.6 (`ai-kimi`) | GLM 5.3 (`ai-glm`) | OpenRouter/GPT-5.5 (`ai-openrouter`) | OpenCode Go (`ai-opencode`) |
|
||||
|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
|
||||
| `low` | нативно `low` | провайдер поднимает до `high` | thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
|
||||
| `low` | нативно `low` | нативно `low` | thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
|
||||
| `medium` | нативно `medium` | провайдер поднимает до `high` | thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
|
||||
| `high` | нативно `high` | нативно `high` | thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
|
||||
| `xhigh` | нативно `xhigh` | провайдер поднимает до `max` | thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
|
||||
| `xhigh` | нативно `xhigh` | провайдер поднимает до `high` | thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
|
||||
| `max` | нативно `max` | нативно `max` | thinking on | на стороне сервера | без локального маппинга | без локального маппинга |
|
||||
|
||||
Для OpenRouter текущий лаунчер не делает локального преобразования effort и отправляет
|
||||
@@ -45,12 +45,13 @@ low -> medium -> high -> xhigh -> max
|
||||
### DeepSeek V4
|
||||
|
||||
```text
|
||||
high -> max
|
||||
low -> high -> max
|
||||
```
|
||||
|
||||
- 2 реальных уровня.
|
||||
- `low` и `medium` фактически поднимаются до `high`.
|
||||
- `xhigh` фактически поднимается до `max`.
|
||||
- 3 реальных уровня.
|
||||
- `low` остаётся `low` — реально снижает thinking бюджет.
|
||||
- `medium` и `xhigh` фактически поднимаются до `high`.
|
||||
- `max` остаётся `max` — максимальный бюджет thinking.
|
||||
- Маппинг выполняется на стороне DeepSeek API.
|
||||
- Дефолт `ai-deepseek`: `high`.
|
||||
|
||||
@@ -125,4 +126,4 @@ ai-deepseek # без флага - использовать ур
|
||||
|
||||
- Для повседневной работы: `high` или `xhigh`.
|
||||
- `max` effort имеет реальный эффект у Anthropic и DeepSeek; у Kimi и GLM это всё тот же thinking on / маппинг на стороне сервера.
|
||||
- `low`/`medium` у DeepSeek, Kimi и GLM фактически не снижают reasoning.
|
||||
- `low`/`medium` у Kimi и GLM фактически не снижают reasoning; у DeepSeek `low` теперь даёт реальный уровень `low` и экономит бюджет.
|
||||
|
||||
@@ -23,6 +23,7 @@ Use these defaults across projects, then apply any more specific repository inst
|
||||
- For requests to answer, explain, review, diagnose, or plan, inspect the relevant materials and report the result. Do not implement changes unless the request also asks for them.
|
||||
- For requests to change, build, or fix, perform safe in-scope local edits and validation without asking for routine confirmation.
|
||||
- Ask before destructive or difficult-to-recover actions, external writes or publication, purchases, or a material expansion of scope.
|
||||
- Exception for Eltex merge-request reviews: a bare review request or explicit `eltex-review` invocation authorizes the skill's documented GitLab writes, including inline discussions, approval, and its thank-you note. Explicit chat-only wording keeps the review read-only.
|
||||
- Preserve unrelated user changes and adapt to a dirty working tree. Never discard or overwrite work you did not create.
|
||||
|
||||
## 4. Plan and Verify Proportionally
|
||||
|
||||
@@ -6,7 +6,7 @@ The custom statusline script renders **only ASCII-safe characters and ANSI color
|
||||
|
||||
- ASCII brackets `[ ]` for git branch and effort level
|
||||
- ANSI 256-color escape sequences for model names, effort levels, and rate-limit percentages
|
||||
- The `¥` symbol (U+00A5) for CNY balance in DeepSeek output
|
||||
- The `$` symbol for the DeepSeek balance (USD only)
|
||||
|
||||
It does **not** use Nerd Font glyphs, powerline separators, or emoji.
|
||||
|
||||
|
||||
@@ -171,13 +171,12 @@ if [[ "$model_id" == *deepseek* ]]; then
|
||||
import sys, json
|
||||
d = json.load(sys.stdin)
|
||||
infos = d.get('balance_infos', [])
|
||||
symbols = {'USD': '\$', 'CNY': '\u00a5'}
|
||||
parts = []
|
||||
for info in infos:
|
||||
curr = info.get('currency', '')
|
||||
if info.get('currency', '').upper() != 'USD':
|
||||
continue
|
||||
total = info.get('total_balance', '0')
|
||||
sym = symbols.get(curr, curr)
|
||||
parts.append(f'{sym}{total}')
|
||||
parts.append(f'\${total}')
|
||||
if parts:
|
||||
print(' '.join(parts))
|
||||
" 2>/dev/null)
|
||||
|
||||
@@ -706,25 +706,24 @@ try:
|
||||
d = json.load(sys.stdin)
|
||||
available = d.get('is_available', False)
|
||||
infos = d.get('balance_infos', [])
|
||||
# Показываем только USD (CNY не выводим)
|
||||
infos = [i for i in infos if i.get('currency', '').upper() == 'USD']
|
||||
if not infos:
|
||||
print(' \033[0;33m[БАЛАНС]\033[0m Нет данных о балансе')
|
||||
sys.exit(0)
|
||||
symbols = {'USD': '\$', 'CNY': '¥'}
|
||||
cache_parts = []
|
||||
for info in infos:
|
||||
curr = info.get('currency', '???')
|
||||
total = info.get('total_balance', '0')
|
||||
granted = info.get('granted_balance', '0')
|
||||
topped_up = info.get('topped_up_balance', '0')
|
||||
sym = symbols.get(curr, curr)
|
||||
status = '✅ доступен' if available else '❌ не активен'
|
||||
print(f' \033[1;36m💰 Баланс DeepSeek:\033[0m {total} {curr} {status}')
|
||||
print(f' \033[1;36m💰 Баланс DeepSeek:\033[0m \${total} {status}')
|
||||
if float(granted) > 0:
|
||||
print(f' └─ Начислено: {granted} {curr}')
|
||||
print(f' └─ Начислено: \${granted}')
|
||||
if float(topped_up) > 0:
|
||||
print(f' └─ Пополнено: {topped_up} {curr}')
|
||||
cache_parts.append(f'{sym}{total}')
|
||||
# Cache all currencies with symbols for statusline
|
||||
print(f' └─ Пополнено: \${topped_up}')
|
||||
cache_parts.append(f'\${total}')
|
||||
# Cache USD balance for statusline
|
||||
if cache_parts:
|
||||
cache_dir = os.path.expanduser('~/.cache/ai-setup')
|
||||
os.makedirs(cache_dir, exist_ok=True)
|
||||
|
||||
Reference in New Issue
Block a user