78 lines
4.6 KiB
Markdown
78 lines
4.6 KiB
Markdown
# 实测凭据提取指南(仅用于功能验证,绝不写入代码/提交)
|
||
|
||
> 目标:为 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. 在你提供后**当场删除**,不落入任何文件。
|