Rainytoken/docs/实测-凭据提取.md

78 lines
4.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 实测凭据提取指南(仅用于功能验证,绝不写入代码/提交)
> 目标:为 RainyToken 三家新供应商做「实测优先」验证。
> 凭据只在本机实测时临时使用,用完即弃;不会进入 Git 历史或仓库文件。
## ✅ 实测进度(2026-09,goal round 5)
- **Sub2API**:已用真实 sk- Key 实测通(GET /v1/usage),字段校准完成。
- **Trae**:已实测通(authorized 登录态调 api.trae.cn `ide_user_ent_usage`,HTTP 200),
权威口径 `usage_summary.total_amount - consumed_amount`,无需 X-Device-Id/X-User-Region 头。
- **WorkBuddy**:已实测通(authorized 登录态调 workbuddy.cn `billing/meter/get-user-resource-summary`,
HTTP 200),`data.Packages[].Cycle{Total,Remain,Used,Frozen}Capacity + CapacityUnit`。
- 以下步骤保留作「他人/日后自助提取」参考。
---
## 1. Trae —— 提取 Cloud-IDE-JWT(点击级步骤,5 分钟)
RainyToken 用 `Authorization: Cloud-IDE-JWT <jwt>` 认证(官方 IDE 同款)。
**推荐在浏览器 Web IDE 上抓**(Chrome / Edge 都行):
### 步骤
1. 打开 Chrome 或 Edge,访问 **https://www.trae.cn** 并登录你的 Trae 账号;
2. 按 **F12** 打开开发者工具 → 切到 **Network(网络)** 标签;
- 建议勾选日志左上角的 **Preserve log(保留日志)**,避免跳转丢记录;
3. 保持 DevTools 开着,访问 **https://ide.trae.cn**(或点右上角「进入 IDE / Web IDE」)。页面加载时会自动发一堆请求;
4. 在 Network 顶部的 **Filter(过滤)** 输入框里输入 `ent_usage`;
5. 找到名为 **`ide_user_ent_usage`** 的请求(方法 POST,域名 `api.trae.cn` 或 `grow-normal.trae.ai`):
- 点击它 → 右侧切到 **Headers** → 往下到 **Request Headers**;
- 找到 **`Authorization`** 一行,值是 `Cloud-IDE-JWT eyJ…`;
- 复制 `Cloud-IDE-JWT ` 后面的整段 **`eyJ…`**(JWT 三段、以点分隔,很长);
6. 告诉我:
- 这个 JWT;
- 你的区域:域名/请求是 `api.trae.cn` → **CN**;是 `grow-normal.trae.ai` → **INTL**(对应请求头 `X-User-Region`)。
### 校验(防止复制错)
- 复制的内容应**以 `eyJ` 开头**,形如 `eyJhbGciOiJIUzI1NiJ9.eyJ…。….`(三个点分片);
- 如果抓到的是 `Cloud-IDE-V2` / `Cookie` / `Bearer` 开头的值,则**不是**这个 JWT,换一个请求再看;
- 若 `ent_usage` 过滤为空:到 **账户/配额页**(trae.cn 头像 → 用量/套餐)点一下刷新,同时清空 Filter 输入 `pay` 或 `ide_user` 再找。
### 备选(浏览器方案无效时)
- 桌面 Trae IDE 里查看「额度/套餐」面板并打开系统代理抓包(Charles/Fiddler 需装根证书,较麻烦);
- 或告诉我,我改成其它抓取路径(如 CLI 登录态文件)。
> JWT 约 14 天有效;只用于实测,用完即弃,绝不写入仓库/提交。
---
## 2. WorkBuddy / CodeBuddy —— 需要 accessToken + refreshToken(OAuth Bearer)
腾讯 WorkBuddy 与 CodeBuddy 共用积分体系,实测走官方 CLI 插件协议:
1. 安装 CodeBuddy CLI(`npm i -g @codebuddy/cli` 或官方安装包)并登录;
2. 或直接抓浏览器:登录 https://www.codebuddy.cn / copilot.tencent.com 后在开发者工具
Network 里找 `get-user-resource` 请求的 **Authorization: Bearer <accessToken>**;
3. **refreshToken** 一般可从浏览器的本地存储 / CLI 的 `~/.codebuddy/auth` 之类配置里读到
(名为 `refresh_token` / `X-Refresh-Token` 对应字段)。
> 若你不想装 CLI,告诉我你平时怎么用 WorkBuddy/CodeBuddy,我改写成对应抓法。
---
## 3. Sub2API —— ✅ 已实测确认(xxcsn.site,2026-09):普通用户用自己的 sk- API Key 即可,无需管理员
- 接口:`GET {实例基址}/v1/usage`,请求头 `Authorization: Bearer <你的 sk-… API Key>`
- 返回:`remaining` / `balance`(剩余余额)、`unit`(如 USD)、`usage.total.cost`(累计花费)、
`model_stats[]`(分模型)、`daily_usage[]`(按日)。
- RainyToken 填:实例地址 + 你账号的 `sk-…` Key(推荐);无 Key 可用面板账号邮箱+密码登录(/api/v1/auth/login → Bearer token)。
- 兜底:`/v1/usage` 404 时自动尝试 `/api/v1/usage`。
---
## 留下什么
- 你在下一条消息里按上面任一项贴出凭据(可先只给一个供应商);我会:
1. 直接用 curl 验证官方接口的**真实响应结构**;
2. 对照校准我方仓库的字段解析(`TraeRepository` / `WorkBuddyRepository` / `Sub2ApiRepository`);
3. 在你提供后**当场删除**,不落入任何文件。