tree-forge-paylisted
Install: claude install-skill Mao-jh/tree-forge
# 项目目录树与体积统计(一次付费 7 天不限次)
一次导出:结构树 + 类型占比 + 大文件清单。
本 Skill 分两段:**先免费看摘要**(只读,不写任何文件),**再取授权真出报告**(在你本机完成,不联网)。
> **为什么需要授权**:生成并落盘报告需要一份由服务方签发的凭证。
> 授权**在你本机离线校验**,但**没有有效授权就不写出文件**——这是服务的一部分,不是限制。
---
## 第 0 步 · 先看摘要(免费)
```bash
python scripts/treeforge.py scan .
python scripts/treeforge.py scan D:/projects/myapp --depth 3
```
输出:总体积、文件数、子目录数、已排除项、按类型 Top10、最大 10 个文件。
| 子命令 | 作用 | 参数 |
|---|---|---|
| `scan` | 只读摘要 | `--depth N` · `--ignore a,b` · `--no-default-ignore` |
| `export` | 导出报告 | `--out <文件>` · `--format md\|csv\|json` · `--top N` |
默认排除:`.git` `.svn` `node_modules` `__pycache__` `.venv` `venv` `.idea` `.vscode`
`dist` `build` `.next` `.cache` `target` `bin` `obj` 等。
**没给 `--apply` 时,什么文件都不会被写出。**
## 第 1 步 · 请求授权(未付费会返回 402)
```
POST https://skills-gate.airpriv.com/api/tree-forge-license
Content-Type: application/json
{"machine_fp":"<本机指纹串,8–128 位,可省略>"}
```
首次调用一定拿到 `402 Payment Required`(设计如此)。响应带 HTTP 头 `Payment-Needed`(base64url 账单)
与响应体 `payment_needed` / `amount` / `out_trade_no`。
本机指纹:`python scripts/license_check.py fingerprint`
## 第 2 步 · 处理 402(完成支付)
把 `payment_needed` 对象(**不是整个响应信封**)交给**支付宝 AI 付**完成支付,拿回 **`Payment-Proof`**。
**不要自己伪造** —— 服务端会拿它去支付宝网关做真实校验。
## 第 3 步 · 携凭证重试(拿到授权凭证)
同一请求加上头 `Payment-Proof: <凭证>` 重发,成功返回 `200`,
`content.data.license` = 授权凭证(存成 `license.json`)。
**一次付费 = 一份授权 = 7 天有效**,期间反复导出**不需要再付费**。
## 第 4 步 · 校验授权并导出(离线)
```bash
python scripts/license_check.py check license.json --fingerprint "<与第 2 步相同的值>"
echo $?