feat: Snapshot-Offset 限额策略替换 BUFFER 盲猜

核心改动:不再用 BUFFER 猜滞后窗口消耗,而是用同步时点快照
 直接计算累计限额。

- BUFFER=300000 → SMALL_BUFFER=50000(仅覆盖非消耗性跳降)
- get_effective_limit: limit = B0 - SMALL_BUFFER,不依赖 current_usage
- 同步循环:写 balance_at_sync + usage_at_sync 替代 remaining/stable_limit
- 突发检测/低额度判断:读 balance_at_sync 替代 remaining
- volc_consume.py: vls.BUFFER → vls.SMALL_BUFFER
- debug/debug_volc_sync.py: 同步更新
- docs/volc-quota-notes.md: 新增 §7.6 v6 设计文档,更新各节口径
This commit is contained in:
vibe-code
2026-08-12 12:22:22 +00:00
parent 97484cb7f8
commit 23778a8f7c
4 changed files with 169 additions and 171 deletions
+3 -3
View File
@@ -20,7 +20,7 @@ SECRET_KEY = os.getenv(
)
HOST = "open.volcengineapi.com"
REGION = "cn-beijing"
BUFFER = 300000
SMALL_BUFFER = 50000
# Suffixes to clean from Volcengine response
SUFFIXES_TO_REMOVE = [
@@ -203,10 +203,10 @@ if __name__ == "__main__":
print("\n--- Final Model Balances ---")
for model, balance in model_balances.items():
remaining = balance - BUFFER
remaining = balance - SMALL_BUFFER
print(f"Model: {model}")
print(f" Balance : {balance:,}")
print(f" Buffer : {BUFFER:,}")
print(f" SmallBuffer: {SMALL_BUFFER:,}")
print(f" Remaining: {remaining:,}")
# Simulate Redis Keys