diff --git a/README.md b/README.md index 1186dfd..6540da3 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ 本来只能在官方客户端里用,ZCode Proxy 在本机把它变成标准的 OpenAI / Anthropic 接口, 于是 Claude Code、Codex、Silly Tavern ……都能直接用上你的套餐额度。 -[快速上手](#-一分钟上手) · [接入编码工具](#-把编码工具接上来) · [手机版](#-手机版-android) · [常见问题](#-常见问题) +[快速上手](#-一分钟上手) · [接入编码工具](#-把编码工具接上来) · [手机版](#-手机版-android) · [额度与计费](#-额度与计费) · [常见问题](#-常见问题) @@ -244,6 +244,28 @@ ssh -N -L 8090:127.0.0.1:8090 user@host | `glm-5.2` | 1M | 128K | | `glm-5.3` / `glm-5.3-flash` | 1M | 128K | +## 📊 额度与计费 + +代理和官方客户端打的是同一个上游,但**用哪份凭据,就记在哪本账上**。实测(2026-10)确认上游存在两条互不相通的计费线: + +| 请求来源 | 上游凭据 | 计费落到 | +|---|---|---| +| 官方客户端(桌面端 / `zcode --web`) | OAuth 账号令牌 | **活动包**(如 `zcode-v3-start-plan-trust-<月日>`) | +| 本代理(`plan: start-plan`) | `auth login` 换来的凭据 | **每日免费池**(GLM-5.3 3M + GLM-5.3-Flash 5M) | + +因此有一个常见误解值得先说清楚:**在客户端里领了大额活动包,接上代理后发现那个额度一直不掉,这不是 bug** —— 代理走的是每日免费池那条账。 + +两个额度都能查: + +```bash +bun run src/index.ts quota # 面板 Quota 区同款 +curl http://127.0.0.1:8080/quota # 原始快照 JSON(信息更全) +``` + +`quota` 会列出账号下的**所有**额度池。注意面板的 Quota 区只画两行,条目多于两条时以 `/quota` 的完整 JSON 为准 —— 最大的那个活动包往往就是被挤掉的那条。 + +**活动包按天发放**:包名带日期(如 `trust-1003` 指 10-03 那个),当天的量当天用完,隔天换新包,攒不下来。 + ## ❓ 常见问题 **启动就退出,提示 Not logged in?** @@ -264,6 +286,18 @@ ssh -N -L 8090:127.0.0.1:8090 user@host **它在后台到底做了什么?** 它就是一个"翻译官 + 传话员":把你的工具发出的标准请求翻译成官方客户端的同款请求转发上去,再把回复原样翻译回来。所有流量都只在你本机和官方服务器之间,不经过任何第三方。 +**接上代理后,客户端里的活动包额度一直不掉?** +这是正常的,见上方「额度与计费」:代理走的是每日免费池,和客户端的活动包是两本账。想消耗活动包,就得在官方客户端里干活;代理侧的消耗请查 `quota` 里的每日池那两行。 + +**报 `request has been blocked due to unusual activity.`(`code 3012`)怎么办?** +这是上游风控,**主要看流量特征而不是用量**:同一时间段内官方客户端的正常使用不受影响,但来自非客户端进程的持续高频请求容易被拦。就现有观察: + +- 被拦**不是永久封禁**,间隔一段时间后会自行恢复; +- 触发前往往有「短时间内对同一端点连续多次提交请求」的特征; +- 遇到 3012 / 403 / 429 / 405 时**先停手等冷却**,不要立刻重试 —— 继续重试只会加重判定。 + +因此不建议把代理接到无人值守、长时间跑批的场景;并发压住、请求之间留出间隔会更稳。 + ## 🛠️ 参与开发 ```bash