微信读书人格画像
把收藏、实际阅读和笔记作为不同强度的行为证据,先核对数据,再形成画像。默认使用中文输出。
前置依赖
- 依赖腾讯官方微信读书 Skill。若当前环境没有
weread-skills,提示用户执行npx skills add Tencent/WeChatReading -g,完成后重新启动当前 Agent 宿主;不要自行仿造接口或改用非官方数据源。 - 使用前必须完整阅读官方
weread-skills的SKILL.md,再按任务读取其中的shelf.md、readdata.md和notes.md。以官方 Skill 的当前接口、分页、计数与字段解释为准,不在本技能中猜测字段含义。 - 到达 SVG 人格卡步骤时,完整阅读 references/visual-card.md,并使用本技能自带的确定性 SVG 渲染脚本。禁止检查、读取或调用
imagegen等模型生图工具或技能。 - 到达文本交付步骤时,完整阅读并严格遵循 references/output-template.md。不得自由增减章节或把九项内容压缩成摘要。
- 不得显示、记录或写入
WEREAD_API_KEY。先从当前进程环境读取;若用户已设置但当前进程未继承,按当前操作系统和运行环境检查可用的持久环境变量来源,仍未找到时再提示用户配置或重启运行环境。不要假设一定运行在 Windows。
任务分流
- 基础画像:完成全部数据采集和证据分级,输出人格与兴趣偏好,再生成本地 SVG 人格卡。
- 进一步发现:重点寻找收藏与投入、长期与近期、情感与理性之间的反差,更新文本画像后重新生成 SVG 人格卡。
- MBTI 式画像:在基础画像之后给出四维倾向和原创人格原型;明确它不是正式 MBTI 测试,再生成包含可靠维度数据的 SVG 人格卡。
- 自定义人格卡:先完成本轮文本画像,再按用户指定的配色、文案或布局生成本地 SVG;用户提供图片时仅把它作为风格参考,不编辑原图,也不发送给生图模型。
工作流
1. 采集互相独立的三类证据
调用微信读书接口获取:
- 实际投入:
/readdata/detail的overall、当前annually;需要判断最近变化时再查monthly。 - 潜在兴趣:
/shelf/sync的书籍、专辑、文章收藏入口、分类、完成状态和最近阅读时间。 - 深层关注:完整分页读取
/user/notebooks,按reviewCount + noteCount + bookmarkCount计算每本书的统计笔记数。
检查每个回包的 upgrade_info。一旦存在,立即按微信读书技能的升级提示处理,不要继续使用旧版解释。
2. 深挖代表性笔记
不要只根据书名推断人格。
- 选择笔记数最高的 5–8 本书,同时覆盖不同主题簇。
- 对选中的书调用
/book/bookmarklist获取划线,并调用/review/list/mine获取个人想法和点评;完整处理分页。 - 提取反复出现的命题、决策规则、价值判断和跨书联系。
- 区分“作者原文被收藏”和“用户亲自写下的观点”。原创想法权重大于单次划线;多本书重复关注的命题权重大于孤立划线。
3. 计算关键指标
至少核对以下指标:
- 书架可见条目数:按微信读书技能规定计算电子书、专辑/有声书与文章收藏入口。
- 长期与当年阅读时长、有效阅读天数、读过和读完数量。
- 书架大类数量与实际阅读大类时长,比较“收藏身份”和“真实投入”。
- 当前年度笔记占全部笔记的比例。
- 笔记集中度:前 2 本、前 5 本笔记占比。
- 主要主题的阅读时长、书本数、完成率与最近活跃时间。
- 划线、个人想法和书签的构成,判断用户偏向采集、评论还是系统输出。
阅读时长统一从秒转换为“X小时Y分钟”;时间戳统一转换为 YYYY-MM-DD。
4. 形成证据分级画像
读取 references/analysis-framework.md,按其中的证据层级和推断边界组织结论。
优先寻找:
- 用户反复试图解决的核心问题;
- 不同领域背后的共同认知模式;
- 书架偏好与实际投入之间的差异;
- 长期兴趣与当前阶段需求之间的变化;
- 关系、自主、安全感、财富、工作和社会结构之间的关联;
- 阅读中的优势、盲点和下一步可转化方向。
不得根据阅读数据作临床诊断,不得把夜读直接等同于内向,也不得把单本书当作稳定人格证据。
同时为 editorial 卡片形成五个 1–5 级的视觉轴:structure(结构取向)、receptivity(感受容纳)、boundary(边界意识)、agency(行动收束)、exploration(探索广度)。完整读取 references/analysis-framework.md 中的视觉编码规则;这些是阅读行为的序位等级,不是心理测评分数。
每个非中性等级至少需要两类独立证据。证据不足时使用 3 级中性值;只有跨书重复命题、原创想法和实际投入形成一致方向时才使用 1 或 5。不得为了让图形更特别而夸大等级。
5. 写完整文本画像
完整阅读 references/output-template.md,把原有九项分析内容重组为固定五章,不减少信息:
- 你是谁:承载一句话核心画像、2–4 个核心人格特征及其证据,并吸收兴趣偏好、阅读习惯和认知方式。
- 你真正想要什么:承载核心需求,以及收藏与投入、长期与近期、情感与理性或输入与输出的反差和阶段变化。
- 你如何与世界相处:承载人际关系中的互动方式与边界,以及风险、成本、时间、不确定性和可控变量构成的决策风格。
- 你的光与影:承载可验证的优势,以及这些优势过度使用时可能形成的盲点、张力或代价。
- 最终画像:用原创中文人格原型名称整合长期底色、当前议题、核心需求和主要张力。
每章用一句加粗的明确判断开头,再进入解释与证据;不要标注“金句”或“核心洞察”。通常写 2200–3200 个中文字符,证据丰富时允许更长,不得为移动端阅读强行删减可靠内容。使用短段落、清晰小标题和有节制的证据列表改善阅读节奏。
保留书名、阅读主题、时间变化、笔记分布和必要统计。私人想法默认转述,不直接摘录原话。先写结论,再写证据;事实使用确定句,推测标为“较谨慎地推测”“可能”或具体置信度。
文风保持温和、锋利、有证据、略带文学感。禁止使用“不是……而是……”“表面……深层……”“你以为……其实……”等套话;避免连续排比、频繁反问、强行反转、空泛赞美和营销式结尾。
6. 输出 MBTI 式画像
- 使用
I/E、N/S、T/F、J/P作为叙事坐标,而不是测评结论。 - 证据不足的维度使用
X,不要为了凑四个字母强行定型。 - 给出每一维的倾向百分比和行为依据。
- 允许给出一个主要候选和一个邻近候选,例如
INTJ × INFJ。 - 创建一个原创中文人格原型名称,如“清醒的系统型共情者”。
- 必须注明“这是基于阅读行为的暂定画像,不是正式 MBTI 测试或完整人格评估”。
7. 生成分享版 SVG 人格卡
- 每次完成或更新文本画像后都执行本步骤;SVG 人格卡是默认交付物,不是可选分支或失败回退。
- 分享版只有这一张卡片,不包括后续长文。卡片只保留短类型标签、原创人格名称、最多两行共四个核心特征、一句话核心画像、最多三个文字标签和极轻的生成来源。不得加入书名、阅读时长、笔记数、占比、证据说明、用户昵称、头像或真实姓名;用户明确要求时才加入昵称。
- 非 MBTI 卡片的文字标签优先从核心特征、核心需求、决策风格或优势中提取。只有用户明确要求 MBTI 式画像且证据足够时才用四维百分比替代文字标签。不得为了卡片完整补造类型、标签或维度。
- 完整阅读并遵循 references/visual-card.md,然后运行
scripts/render_personality_card.py。默认生成一个editorial风格成品,并把五个有证据的视觉轴全部通过--visual-axis传入;不得依赖脚本中性默认值生成正式卡片。用户要求比较风格时才对同一份文案分别生成polygon与editorial两个候选。整个过程只使用本地 Python 标准库,不调用模型、图像生成工具或第三方网络服务。 - 优先把文件写入当前工作区的
outputs/weread-personality-card-YYYY-MM-DD.svg;若该路径不可写,使用可写的临时输出目录并返回实际路径。 - 生成后检查文件存在、非空、可解析为 SVG,并确认类型标签、人格名称、特质、一句话画像、文字标签和来源均完整显示;没有维度条时不得留下大块无信息区域。
- 检查 SVG 的
<metadata id="visual-axes">是否包含五个视觉轴。使用至少一组不同轴值重新生成测试卡,确认人物轮廓、外环、内部开口、前倾方向和探索节点确实发生变化。 - 若宿主没有执行脚本或写文件的能力,输出一份完整、可保存为
.svg的 SVG 源码,并明确这是宿主执行能力限制下的最后回退。
- 默认使用成熟的低多边形成人角色信息卡,不使用大眼、三头身或日漫萌系人物。
- 用户提供参考图时,只借鉴配色、几何化程度与信息层级,不复制品牌角色、网格、文案或标识。
- 图中文字保持精炼且逐字确定。优先保留短类型标签、人格名称、最多两行特质、一句话核心画像和最多三个画像文字标签;禁止把统计数据作为标签。
editorial人物的棱角、开口、外环、前倾和周围节点必须分别由结构取向、感受容纳、边界意识、行动收束和探索广度控制。同一组内容与轴值必须稳定复现;画像文本种子只能制造微小坐标差异,不能改变轴的语义方向。- 禁止为本步骤查找或使用任何模型生图能力,即使当前环境提供该能力。
8. 保存并交付 Markdown 报告
- 完整阅读 references/output-template.md,把第 5 步的完整画像写入与 SVG 同一目录的
.md文件。 - Markdown 与 SVG 使用同一文件名前缀;在 Markdown 标题后立即用
./文件名.svg相对路径嵌入卡片,确保整个目录移动后仍能显示。 - 运行
scripts/lint_profile_report.py --report <Markdown 路径> --card <SVG 路径>。修复所有错误后再交付;警告也要人工复核。 - 在对话中先用绝对路径展示 SVG 卡片,再给出完整解读,并分别提供
.svg与.md的可点击链接。不要把长文称为分享版。
异常处理
- 密钥缺失:提示用户在本机设置
WEREAD_API_KEY,不要让用户把密钥发到聊天里。 - 已设置但进程未继承:先识别当前操作系统和运行方式,再检查该环境支持的用户级、系统级、shell 配置或应用启动环境;始终不显示密钥值,仍无效时提示从已导出变量的环境重启 Codex 或当前代理宿主。
- 笔记很少或为空:仍可根据实际阅读和书架输出,但明确降低人格推断置信度。
- 只有书架数据:只能描述潜在兴趣,不得写成真实投入或稳定人格。
- 本地脚本失败:报告具体错误;能安全修复时修复后重试一次,不能写文件时输出完整 SVG 源码。禁止切换到模型生图或第三方服务。
资源
- references/analysis-framework.md:证据权重、推断边界、跨域模式和输出检查表。
- references/visual-card.md:本地 SVG 人格信息卡的视觉与字段规范。
- references/output-template.md:固定五章结构、九项内容映射、文风约束与 Markdown 嵌图规则。
scripts/render_personality_card.py:无需网络和第三方 Python 包的确定性 SVG 人格卡渲染器。scripts/lint_profile_report.py:检查 Markdown 结构、相对路径卡片、禁用套话和基本内容完整性。
微信扫一扫