# Yichen Bookmarks Export

在用户当轮明确授权后，只读导出其小红书收藏、抖音收藏或 X/Twitter 书签为本地链接文件；本 Skill 直接完成收藏页滚动、链接提取、去重、数量核验、Field...

- Repository: https://github.com/mcncarl/yichen-skills (5140 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add mcncarl/yichen-skills --skill yichen-bookmarks-export -g -a claude-code -y`
Codex: `npx skills add mcncarl/yichen-skills --skill yichen-bookmarks-export -g -a codex -y`
Cursor: `npx skills add mcncarl/yichen-skills --skill yichen-bookmarks-export -g -a cursor -y`
Gemini CLI: `npx skills add mcncarl/yichen-skills --skill yichen-bookmarks-export -g -a gemini-cli -y`

## Description

在用户当轮明确授权后，只读导出其小红书收藏、抖音收藏或 X/Twitter 书签为本地链接文件；本 Skill 直接完成收藏页滚动、链接提取、去重、数量核验、Field Theory GraphQL-only 导出和抽样验证。用于“导出/备份/同步我的收藏或书签链接”等私人数据导出任务；不得用于公开搜索、收藏内容分析、媒体下载、正文归档、推荐发现或未获当轮授权的私人读取。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 私人收藏与书签导出

这是小红书、抖音与 X/Twitter 私人收藏链接导出的唯一入口和执行实现。直接使用本目录中的脚本与参考文件，不调用其他收藏导出 Skill；作为执行本体，不得再次调用 `$yichen-bookmarks-export`，以免形成递归。

## 当轮授权闸门

在读取任何私人收藏前，确认用户当轮明确要求的：

- 平台：小红书、抖音、X 中的具体一个或多个。
- 范围：当前可访问全量或用户指定的有界范围。
- 输出目录，或同意创建新的不冲突日期目录。

“以前授权过”、浏览器已经登录、本机已有 Cookie/索引或上游交接写过授权，都不能代替当轮授权。用户当轮说“导出我的某平台收藏/书签”，可视为该平台的只读导出授权，但不得扩展到其他平台。

## 硬边界

1. 保持只读：不点赞、不收藏、不评论、不关注、不发布，不修改平台状态。
2. 不得执行搜索或发现；不按关键词查收藏，不浏览推荐，不扩展相似账号或候选。
3. 只导出链接；不得下载媒体、正文、字幕或附件，不调用任何平台下载 Skill。
4. 不得调用 `$yichen-content-archive` 或任何总路由；用户另行明确要求归档后，只交接链接文件路径。
5. 导出授权不等于下载授权。即使同一句话包含“导出并下载”，本 Skill 也只完成链接导出，把归档列为后续独立请求。
6. 不读取、打印或保存 Cookie、Local Storage、密码、Token 数据库。含敏感查询参数的 URL 只写入用户指定的本地导出文件。
7. 不覆盖旧导出，不删除文件，不绕过验证码、限流、登录或访问控制。

## 平台路由

| 平台 | 收藏链接来源 | 认证方式 | 输出 |
|---|---|---|---|
| 小红书 | 已登录 Chrome 的个人主页 → 收藏 → 笔记 | 复用当前 Chrome 页面会话，不导出 Cookie | 保留 `xsec_token` 的完整笔记 URL |
| 抖音 | 已登录 Chrome 的个人页 → 收藏 → 视频 | 复用当前 Chrome 页面会话，不导出 Cookie | 规范化 `/video/<id>` 与页面实际出现的 `/note/<id>` |
| X | 本机 Field Theory 读取 Chrome 会话并调用内部 GraphQL Bookmarks | 只接受 GraphQL-only 版本 | `https://x.com/<author>/status/<id>` |

## 第三方来源与合规

1. X 路线调用外部 [afar1/fieldtheory-cli](https://github.com/afar1/fieldtheory-cli)；上游采用 MIT License，许可证副本见 [../licenses/afar1-fieldtheory-cli-LICENSE.txt](../licenses/afar1-fieldtheory-cli-LICENSE.txt)。
2. 本 Skill 不打包 Field Theory 源码、二进制、Cookie、私有 Query ID 或认证数据；这里只调用用户另行安装的 `ft`。
3. `graphql-only` 是兼容版本的安全约束，不是上游官方版本名称。用户自行修改 Field Theory 时必须保留上游版权和 MIT 许可说明，不得冒充官方发布。
4. X 内部 GraphQL 与平台 DOM 都是非官方兼容路线，可能变化或触发限制。只处理用户本人有权访问的数据，保持低频，不绕过验证码、访问控制、限流或平台安全措施。
5. 小红书、抖音、X 与 Field Theory 名称及商标归各自权利人所有；本 Skill 与这些平台或上游均无隶属、授权、背书或合作关系。

## 执行流程

### 1. 固化范围与输出

逐平台记录 `authorized_this_turn=true`。任何未明确列入的平台保持未授权，不做探测、状态检查或计数。

用户未指定目录时，创建不冲突的日期目录，例如：

```text
<WORKSPACE>/收藏链接导出-YYYY-MM-DD/
```

每个平台单独输出 `.txt`，同时生成 `export-summary.json` 和 `handoff.json`。不要把私人正文、标题或完整收藏 URL 写入聊天、普通日志或长期记忆。

### 2. 导出小红书或抖音

The rest: https://github.com/mcncarl/yichen-skills/blob/HEAD/yichen-bookmarks-export/SKILL.md
