vibe-code
97484cb7f8
fix: v5 恢复 v2 骨架,修正 v4 误拦
...
v4(stable = balance - BUFFER)把「剩余余额」当「从 0 累计的上限」,
U>0 时低估初始池:15:09:51 实测 Bal=596,869(剩 59.7 万)却被
usage 1,696,135 >= 296,869 全拦。守恒反推(U+B=2,293,004)证明
v2 公式数学正确——B 滞后收敛后满足 B = B0 - U,今日消耗 1.696M <
B0 2.293M 无扣费(此前「超余额 13.8 万扣费」基于滞后快照的推断
不成立)。v5 = 恢复 v2(stable = usage + balance - BUFFER),
残留风险仅同步时点 B 滞后(13:36 高估 ~50 万),由 BUFFER + 低余额
加密同步覆盖。文档同步:volc-quota-notes §7.3/§7.5、merge-auto-consume §4.5。
2026-08-12 07:21:13 +00:00
vibe-code
dd349b64cf
fix: 限额改 v4 冻结快照,余额红线防扣费
...
v2 的 stable_limit = usage + balance - BUFFER 依赖余额 API 随消耗实时递减,
实测滞后(08-12 快照 1,558,307 在 usage 涨 45 万期间不动)导致池膨胀、限额
虚高,放行到扣费区(当日超余额 13.8 万已扣费)。
扣费口径(用户确认):是否扣费只取决于当下免费额度,超出即扣费,采集量只
决定明日发放。v4:stable_limit = balance - BUFFER 冻结快照,本地 usage 实时
撞线即拦,等价于本地实时扣减余额;effective = min(2M 配额, stable_limit)。
新增 docs/volc-quota-notes.md 额度机制速查;merge-auto-consume.md 补 §4.5。
2026-08-12 06:58:03 +00:00
vibe-code
c6c122426a
fix: 同步间隔打印重算 + 恢复/审计口径对齐,清理死代码
...
- 同步后按新 Min Rem 重算'下一次同步'间隔(compute_sync_interval 唯一实现),
修复'旧 interval + 新 Min Rem'混打误导;删除过时的五档注释
- restore_blocked_models / startup_audit 补 MONITORED hash 过滤,
与 soft_evict/请求闸门/即时恢复口径一致,防误恢复/误踢同名非监控条目
- 删除 THRESHOLD 死常量
2026-08-12 03:53:02 +00:00
vibe-code
505a55987f
fix: 限额恢复即时解锁 + 前置预留闸门,修复有额度却被禁
...
- 同步守护写健康限额后立即恢复被软踢模型(restore_model_if_healthy),
不等 restore_blocked_models 的 30min/4h 闸门,修复日返还额度到账后
模型带额度空转被禁(no healthy deployments)
- 前置闸门改为 usage + reserve >= limit 即拦截,预留优先取请求
max_tokens(零采集损失),堵住并发请求集体撞线的超限窗口
2026-08-12 03:40:44 +00:00
vibe-code
56b46652f2
feat: 日志统一加北京时间戳(_tagged_print 一处生效,实测 1.33us/次)
2026-08-11 15:10:24 +00:00
vibe-code
b82fe3aa7e
refactor: 余额分档退化为低余额加密两档,常规统一 30 分钟
...
按上一轮分析彻底落地:余额驱动的慢速档无意义(日返还下余额高=常态,
返还/过期/消耗随时发生)。仅保留 <10万 5min / <30万 10min(返还解锁、
扣费检测要紧),≥30万 统一 30min;慢同步完全交给 is_idle(×4 上限 60min)。
模式打印随分档简化并补充空闲状态。
2026-08-11 15:07:55 +00:00
vibe-code
a93f806b33
fix: 同步模式打印图标改为余额风险语义(极速→中风险等,与档位自洽)
2026-08-11 15:06:26 +00:00
vibe-code
068f2ee658
fix: 取消高水位 60 分钟同步档(日返还模型下余额≥80万为常态)
...
- 高水位 base_interval 3600 → 1800:返还解锁/余额扣减检测延迟从 ≤60min 降到 ≤30min,
消除每日返还后的额度空转窗口与余额虚高扣费窗口;真正的慢同步条件 = is_idle(已独立实现)
- All Dead 非晨间 1000000 → 300000:返还可能下午到账,不能睡 60 分钟
- 修复模式打印数值与 base_interval 全部错位的遗留 bug,改为输出实际同步间隔
2026-08-11 14:16:27 +00:00
vibe-code
5e40a311d1
fix: 消耗任务四类遗漏修复 + 清理死变量
...
volc_consume.py:
- payload 模型参数路由:doubao 系 max_completion_tokens+reasoning_effort minimal,
其他模型 max_tokens(旧 MONITOR_TARGETS 实测配置,否则 doubao 消耗会 400 失效)
- _send_ark URL 单源:直接拼 HUOSHAN_BASE_URL(与 config.yaml 同 env),删 ARK_HOST
- 速率三档对齐旧 auto_consume(正常 15-40s / 极速 / 动态),避免 plan 大时 60s/次拖过 00:00
- run_consume_all 单次拉包复用,消除 6 次重复分页
volc_limit_sync.py:
- 修复 DEBUG 打印残留 current_peak 引用(v2 简化后已删变量,DEBUG 模式会 NameError)
- 清理旧遗留死变量 SYNC_INTERVAL / mode_str / display_limit,去重 limit_str
2026-08-11 13:58:58 +00:00
vibe-code
b7df36bb4e
fix: dynamic 限额缺失时 fallback 保守兜底(FALLBACK_LIMIT 90万)
...
免费模型余额常态 <2M(昨日采多少返多少),stable_limit 缺失窗口
(首次同步前/新增模型/TTL 过期)此前 fallback 裸奔到静态 2M,
余额不足的模型会被烧穿扣费。改为 min(static, FALLBACK_LIMIT=90万)。
2026-08-11 13:38:32 +00:00
vibe-code
96b81d52c4
feat: 合入火山免费额度自动消耗任务(每日23点洗过期包防扣费)
...
- 新增 volc_consume.py:消耗任务模块,直连 Ark 洗 9 天内过期资源包
(旧 calculate_plan 均分×1.1/24h冲刺保留 + 双 clamp:2M 采集上限、余额−BUFFER 防扣费)
- volc_limit_sync.py:限额 v2 简化(stable_limit = usage+balance−BUFFER,删除峰值状态机 ~90 行),
HARD_DAILY_LIMITS 统一 2M(pre-block 不滞后,1.8M 折扣作废),
新增 _maybe_trigger_daily_consume(北京时间 23:00 ± 抖动,SETNX 去重,延迟导入)
- docker-compose 挂载 volc_consume.py;AGENTS.md/文档同步
2026-08-11 13:15:24 +00:00
root
8feb38db37
fix: 资源包查询修复翻页死循环并加 Status 过滤
...
- debug_volc_sync.py 缺少 seen_tokens 防循环保护,火山 API 翻页到头后
NextToken 循环回起始 token,导致无限翻页(实测 900s 拉 1893 页假象,
真实数据仅 8 页 137 个包)
- 两个 fetch_all_packages 请求加 Status=Effective,服务端直接过滤
UsedUp/Expired/Refunded 等余额为 0 的无用包(实测过滤后 0 余额包为 0)
- 主脚本循环检测日志从 DEBUG 提升为 WARNING,循环收尾不再静默
2026-08-11 03:39:57 +00:00
root
e29d94f9e8
feat: 日志统一加 [VolcSync] 前缀便于筛选
...
模块级重绑定 print(一处覆盖全部 52 处调用, 含 log()/dprint/裸print),
traceback.print_exc 改走带前缀通道, 去除 log() 内嵌标识避免双前缀。
筛选: docker logs litellm 2>&1 | grep VolcSync
2026-08-11 02:53:33 +00:00
root
729e5c7bc3
fix: 限额峰值改为首锁+余额门控重锁,修复越算越多
...
原 Smart Peak 逻辑把每次用量增长误判为余额恢复(Jump)锁更高峰值,
叠加火山 AvailableAmount 更新滞后,stable_limit 当天一路抬升
(399,836 -> 599,511)且闸门永不触发,额度实际被烧穿。
新策略(volc:peak_pool 当日键):
- 首次同步锁定当日峰值(usage + balance)
- 仅 balance 自身净上涨(新资源包/对账回补 >=50k)按发放增量抬峰
- pool 回落时 Drop 收紧,永不回升
- usage 驱动的 pool 上涨一律不得抬高限额
新增 volc:last_balance 键记录上次余额快照
2026-08-11 02:53:18 +00:00
root
1a36bf5dbc
fix: RateLimitError构造去除request_data,对齐litellm main签名(message,llm_provider,model)
2026-08-10 08:43:44 +00:00
root
2e052734fc
fix: 已踢模型请求也走限额拦截,统一返回429而非router 400
2026-08-10 08:21:39 +00:00
root
6b51d74e72
fix: 增加请求前限额拦截(async_pre_call_hook),修复超限滞后击穿漏洞
2026-08-10 08:07:04 +00:00
root
1e63653f52
fix: add deepseek-v4-flash-0731 alias and fix config discovery skipping commented lines
...
- Add MANUAL_MONITORED_MODEL_ALIASES entry for
deepseek-v4-flash-0731 -> deepseek-v4-flash-ga-260731,
since VolcEngine resource pack uses MMDD format while
upstream model name uses -ga-YYMMDD (inconsistent naming).
- Fix config.yaml auto-discovery to skip lines starting with '#',
preventing commented-out api_base lines from leaking into the
currently-open entry and misclassifying non-VolcEngine models.
This was causing deepseek-v4-flash (via NEWAPI) to be falsely
detected as a monitored VolcEngine model.
2026-08-09 14:21:46 +00:00
kim
3dd97730b6
fix: default remaining to high quota for unknown models on startup and update AGENTS.md
2026-07-08 10:42:14 +08:00
kim
27324f459c
fix: add doubao-seed-2-0-code alias to monitored models
2026-06-11 14:52:02 +08:00
kim
671ef1087f
fix: resolve falsy effective_limit bug preventing model block on negative quota
2026-06-11 14:09:42 +08:00
kim
28c81c4816
fix: resolve volcengine package quota parsing and status filtering
2026-06-11 13:27:06 +08:00
kim
f36c560bb0
fix: clarify effective limit debug output
2026-04-01 14:10:59 +08:00
kim
2f1c2642e5
fix: streamline monitored model maintenance
2026-04-01 13:29:10 +08:00
kim
bdd51e8f9c
feat: implement startup audit to block over-limit models on restart
...
- Add startup_audit() to check Redis usage against limits at startup
- Call startup_audit() in active_monitor_loop
- Add AGENTS.md for agent guidelines
2026-02-02 13:39:34 +08:00
kim
03df1d553e
fix: strip volcengine prefix in limit sync to match config
2026-01-30 12:35:19 +08:00
kim
f16af28dfe
feat: 优化火山引擎配额同步策略
...
- 添加硬限制: doubao-seed-code 480w/日, 其他模型 180w/日
- 强制北京时间(UTC+8)计算日期,确保 Docker 容器时区无关
- 移除'忽略小跌'逻辑,Pool 下跌时立即接受(更保守的风控)
- 优化轮询间隔适配小时级 API 延迟(减少无效请求)
2026-01-30 00:39:06 +08:00
kim
dd8cbe5f63
revert: remove hardcoded daily limits, restoring dynamic calculation only
2026-01-30 00:05:40 +08:00
kim
d5b8829265
feat: add specific hard limits and log format
2026-01-29 23:54:32 +08:00
kim
cd35a193b6
feat: finalize smart pool tracking with hysteresis (handle jumps, drops, and expiry)
2026-01-29 23:17:39 +08:00
kim
2d849dc62d
fix: upgrade quota logic to track Total Pool (Usage + Rem) to prevent mid-day blocking
2026-01-29 22:30:42 +08:00
kim
73fe82de3b
feat: enhance volcengine quota sync with hard limits and smart buffering
2026-01-29 22:21:29 +08:00
kim
0988b1fc1d
optimize: increase burst traffic threshold to 300,000 tokens to handle long-context models
2026-01-29 20:54:18 +08:00
kim
e6110cd9c1
optimize: adjust restore window to 07:00-13:00 Beijing time and optimize sleep logic for dead models
2026-01-29 20:27:32 +08:00
kim
e21a510f0f
fix: sync logic to filter non-volc models by api_base hash and add debug logs
2026-01-29 19:31:17 +08:00
kim
4a68121b3e
Fix: Revert Doubao 1.6 mapping to shared list and remove hardcoded corner cases
2026-01-29 18:57:55 +08:00
kim
2d161c867e
Fix: Separate Doubao 1.6 Standard and Thinking models into distinct quota keys
2026-01-29 18:52:43 +08:00
kim
d66231a333
Enhance: Complete bilingual (CN/EN) log support for VolcSync
2026-01-29 18:48:03 +08:00
kim
c536421410
Enhance: Format balance logs with thousands separators and add bilingual (CN/EN) descriptions
2026-01-29 18:39:55 +08:00
kim
da41c569c0
Fix: Deduplicate packages based on full JSON content hash to prevent double counting
2026-01-29 18:26:38 +08:00
kim
587a005665
Fix: Remove duplicate code block causing IndentationError in process_packages_breakdown
2026-01-29 18:19:59 +08:00
kim
0e2acd85b0
Fix: Revert sync-all-models. Only sync configured VolcEngine models (Strict Whitelist)
2026-01-29 18:16:17 +08:00
kim
fb77e4047c
Fix: Sync ALL discovered VolcEngine models to Redis, ignoring INTERESTED_MODELS filter for cache
2026-01-29 18:11:59 +08:00
kim
2ceec7f1c6
Fix: Handle list mapping in process_packages_breakdown to resolve unhashable type error
2026-01-29 18:03:41 +08:00
kim
d696c92879
Fix: Update VOLC_MODEL_MAP and suffixes to correctly normalize and map package names
2026-01-29 17:59:09 +08:00
kim
ac62783fc6
Fix: Add infinite loop protection to API pagination
2026-01-29 17:32:58 +08:00
kim
76aa3d5aae
Fix: config parsing logic to use upstream model names for whitelist
2026-01-29 17:13:09 +08:00
kim
cc3ef9c482
fix(volc_sync): retry apply loop logging changes
2026-01-29 17:00:36 +08:00
kim
16e7170643
fix(volc_sync): restrict model discovery and enhance loop logging
2026-01-29 16:57:23 +08:00
kim
dd0eb2b1ad
fix(volc_sync): correct GLM-4 mapping and add raw package logging
2026-01-29 16:49:14 +08:00