WeRead Reading Recommender
Overview
This is a local-first skill for exporting 微信读书 (WeRead) records from a cookie stored on the user's machine, normalizing those records into a recommendation-friendly JSON file, and using that data to analyze reading preferences or recommend what to read next.
Use this skill when the user wants to:
- - 根据微信读书记录推荐书
- 分析自己的阅读偏好或阅读画像
- 结合“最近想学的主题”与微信读书历史一起做推荐
- 导出、刷新、归一化本地微信读书数据
Trigger Cases
Activate this skill for requests like:
- - “根据我的微信读书记录推荐书”
- “分析我的阅读偏好”
- “我最近想系统学 AI Agent,结合微信读书记录推荐 5 本书”
- “帮我导出 / 刷新 / 归一化微信读书数据”
- “基于我的阅读历史,推荐下一本最适合现在读的书”
- “分析我的阅读偏好,并给我 3 本稳妥推荐 + 2 本探索推荐”
Workflow
Follow this sequence:
- 1. Check whether a normalized JSON file already exists.
- If normalized data is missing, or the user explicitly wants fresh data, check whether a local WeRead cookie is already available.
- Look for a local cookie source in this order:
- a cookie file path explicitly provided by the user
-
WEREAD_COOKIE
- another env var name passed through
--env-var
- 4. If no local cookie source exists, ask the user to set one locally and stop there. Do not tell the user to edit
SKILL.md. - If a local cookie source exists, run the export script.
- Run the normalize script on the raw export.
- Read the normalized JSON and identify strong signals:
- high-engagement books
- recent books
- unfinished books with momentum
- repeated categories or lists
- 8. If the user provides a current goal, weight goal fit first.
- If the user does not provide a goal, produce a reading-profile summary plus safe and exploratory recommendations.
Recommendation Guidance
When the user provides a current goal, weight approximately:
- - 60% goal fit
- 40% history fit
When the user provides no goal, weight approximately:
- - 70% history fit
- 20% recency
- 10% exploration/diversity
For each recommendation, explain:
- - why it fits the user's current goal or history
- which past books it resembles
- what gap it fills
- whether it is a safe pick or an exploration pick
- whether it is a good fit right now
Suggested response structure:
- - 阅读画像 / Reading profile
- 推荐结果 / Recommendations
- 为什么适合现在 / Why now
- 暂缓推荐 / Skip for now (optional)
Local Data Workflow
1. Check local cookie availability first
Before asking the user to set anything, first check whether a local cookie is already available through:
- - a cookie file path the user provided
- INLINECODE3
- another env var name passed through INLINECODE4
If none of these exist, ask the user to set the cookie locally, then continue.
2. Export raw WeRead data
If a local cookie is already available, export directly:
CODEBLOCK0
Optional variants:
CODEBLOCK1
If the user does need to set one manually, keep it local. For example:
CODEBLOCK2
3. Normalize the raw export
CODEBLOCK3
4. Use the normalized file for recommendation turns
After normalization, this skill should reason primarily from the normalized JSON, not from a live cookie session, unless the user explicitly asks for a refresh.
Security Boundary
This skill is local-first. Enforce these rules:
- - Cookie is for local use only.
- Never write the cookie into
SKILL.md, scripts, assets, logs, or exported JSON. - Never echo the cookie back in responses.
- Prefer checking existing local cookie sources before asking the user to set one again.
- Do not rely on CookieCloud or any third-party cookie sync service by default.
- Do not suggest remote cookie hosting as the normal path.
- Recommendation work should use the normalized JSON whenever possible.
Files
Use these project files as the main references:
- - INLINECODE6
- INLINECODE7
- INLINECODE8
- INLINECODE9
- INLINECODE10
- INLINECODE11
- INLINECODE12
Example Requests
- - 结合我的微信读书记录,我最近想系统学 AI Agent,推荐 5 本书
- 基于我的阅读历史,推荐下一本最适合现在读的书
- 分析我的阅读偏好,并给我 3 本稳妥推荐 + 2 本探索推荐
- 帮我刷新微信读书数据,然后按最近在读主题推荐下一批书
WeRead 阅读推荐器
概述
这是一个本地优先的技能,用于从用户机器上存储的 cookie 中导出 微信读书 (WeRead) 记录,将这些记录归一化为便于推荐的 JSON 文件,并利用这些数据分析阅读偏好或推荐下一步阅读内容。
当用户想要以下操作时使用此技能:
- - 根据微信读书记录推荐书籍
- 分析自己的阅读偏好或阅读画像
- 结合最近想学的主题与微信读书历史一起做推荐
- 导出、刷新、归一化本地微信读书数据
触发场景
针对以下请求激活此技能:
- - 根据我的微信读书记录推荐书
- 分析我的阅读偏好
- 我最近想系统学 AI Agent,结合微信读书记录推荐 5 本书
- 帮我导出 / 刷新 / 归一化微信读书数据
- 基于我的阅读历史,推荐下一本最适合现在读的书
- 分析我的阅读偏好,并给我 3 本稳妥推荐 + 2 本探索推荐
工作流程
按以下顺序执行:
- 1. 检查归一化 JSON 文件是否已存在。
- 如果归一化数据缺失,或用户明确要求获取新数据,检查本地 WeRead cookie 是否可用。
- 按以下顺序查找本地 cookie 来源:
- 用户明确提供的 cookie 文件路径
- WEREAD_COOKIE
- 通过 --env-var 传入的其他环境变量名
- 4. 如果没有本地 cookie 来源,要求用户在本地设置一个并停止。不要告诉用户编辑 SKILL.md。
- 如果存在本地 cookie 来源,运行导出脚本。
- 对原始导出数据运行归一化脚本。
- 读取归一化 JSON 并识别强信号:
- 高参与度书籍
- 近期阅读书籍
- 有阅读动力的未完成书籍
- 重复出现的类别或书单
- 8. 如果用户提供了当前目标,优先考虑目标匹配度。
- 如果用户未提供目标,生成阅读画像摘要以及稳妥推荐和探索推荐。
推荐指南
当用户提供当前目标时,权重分配约为:
当用户未提供目标时,权重分配约为:
- - 70% 历史匹配度
- 20% 近期阅读
- 10% 探索/多样性
对于每条推荐,解释:
- - 为什么适合用户的当前目标或历史记录
- 与哪些过往书籍相似
- 填补了什么空白
- 是稳妥推荐还是探索推荐
- 当前是否适合阅读
建议的回复结构:
- - 阅读画像 / Reading profile
- 推荐结果 / Recommendations
- 为什么适合现在 / Why now
- 暂缓推荐 / Skip for now(可选)
本地数据工作流程
1. 首先检查本地 cookie 可用性
在要求用户设置任何内容之前,先检查本地 cookie 是否已通过以下方式可用:
- - 用户提供的 cookie 文件路径
- WEREAD_COOKIE
- 通过 --env-var 传入的其他环境变量名
如果这些都不存在,要求用户在本地设置 cookie,然后继续。
2. 导出原始 WeRead 数据
如果本地 cookie 已可用,直接导出:
bash
python3 scripts/export_weread.py --out data/weread-raw.json
可选变体:
bash
python3 scripts/export_weread.py --cookie-file ~/.config/weread.cookie --out data/weread-raw.json
python3 scripts/exportweread.py --env-var WEREADCOOKIE --include-book-info --detail-limit 50 --out data/weread-raw.json
如果用户确实需要手动设置,请保持本地化。例如:
bash
export WEREADCOOKIE=wrskey=...; wr_vid=...; ...
3. 归一化原始导出数据
bash
python3 scripts/normalize_weread.py --input data/weread-raw.json --output data/weread-normalized.json
4. 使用归一化文件进行推荐轮次
归一化后,此技能应主要基于归一化 JSON 进行推理,而不是基于实时 cookie 会话,除非用户明确要求刷新。
安全边界
此技能是本地优先的。强制执行以下规则:
- - Cookie 仅供本地使用。
- 切勿将 cookie 写入 SKILL.md、脚本、资源文件、日志或导出的 JSON 中。
- 切勿在回复中回显 cookie。
- 在要求用户再次设置 cookie 之前,优先检查现有的本地 cookie 来源。
- 默认不依赖 CookieCloud 或任何第三方 cookie 同步服务。
- 不建议将远程 cookie 托管作为常规路径。
- 推荐工作应尽可能使用归一化 JSON。
文件
使用以下项目文件作为主要参考:
- - scripts/exportweread.py
- scripts/normalizeweread.py
- references/data-schema.md
- references/privacy-model.md
- references/recommendation-rubric.md
- assets/sample-weread-raw.json
- assets/sample-weread-normalized.json
示例请求
- - 结合我的微信读书记录,我最近想系统学 AI Agent,推荐 5 本书
- 基于我的阅读历史,推荐下一本最适合现在读的书
- 分析我的阅读偏好,并给我 3 本稳妥推荐 + 2 本探索推荐
- 帮我刷新微信读书数据,然后按最近在读主题推荐下一批书