Revert "fix: статусная строка — DeepSeek per-request стоимость вместо статичного баланса"

This reverts commit 6c7324bfd8.
This commit is contained in:
Виталий Никитенко
2026-06-08 07:56:25 +03:00
parent 6c7324bfd8
commit cf34698116

View File

@@ -2,8 +2,6 @@
input=$(cat) input=$(cat)
cwd=$(echo "$input" | jq -r '.cwd') cwd=$(echo "$input" | jq -r '.cwd')
model=$(echo "$input" | jq -r '.model.display_name // empty') model=$(echo "$input" | jq -r '.model.display_name // empty')
model_id=$(echo "$input" | jq -r '.model.id // empty')
session_id=$(echo "$input" | jq -r '.session_id // empty')
five_pct=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty') five_pct=$(echo "$input" | jq -r '.rate_limits.five_hour.used_percentage // empty')
five_reset=$(echo "$input" | jq -r '.rate_limits.five_hour.resets_at // empty') five_reset=$(echo "$input" | jq -r '.rate_limits.five_hour.resets_at // empty')
week_pct=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty') week_pct=$(echo "$input" | jq -r '.rate_limits.seven_day.used_percentage // empty')
@@ -18,69 +16,6 @@ printf "\033[00;37m%s\033[00m" "$short_cwd"
[ -n "$branch" ] && printf " \033[00;37m[%s]\033[00m" "$branch" [ -n "$branch" ] && printf " \033[00;37m[%s]\033[00m" "$branch"
[ -n "$model" ] && printf " \033[38;5;173m%s\033[00m" "$model" [ -n "$model" ] && printf " \033[38;5;173m%s\033[00m" "$model"
# --- Накопленная стоимость DeepSeek (per-request) ---
COST_FILE="$HOME/.cache/ai-setup/deepseek_cost_state"
if [[ "$model_id" == *deepseek* ]] && [ -n "$session_id" ]; then
# Цены DeepSeek за 1M токенов
case "$model_id" in
*deepseek-v4*|*deepseek-reasoner*)
inp_p=0.55; out_p=2.19; cc_p=0.55; cr_p=0.14 ;;
*deepseek-chat*|*deepseek-v3*|*deepseek*)
inp_p=0.27; out_p=1.10; cc_p=0.27; cr_p=0.07 ;;
*)
inp_p=0.27; out_p=1.10; cc_p=0.27; cr_p=0.07 ;;
esac
usage=$(echo "$input" | jq -r '.context_window.current_usage // empty')
if [ -n "$usage" ] && [ "$usage" != "null" ]; then
in_tok=$(echo "$usage" | jq -r '.input_tokens // 0')
out_tok=$(echo "$usage" | jq -r '.output_tokens // 0')
cc_tok=$(echo "$usage" | jq -r '.cache_creation_input_tokens // 0')
cr_tok=$(echo "$usage" | jq -r '.cache_read_input_tokens // 0')
last_cost=$(echo "scale=10; ($in_tok * $inp_p + $out_tok * $out_p + $cc_tok * $cc_p + $cr_tok * $cr_p) / 1000000" | bc -l)
# Читаем накопленное
if [ -f "$COST_FILE" ]; then
existing=$(grep "^${session_id}|" "$COST_FILE" 2>/dev/null | tail -1)
fi
if [ -n "$existing" ]; then
IFS='|' read -r sid old_in old_out old_cc old_cr old_total <<< "$existing"
if [ "$old_in" = "$in_tok" ] && [ "$old_out" = "$out_tok" ] && [ "$old_cc" = "$cc_tok" ] && [ "$old_cr" = "$cr_tok" ]; then
accumulated="$old_total"
else
accumulated=$(echo "scale=6; $old_total + $last_cost" | bc -l)
fi
else
accumulated="$last_cost"
fi
mkdir -p "$(dirname "$COST_FILE")"
grep -v "^${session_id}|" "$COST_FILE" 2>/dev/null > "$COST_FILE.tmp" || true
echo "${session_id}|${in_tok}|${out_tok}|${cc_tok}|${cr_tok}|${accumulated}" >> "$COST_FILE.tmp"
mv "$COST_FILE.tmp" "$COST_FILE" 2>/dev/null
deepseek_cost="$accumulated"
else
if [ -f "$COST_FILE" ]; then
existing=$(grep "^${session_id}|" "$COST_FILE" 2>/dev/null | tail -1)
if [ -n "$existing" ]; then
IFS='|' read -r sid _ _ _ _ total <<< "$existing"
deepseek_cost="$total"
fi
fi
fi
cost_int=$(printf '%.0f' "$deepseek_cost" 2>/dev/null)
if [ "$cost_int" -gt 0 ] 2>/dev/null; then
printf " \033[00;35m\$%.2f\033[00m" "$deepseek_cost"
fi
fi
# Форматирует оставшееся время до сброса лимита # Форматирует оставшееся время до сброса лимита
fmt_remaining() { fmt_remaining() {
local reset_ts="$1" local reset_ts="$1"
@@ -112,8 +47,13 @@ pct_color() {
fi fi
} }
# Рейт-лимиты для Anthropic / Kimi / прочих (НЕ DeepSeek) if [[ "$model" == *[Dd]eep[Ss]eek* ]]; then
if [[ "$model_id" != *deepseek* ]]; then cache_file="$HOME/.cache/ai-setup/deepseek_balance"
if [ -f "$cache_file" ]; then
balance=$(head -1 "$cache_file")
[ -n "$balance" ] && printf " \033[00;35m\$%s\033[00m" "$balance"
fi
else
if [ -n "$five_pct" ] && [ -n "$five_reset" ]; then if [ -n "$five_pct" ] && [ -n "$five_reset" ]; then
five_int=$(printf '%.0f' "$five_pct") five_int=$(printf '%.0f' "$five_pct")
remaining=$(fmt_remaining "$five_reset") remaining=$(fmt_remaining "$five_reset")