Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

douban-ai

把你的豆瓣喂给 AI。 把豆瓣的书影音记录导出到本地,然后让 AI 读懂你的文化偏好,回答关于"你是谁"的问题。

一个 Claude Code Skill

为什么做这个

很多老豆瓣用户攒了十年以上的书/影/音标记 —— 这是你手上信噪比最高的个人数据集之一。现有的导出工具要么是浏览器扩展(数据锁在扩展里),要么是一次性脚本(数据锁在一个 CSV 里,永远没有 AI 读过)。

这个项目把这份数据直接接进 AI Agent。 一次性导入之后,你可以问 Claude Code(或任何支持 skill 的 Agent):

  • "我 2015 年读的那些书里,哪些塑造了我现在的思维方式?"
  • "有哪些书在我的想读列表里挂了 5 年以上?"
  • "根据我打过 5 星的电影,我可能会喜欢什么新类型?"
  • "对比一下我 2013 年和 2023 年的品味。"

30 秒上手(Claude Code)

git clone https://github.com/imfangs/douban-ai.git
cp -r douban-ai/skill ~/.claude/skills/douban

重启 Claude Code,然后在新 session 里输入:

/douban

Claude 会引导你完成 Cookie 设置、跑导出脚本、生成你的画像摘要。

首次 Cookie 设置: 详见 skill/references/cookie-guide.md。简版:

mkdir -p ~/.douban-export
# 用你顺手的编辑器把浏览器 F12 复制的 Cookie 粘进去:
open -e ~/.douban-export/cookie.txt
chmod 600 ~/.douban-export/cookie.txt

30 秒上手(不用 Claude Code)

三个脚本都是独立的 Python 3,能单独跑:

cd douban-ai/skill
pip install requests beautifulsoup4

python3 scripts/export.py <你的豆瓣用户 ID>
python3 scripts/profile.py <你的豆瓣用户 ID>
python3 scripts/query.py <你的豆瓣用户 ID> five-star --category movie --limit 20

数据全部落在 ~/Documents/DoubanExport/<user>/

目录结构

douban-ai/
├── skill/                 ← Claude Code skill 本体(可以整个 cp 出去用)
│   ├── SKILL.md            Claude 加载的主入口
│   ├── scripts/            export.py · profile.py · query.py
│   ├── references/         cookie-guide.md · privacy.md · data-schema.md
│   └── README.md
├── README.md               ← 本文件
└── LICENSE                 MIT

设计原则

  • 选择 > 文本。 大多数豆瓣用户几乎不写短评 —— 他们的品味信号在"选了什么标记"里,不在评论文本里。不要构建假设"用户评论丰富"的工具。
  • 想读 = 理想中的自己。 "想读"和"已读"之间的落差,是你能拿到的最强品味信号之一。它揭示了用户理想化的自己活在哪里。
  • 5 星 ≠ 10 分制的 5。 对多数豆瓣用户来说,5 星是"这个我要留在人生里"的认证,不是数字评分。把 5 星列表当作私人经典看待,而不是"评分前 10%"。
  • 数据永不离开本机。 全部本地处理。Cookie 存在 ~/.douban-export/,导出数据存在 ~/Documents/DoubanExport/。详见 skill/references/privacy.md
  • 组合小查询。 AI Agent 应该用多次小查询(five-starby-yearwishlistsearch)拼出答案,而不是把整个 CSV 吞进上下文。query.py 就是为这个用法设计的。

数据流动

豆瓣服务器  ←──(带 Cookie 的 GET 请求,2-4 秒/页)──  你的机器
                                                       │
                                                       ├─→ ~/Documents/DoubanExport/<user>/
                                                       │       *.csv · *.json · *.md · manifest.json
                                                       │
                                                       └─→ Claude Code / 其他 AI
                                                             (通过 query.py 按需读取,不吞整表)

除了豆瓣自己,这个 skill 不会向任何服务器发数据。无遥测,无 phone-home,无第三方分析。

Roadmap

  • 抓完整长评(当前只有 140 字预览)
  • 抓用户在标记时打的自定义 tag
  • 可选的 MCP server 包装(让非 Claude Code 的 Agent 也能消费这份数据)
  • NeoDB 导入路径(给已经迁移出豆瓣的用户)
  • 豆瓣 FM 红心(当前只能走 Android ADB,参见 yunhaiming1542/douban-fm-redheart-export

致谢

抓取逻辑参考了几个前人的开源项目:

本项目的贡献在于:把抓取能力打包成一个 Claude Code 原生 Agent Skill,加了 profile.py(生成 AI 可读的画像摘要)和 query.py(组合小查询而非上下文倾泻)。

License

MIT

About

Claude Code skill: export your Douban book/movie/music to local files, then let AI answer questions about your taste.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages