## 诊断流程样例 ### 输入 ```bash crawl-hub doctor getnote-url 'https://xhslink.com/xxxx' ``` ### Step 1:账号与 OpenAPI 权限 | 检查项 | 成功信号 | 失败信号 | 处理 | |---|---|---|---| | `getnote auth status` | 已登录,能拿到当前账号状态 | 未登录或 token 失效 | 引导重新登录 | | `quota` / `kbs` / `search` | 均返回正常数据 | `403 / code 10201 / not_member` | 判定账号没有 OpenAPI 会员权限,停止 URL 抓取重试 | | 临时笔记 create/read/delete | 可创建、读回、删除 | create 成功但 read 失败 | 记录 note_id 与 API 返回体,进入接口层排查 | ### Step 2:URL 路由 | URL 类型 | 预期 provider | 关键检查 | |---|---|---| | B站 | `getnote-url` | 普通 URL 可 save,异步等待后能回读视频笔记 | | 公众号 | `getnote-url` | dry-run 能识别并走 Get笔记底层能力 | | 小宇宙 | `getnote-url` | dry-run 能自动路由 | | 小红书短链 `xhslink.com` | `getnote-url` | 短链解析等待可被识别,不重复提交 | ### Step 3:异步等待与回读 1. 第一次 save 后记录返回体里的 `id` 和 `note_id`。 2. 后续统一使用字符串型 `note_id` 查询。 3. 如果平台提示仍在处理,按固定间隔轮询 task 或最近笔记。 4. 超时后先查最近笔记确认是否已创建,避免重复写入。 ### 结果示例 ```text PASS auth: logged in PASS openapi: quota/kbs/search ok PASS route: xhslink.com -> getnote-url WAIT save: short link still processing PASS note: note_id=1910122117177947056, content readable ``` 失败时应输出明确归因,例如: ```text FAIL openapi: 403 code=10201 reason=not_member 建议:账号需要开通 Get笔记 OpenAPI 会员权限;当前不是 CLI 登录问题,也不是 crawl hub provider 问题。 ```