From 5cb2d4da57d19fc0914f9abb7a5250e4a8021891 Mon Sep 17 00:00:00 2001 From: cinkyzhang <54970945+cinkyzhang@users.noreply.github.com> Date: Sat, 3 Oct 2026 12:00:38 +0800 Subject: [PATCH] =?UTF-8?q?docs(readme):=20=E8=A1=A5=E5=85=85=E3=80=8C?= =?UTF-8?q?=E9=A2=9D=E5=BA=A6=E4=B8=8E=E8=AE=A1=E8=B4=B9=E3=80=8D=E7=AB=A0?= =?UTF-8?q?=E8=8A=82=EF=BC=8C=E8=AF=B4=E6=98=8E=E4=B8=A4=E6=9D=A1=E4=BA=92?= =?UTF-8?q?=E4=B8=8D=E7=9B=B8=E9=80=9A=E7=9A=84=E8=AE=A1=E8=B4=B9=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 实测确认上游按凭据身份分红计费,同一账号下存在两本账: - 官方客户端(OAuth 账号令牌)→ 活动包(如 zcode-v3-start-plan-trust-<月日>) - 本代理(auth login 换来的凭据)→ 每日免费池(GLM-5.3 3M + GLM-5.3-Flash 5M) 这解释了一个常见困惑:在客户端里领了大额活动包,接上代理后那个额度 一直不掉 —— 不是 bug,是代理走的是另一条账。 同时补充两条常见问题: - 接上代理后活动包额度不掉的原因与正确排查位置 - 报 code 3012 / unusual activity 的触发特征与处理建议 (先停手等冷却,不要立刻重试;不建议接到无人值守跑批场景) 改动仅限 README.md,不涉及任何代码逻辑。 --- README.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) 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