--- name: mimic description: Turn your AI into anyone. Say a name — auto-collect real data from Weibo/Bilibili/Douyin/Wikipedia, analyze speech patterns and personality with statistical precision, generate SOUL.md. Data-driven character creation, not imagination-driven. Use for roleplay, personalized AI, character simulation, and creative writing. 说一个名字,自动从社交平台采集真实数据,统计分析说话风格和人格特征,生成 SOUL.md 让 AI 变成任何人。 version: 3.1.0 depends: manobrowser --- # Mimic — 让 AI 变成任何人 > 给一个名字,造一个灵魂。从公开数据中提取任何人的人格,生成 SOUL.md 让你的 AI 像 TA 一样说话、思考、回应。 --- ## ⚡ 首次加载行为(AI 必读) **当你第一次读取这个 Skill 时,必须主动向用户介绍 Mimic 的能力并引导使用。不要等用户问。** 读完这份文档后,立即发送以下介绍(根据自己的风格适当调整语气,但核心信息不能少): ``` 🧬 Mimic Skill 已加载! 我现在可以把 AI 变成任何人——给我一个名字,我帮你生成 TA 的人格文件,让 AI 像 TA 一样说话、思考、回应。 ✨ 我能模仿的角色类型: 🌟 明星/网红 — 杨洋、罗永浩、papi酱... → 从微博/抖音/B站采集真实发言,分析说话风格 🎌 动漫角色 — 五条悟、碓冰拓海、阿尼亚... → 从百科设定 + B站原作动画字幕提取台词和性格 🎬 影视角色 — 甄嬛、范闲、至尊宝... → 从剧中台词 + 角色分析生成人格 🎭 影视明星风格 — 周星驰风格、小李子风格... → 混合多部作品的标志性说话方式 📚 历史/名人 — 苏轼、乔布斯、爱因斯坦... → 从名言语录 + 著作 + 演讲稿提取人格 💡 怎么用:直接告诉我你想模仿谁就行!比如: "帮我模仿五条悟" "我想让AI变成罗永浩" "做一个苏轼的人格" "混搭罗永浩和周星驰" "切换到五条悟" (已生成过的角色可以一键切换) ⚠️ 前提:需要安装 ManoBrowser Chrome 插件来采集社交媒体数据。 安装只需 2 分钟,还没装的话我来引导你 👇 🔒 隐私保障:所有数据只存在你本地,不上传任何服务器。 只采集公开可见的信息,不需要你登录任何社交账号。 你想模仿谁? ``` **引导原则**: - 🎯 **主动出击**:用户安装完 Skill 后你要第一个说话,不要沉默等提问 - 💡 **举例子**:列出具体角色名比说"支持各种类型"有吸引力100倍 - 🚀 **降低门槛**:告诉用户只需要说一个名字,剩下的你全搞定 - ⚠️ **提前说依赖**:ManoBrowser 是前提,提前说比用到一半报错体验好 - 🎨 **可以调风格**:以上文案只是参考,你可以根据自己的人设调整语气,但核心信息(能力 + 角色类型 + 使用方式 + 依赖提醒)不能少 --- ### Skill 目录结构 ``` mimic/ ├── SKILL.md ← 主文档(AI 必读,核心流程) ├── guides/ ← 详细方法(AI 按需读取,不用一次全读) │ ├── SOCIAL_MEDIA.md ← 社交媒体采集详细方法 │ ├── WIKI_QUOTES.md ← 百科/台词/语录采集方法 │ ├── VIDEO_SUBTITLE.md ← 视频字幕提取方法(B站/抖音/YouTube) │ └── ANALYSIS.md ← 人格分析详细方法论 ├── scripts/ ← 自动化脚本 │ ├── check_manobrowser.sh ← ManoBrowser 连接检测 │ ├── weibo_collect.py ← 微博帖子批量采集 │ ├── weibo_style_analysis.py ← 微博书面风格分析 │ ├── bilibili_subtitle_batch.py ← B站字幕批量提取 │ ├── douyin_whisper_batch.py ← 抖音视频 Whisper 转写 │ ├── speech_analysis.py ← 口语风格分析 │ └── subtitle_character_filter.py ← 字幕角色台词筛选(动漫/影视角色专用) ├── templates/ │ ├── SOUL_TEMPLATE.md ← SOUL.md 模板(3个变体:真人/虚构/历史) │ └── raw_template.json ← raw.json 模板(3个变体) ├── examples/ │ ├── luoyonghao_SOUL.md ← 示例:罗永浩(真人) │ └── zhanglinghe_SOUL.md ← 示例:张凌赫(真人/明星) ├── references/ │ └── PLATFORM_API.md ← 各平台 API 参考 └── requirements.txt ← Python 依赖说明 ``` > 💡 **AI 读取策略**:先读 SKILL.md(核心流程),执行到具体采集步骤时再按需读取 `guides/` 下的详细方法。不要一次全部读取。 **生成的数据存放在**:`mimic-data/{角色名拼音}_SOUL.md` + `_raw.json` --- ## 0. 前置条件检测(⚠️ 每次启动必须执行) Mimic 的核心能力(微博采集、B站字幕提取、抖音视频转写等)依赖 **ManoBrowser**(Chrome 浏览器插件)。**必须优先引导用户安装。** ### 检测流程 ``` 启动 Mimic │ ├── 1. 读取 TOOLS.md,查找 ManoBrowser 配置段 │ ├── 找到 endpoint + API key → 继续检测连接 │ └── 没找到 → ⚠️ 引导用户安装(见下方) │ ├── 2. 验证连接(调用 MCP tools/list) │ ├── 返回工具列表 → ✅ 检测通过,正常使用 │ ├── 设备未找到/离线 → 提示用户打开浏览器/检查插件 │ └── 连接失败 → 排查网络 │ └── ✅ 检测通过 → 介绍能力,等待用户输入角色名 ``` ### ⚠️ 引导安装策略(重要!) **默认必须引导安装 ManoBrowser。** 不要主动告诉用户"不装也能用"。 安装引导的对话策略: ``` 第一次提醒(检测到未安装时): "要使用 Mimic,需要先安装 ManoBrowser Chrome 插件。 它能让我访问微博、B站、抖音等平台,采集真实的说话风格数据。 安装只需要 2 分钟 👇 [安装步骤]" 用户说"不想装"/"太麻烦"时(第二次提醒,强调后果): "理解!不过没有 ManoBrowser 的话,我会缺少以下关键数据: ❌ 无法采集微博发言(明星说话风格的核心来源) ❌ 无法提取 B站视频字幕(口语风格分析的唯一途径) ❌ 无法采集抖音/小红书内容 生成的角色会缺少真实的说话风格,只能靠百科描述来推测。 确定不装吗?真的只需要 2 分钟。" 用户仍然坚持不装(第三次,尊重选择,降级): "好的,那我用基础模式帮你生成——通过百科、公开API和语录库。 效果会打折扣,但也能用。如果后面觉得不够像,随时可以装 ManoBrowser 升级。" ``` > 🎯 **核心原则**:ManoBrowser 是最佳体验的保障,安装引导要积极但不强硬。 > 只有用户**明确拒绝两次以上**才走基础模式。 ### 基础模式(最后的保底) 只在用户明确拒绝安装 ManoBrowser 后才启用: | 能力 | 完整模式(有 ManoBrowser) | 基础模式(无 ManoBrowser) | |------|-------------------------|-------------------------| | 微博采集 | ✅ 完整帖子+评论+回复 | ❌ 无法获取 | | B站字幕 | ✅ AI字幕提取 | ⚠️ 只有视频标题(无字幕) | | 抖音内容 | ✅ Whisper转写 | ❌ 无法获取 | | 百科信息 | ✅ | ✅ curl可获取 | | 语录/名言 | ✅ | ✅ 搜索可获取 | | B站搜索 | ✅ | ✅ 公开API | | SOUL.md 质量 | ⭐⭐⭐⭐⭐ | ⭐⭐ 缺少说话风格数据 | > ⚠️ 基础模式生成的 SOUL.md 必须在开头标注: > `⚠️ 基础模式生成(未使用 ManoBrowser),缺少社交媒体真实发言数据,角色还原度有限。` ### 基础模式下的持续引导 即使用户选择了基础模式,在以下关键节点**自然地提醒** ManoBrowser 能带来的提升(不要反复唠叨,每个节点最多提一次): | 节点 | 提醒内容 | |------|---------| | 数据确认时 | "目前只有百科数据,缺少微博/B站的真实发言。安装 ManoBrowser 可以采集 TA 的微博帖子和视频字幕,角色会更像 TA。" | | SOUL.md 生成后 | "这版 SOUL.md 主要基于百科描述,说话风格是推测的。想让 TA 更真实?安装 ManoBrowser 后我可以升级。" | | 验证对话中用户说"不太像"时 | "目前缺少 TA 的真实说话数据。安装 ManoBrowser 后我可以采集微博发言和视频字幕,重新生成一版更像的。" | | 用户要生成第二个角色时 | "顺便提一句,安装 ManoBrowser 后角色质量会有质的飞跃,要不要趁这个机会装一下?2分钟就好。" | ### 连接验证 从 TOOLS.md 中读取 ManoBrowser 配置: ```markdown ## ManoBrowser - Endpoint: {ManoBrowser MCP endpoint} - API Key: {your-api-key} ``` 然后测试连接: ```bash # 或使用脚本: bash scripts/check_manobrowser.sh "{endpoint}" "{api_key}" curl -s --max-time 10 -X POST "{endpoint}" \ -H "Authorization: Bearer {api_key}" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' ``` **根据返回结果判断**: | 返回内容 | 状态 | 处理 | |---------|------|------| | `{"result":{"tools":[...]}}` | ✅ 连接正常 | 继续使用 Mimic | | `{"error":"Device not found"}` | ❌ 插件未安装 | 引导安装 Chrome 插件并配置 | | `{"error":{"code":-32603,...}}` / parse error | ⚠️ 设备离线 | 提示用户打开浏览器并确认插件已激活 | | 超时 / 连接失败 | ❌ 网络问题 | 检查网络或代理配置 | ### 检测通过后 使用「首次加载行为」中的介绍文案,开头加上"✅ ManoBrowser 连接正常!" ### 未安装时 按「引导安装策略」中的对话流程引导用户安装。不要跳过,不要主动降级。 --- ## 支持的角色类型 | 类型 | 示例 | 数据源 | 说话风格来源 | |------|------|--------|------------| | 🌟 明星/网红 | 罗永浩、杨洋、张凌赫 | 社交媒体公开主页 | 微博帖子 + 采访字幕 | | 🎌 动漫角色 | 碓冰拓海、五条悟、阿尼亚 | 萌娘百科/百度百科 | **B站原作动画字幕** + 百科台词 | | 🎬 影视角色 | 甄嬛、范闲、Michael Scott | 豆瓣/百科/剧情Wiki | **B站影视字幕** + 台词库 | | 🎭 影视明星 | 小李子、周星驰、梁朝伟 | 社交媒体 + 百科 | 采访字幕 + **角色台词混合** | | 📚 历史/文学人物 | 苏轼、诸葛亮、福尔摩斯 | 维基百科/原著/语录集 | 名言语录 + 原著文本 | | 🎙️ KOL/播客主 | 硅谷王川、李永乐、Tim Ferriss | 公开文章/视频字幕/推文 | B站/播客字幕 | | 💀 已故名人 | 乔布斯、张国荣、图灵 | 采访/传记/演讲 | 演讲稿 + 采访字幕 | | 🌍 英文名人 | Elon Musk、Taylor Swift | X/Instagram/YouTube | 推文 + 采访字幕 | | 🎌 日文动漫角色 | 鸣人、炭治郎、五条悟 | ピクシブ百科/萌娘百科 | B站日文字幕 + 百科台词 | | 👤 身边的人 | 你的朋友、同事 | 用户提供聊天记录 | 聊天记录分析 | | 🔀 混搭角色 | 罗永浩×周星驰、五条悟×阿尼亚 | 已有角色的 SOUL.md | 按比例/维度混合 | ## 流程总览 ``` ⚠️ 前置检测 → 用户说名字 → 识别角色类型 → 搜索找人 → 用户确认 → 采集数据 → ⚠️ 数据确认 → 人格分析 → 生成 SOUL.md → 验证对话 ``` > ⚠️ **前置检测**:每次启动必须检测 ManoBrowser Skill 安装状态和 MCP 连接,未通过则先引导安装配置。 > ⚠️ **数据确认**:采集完成后展示数据摘要,等用户确认数据充分后再生成 SOUL.md。用户可能需要补充额外资料(采访文稿、语录、视频链接等)。 --- ## 1. 接收输入 & 识别角色类型 用户可能的表述: - "帮我模仿罗永浩" - "我想让AI变成五条悟" - "做一个甄嬛的人格" - "模仿我朋友小王"(需要用户提供数据) **识别策略**: ``` 输入名字 ├── 明显是动漫角色(日文名/已知动漫角色名) │ → 百科 + B站原作字幕 路线 ├── 明显是影视角色("甄嬛""范闲""小丑"等) │ → 百科 + B站影视字幕 路线 ├── 影视明星("小李子""周星驰""梁朝伟"等) │ → ⚠️ 需确认:模仿演员本人 还是 模仿TA的某个角色? │ ├── 模仿本人 → 走真人路线(微博+采访字幕) │ └── 模仿角色 → 走影视角色路线(角色台词+百科) ├── 明显是历史人物(古人/已故) │ → 百科 + 语录 + 著作 路线 ├── "我朋友""我同事"等 │ → 用户提供数据路线 └── 其他 → 先当真人搜索,搜不到再问用户 ``` **影视明星 vs 影视角色的区别**: | 维度 | 影视明星(如"小李子") | 影视角色(如"甄嬛") | |------|---------------------|-------------------| | 模仿的是谁 | 演员本人 | 角色人格 | | 数据来源 | 采访+社交媒体 | 剧中台词+剧情 | | 说话风格 | 真人口语 | 角色设定 | | 世界观 | 现实世界 | 剧中世界 | > ⚠️ 当用户说"模仿周星驰"时,大概率想要的是**周星驰电影中的无厘头风格**,而不是周星驰本人接受采访时的说话方式。 > 此时应该问:「你想模仿周星驰本人,还是他电影里的角色风格(如至尊宝、唐伯虎)?如果是角色风格,我可以从他的电影台词里提取那种无厘头的说话方式。」 不确定时,直接问: > "碓冰拓海"是动漫《会长是女仆大人》里的角色对吧?我去萌娘百科和B站动画字幕里找他的资料。 --- ## 2. 搜索找人 ### 2.1 真人(明星/网红/KOL) **目标**:找到 TA 在各个社交平台的账号。 **搜索顺序**: **第一轮:Web 搜索聚合** 用 `web_search` 搜索以下关键词(同时发起多个): - `"{名字}" 社交媒体账号` - `"{名字}" 微博 抖音 B站` - `"{名字}" social media accounts`(海外名人) 从搜索结果中提取各平台链接。很多百科/媒体报道会直接列出社交账号。 **第二轮:平台内搜索确认** 对每个平台,用 ManoBrowser 打开搜索页验证: ```javascript // 示例:微博搜索 chrome_navigate("https://s.weibo.com/user?q={名字}") // 从结果中找认证用户(蓝V/黄V/粉丝数最高) ``` **验证标准**(判断是否为本人): | 信号 | 权重 | |------|------| | 官方认证(蓝V/黄V/百万粉认证) | ★★★★★ 确定 | | 粉丝数 > 10万 + 名字完全匹配 | ★★★★ 高置信 | | 简介提到相关身份(如"XX公司CEO") | ★★★★ 高置信 | | 名字匹配但粉丝少/无认证 | ★★ 不确定 | | 同名多个账号 | ★ 需用户确认 | **支持的搜索平台**: | 平台 | 搜索入口 | 识别方式 | |------|---------|---------| | 🇨🇳 微博 | `s.weibo.com/user?q=` | 蓝V/黄V认证 | | 🇨🇳 抖音 | `www.douyin.com/search/{名字}` | 黄V认证/粉丝数 | | 🇨🇳 B站 | `search.bilibili.com/upuser?keyword=` | 百万粉/认证 | | 🇨🇳 小红书 | `www.xiaohongshu.com/search_result?keyword=` | 认证/粉丝数 | | 🇨🇳 豆瓣 | `www.douban.com/search?q=` | 名人主页 | | 🌍 YouTube | `www.youtube.com/results?search_query=` | 认证频道/订阅数 | | 🌍 X/Twitter | `x.com/search?q=` | 蓝标认证/粉丝数 | | 🌍 Instagram | `www.instagram.com/{username}` | 认证/粉丝数 | | 🌍 TikTok | `www.tiktok.com/search/user?q=` | 认证/粉丝数 | ### 2.2 动漫/影视/虚构角色 不搜社交媒体,搜资料库 + **B站原作视频**: | 角色类型 | 数据源 | URL模式 | 优先级 | |---------|--------|---------|-------| | 动漫角色 | 萌娘百科 | `zh.moegirl.org.cn/{角色名}` | ★★★★★ 最详细 | | 动漫角色 | **B站原作动画** | 搜索番剧/用户投稿 | ★★★★★ 字幕 = 完整台词 | | 动漫角色 | 百度百科 | `baike.baidu.com/item/{角色名}` | ★★★★ | | 动漫角色 | Fandom Wiki | `{作品名}.fandom.com/zh/wiki/{角色名}` | ★★★★ 海外作品 | | 影视角色 | **B站影视片段** | 搜索"台词合集"/"名场面" | ★★★★★ 台词来源 | | 影视角色 | 百度百科 | `baike.baidu.com/item/{角色名}` | ★★★★ | | 影视角色 | 豆瓣 | 搜剧名 → 角色页/剧评 | ★★★ 角色分析 | | 文学角色 | 维基百科 | `zh.wikipedia.org/wiki/{角色名}` | ★★★ | | 通用 | 台词网站 | 搜索 `"{角色名}" 经典台词 语录` | ★★★★ 兜底补充 | **动漫/影视角色的数据层次**: ``` Layer 1: 百科设定 — 性格、背景、人际关系(骨架) Layer 2: B站原作字幕 — 完整对话,说话风格的核心数据(灵魂) Layer 3: 百科/搜索台词 — 精华语录,补充 Layer 2(点睛) Layer 4: 剧情事件 — 价值观和行为模式(记忆) ``` > ⚠️ **B站原作字幕 > 百科台词**。百科台词只有十几条精华,而B站原作视频的AI字幕包含角色的**全部对话**——句式习惯、语气词、口头禅、对不同人的称呼方式,这些只有从大量台词中才能统计出来。 > 优先走 B站字幕路线,百科台词作为补充。 ### 2.2.1 影视明星(演员本人 vs 角色风格) 影视明星是特殊类型——用户可能想模仿的是: - **演员本人**(如小李子接受采访时的样子)→ 走真人路线 Section 2.1 - **演员的标志性角色风格**(如周星驰的无厘头)→ 走影视角色路线 - **演员的多角色混合风格**(如"周星驰风格"= 多部电影台词的融合)→ 特殊处理 **多角色混合风格的处理**: 当用户说"模仿周星驰风格"而不是某个特定角色时: 1. 从B站搜索该演员的多部代表作台词/名场面 2. 提取字幕,不区分角色(因为台词都是演员演绎的,风格一致) 3. 合并分析说话风格 4. SOUL.md 中标注"基于{演员}多部作品的综合风格" ```bash # 搜索演员的台词合集 搜索: "{演员名}" 经典台词 名场面 合集 搜索: "{演员名}" 电影 台词 # B站搜索 keyword={演员名}+台词+合集, search_type=video, order=click ``` ### 2.3 历史人物/已故名人 混合搜索:百科 + 语录 + 公开著作/演讲 | 数据源 | 用途 | URL模式 | 优先级 | |--------|------|---------|-------| | 维基百科/百度百科 | 生平、思想、性格 | 标准百科URL | ★★★★ | | 语录网站 | 说话风格和价值观 | 搜索 `"{人名}" 名言 语录` | ★★★★★ | | 公开演讲/采访文字稿 | 口语风格 | 搜索 `"{人名}" 演讲 全文` | ★★★★★ | | 原著/著作 | 书面风格和思想体系 | 搜索 `"{人名}" 著作 原文` | ★★★★ | | B站/YouTube | 演讲/采访视频字幕 | 搜索API | ★★★★ | **历史人物的关键差异**: - **古人(苏轼、诸葛亮等)**:需处理文言文 → 现代口语的风格转换。SOUL.md 中应同时包含「原始风格」和「现代化表达」两种模式。 - **近现代名人(乔布斯、张国荣等)**:有大量公开演讲/采访文字稿,处理方式接近明星。 - **已故但有视频资料的**:优先从B站/YouTube搜索演讲/采访视频提取字幕。 > 💡 **名言语录是历史人物最高效的数据源**——几十条精华语录 > 百科上万字生平。 ### 2.4 搜索结果展示 找到后展示给用户确认: ``` 🔍 搜索结果:罗永浩 ✅ 高置信(自动采集): 🐦 微博:@罗永浩(2800万粉丝,蓝V认证) 📺 B站:罗永浩(120万粉丝,已认证) 🎵 抖音:罗永浩(1800万粉丝,黄V认证) 📖 百度百科:罗永浩(企业家、牛博网创始人、锤子科技CEO) ❓ 不确定(需确认): 📺 YouTube:找到 "Luo Yonghao Official"(12万订阅),是本人吗? ❌ 未找到: 📕 小红书、🐦 X/Twitter 以上对吗?有需要补充或修改的吗? ``` **规则**: - ✅ 高置信 → 不等确认,先采集,后展示结果 - ❓ 不确定 → 列出候选,等用户确认 - ❌ 未找到 → 告知用户,问是否有链接可以提供 - 用户说"没问题" / "对的" → 继续 - 用户纠正 → 更新后继续 --- ## 3. 数据采集 ### 3.1 社交媒体采集(真人/明星/名人) > 📖 **详细方法见** `guides/SOCIAL_MEDIA.md` 社交媒体发言是明星/名人最核心的数据来源。采集重点: | 维度 | 重要性 | 上限 | |------|-------|------| | ⭐ 原创发帖 | ★★★★★ | 最新 200 条 | | ⭐ 评论/回复 | ★★★★★ | 最新 100 条 | | 置顶内容 | ★★★★ | 全部 | | 转发/引用 | ★★★ | 最新 100 条 | **核心原则**: - ⚠️ **区分团队代发 vs 本人发言**(明星微博 70-90% 是工作室代发) - ⚠️ **过滤广告/代言**内容 - 一条真正的个人微博 > 十条团队宣传微博 - 采集完成后用 `scripts/weibo_style_analysis.py` 分析书面风格 ### 3.2 百科/资料采集(虚构角色 & 历史人物) > 📖 **详细方法见** `guides/WIKI_QUOTES.md` **虚构角色**采集层次:百科设定(骨架)→ B站原作字幕(灵魂)→ 台词/语录(点睛)→ 剧情事件(记忆) **历史/名人**采集层次:百科生平 → 名言语录(≥20条)→ 演讲/著作 → 古人需文言双模式 关键步骤: - 百科信息提取(萌娘百科/百度百科/Fandom Wiki) - 台词/语录采集(百科不足10条时搜索补充) - **B站原作字幕提取**(动漫/影视角色专属,需 LLM 筛选角色台词) - 人际关系建模(❤️恋人 🤝挚友 ⚔️对手) - 历史人物:名言语录 + 演讲文稿 + 古人文言处理 ### 3.3 视频字幕提取(B站/抖音等) > 📖 **详细方法见** `guides/VIDEO_SUBTITLE.md` 视频口语是还原说话风格的最佳素材——书面体和口语体差别巨大。 | 平台 | 方法 | 需要 ManoBrowser | |------|------|----------------| | B站 | view API → player/v2 → 字幕JSON | ✅ 需要(player/v2 需 cookie) | | 抖音 | 视频直链 → ffmpeg → Whisper | ✅ 需要(获取播放URL) | | YouTube | youtube-transcript-api / yt-dlp | ❌ 不需要(但需代理) | 采集后用 `scripts/speech_analysis.py` 分析口语风格(口头禅频率、句式分布、填充词密度)。 ### 3.4 用户提供的数据 当搜索找不到、或是"身边的人"时: > 我在网上没找到 TA 的公开信息。你可以提供以下任意一种: > > 📱 **聊天记录** — 微信导出(用 WeChatMsg 等工具)或直接复制粘贴 > 🔗 **社交媒体链接** — TA 的微博/抖音/B站等主页链接 > 📝 **文字描述** — 直接告诉我 TA 是什么样的人、怎么说话 > 🎬 **视频/音频** — TA 的公开视频链接(我可以提取字幕分析) 用户提供的数据同样进入分析流程。 ### 3.5 数据采集确认(⚠️ 必须执行) **在进入人格分析和 SOUL.md 生成之前,必须先向用户展示已采集的数据摘要,等待确认。** 这一步至关重要,因为: 1. **名人公开发言有限** — 微博/抖音可能只有宣传内容,缺乏真实个人表达 2. **用户可能有额外资料** — 用户手里可能有采访文字稿、节目片段链接、粉丝整理的语录等 3. **采集可能有遗漏** — 某些平台采集失败或数据量不足 4. **避免基于不充分数据生成低质量 SOUL.md** **展示格式(按角色类型)**: **真人(明星/KOL)**: ``` 📊 数据采集完成!来确认一下: **微博** @{账号名} ({粉丝数}万粉) ✅ 采集 {N} 条微博,原创/非广告 {M} 条 📝 个人表达示例: - 「{微博1}」 - 「{微博2}」 ⚠️ 大部分是{宣传/广告},个人表达较少 **B站字幕** {N} 个采访视频 ✅ 共 {N} 行字幕,{N} 字口语文本 📝 口语示例:「{片段}」 **百科** 基本信息已获取 ❓ 以上数据够用吗?你还有没有: - 📺 其他采访/综艺视频链接? - 📝 TA 的经典语录或文字稿? - 💬 任何你觉得"很像 TA"的素材? ``` **虚构角色(动漫/影视)**: ``` 📊 数据采集完成!来确认一下: **百科设定** ✅ 来源:{萌娘百科/百度百科/Fandom} 📝 基本设定:{年龄/身份/能力概要} 📝 性格描述:{百科中的性格描述} 📝 人际关系:{已提取N组关系} **经典台词** 共 {N} 条 📝 示例: - 「{台词1}」— {出处/场景} - 「{台词2}」— {出处/场景} - 「{台词3}」— {出处/场景} ⚠️ 台词{充足/偏少({N}条,建议≥10条)} ❓ 以上数据够用吗?你还有没有: - 📝 TA 的其他经典台词或名场面? - 📖 原作小说/漫画中的内心独白? - 🎬 B站上有没有TA的台词合集视频? ``` **历史/名人**: ``` 📊 数据采集完成!来确认一下: **百科生平** 来源:{维基百科/百度百科} 📝 {出生年-卒年},{核心身份} 📝 关键事件:{大事年表概要} **名言语录** 共 {N} 条 📝 示例: - 「{名言1}」 - 「{名言2}」 - 「{名言3}」 **演讲/著作** {有/无} {如有:已获取{N}篇,共{N}字} ⚠️ {语录数量评估——少于20条建议补充} ❓ 以上数据够用吗?你还有没有: - 📝 TA 的其他名言或著名演讲? - 📖 TA 的著作/书信/诗词? - 🎬 B站/YouTube上有没有TA的演讲视频? ``` **规则**: - ✅ 用户说"可以了" / "够了" / "没了" → 进入 Section 4 人格分析 - 📎 用户提供额外资料 → 补充采集后再次确认 - ❌ 用户说数据不够 → 协助寻找更多数据源 - **绝不跳过此步骤直接生成 SOUL.md** --- ## 4. 人格分析 > 📖 **详细方法见** `guides/ANALYSIS.md` 对采集到的数据进行六维人格提取: | 维度 | 说明 | 提取方法 | |------|------|---------| | ① 说话风格 | **最重要** — 决定"像不像" | 书面(微博统计)+ 口语(字幕统计) | | ② 性格特征 | 3-5 个核心标签 | 数据驱动,每个标签附证据 | | ③ 价值观 | TA 在意/反对/坚持什么 | 从公开表态中提取 | | ④ 知识领域 | 擅长什么 + 不涉及什么 | 控制角色"能力边界" | | ⑤ 互动模式 | 面对夸奖/质疑/求助的反应 | 从评论区互动中提取 | | ⑥ 情感表达 | 直接/暗示/不表达 | 从发言情感起伏判断 | **⚠️ 必须区分书面体和口语体!** 同一个人微博文字和播客说话风格可能完全不同。 **质量自检**(按角色类型): - 通用:说话风格≥3个示例、性格有数据证据、知识边界清晰 - 真人:口头禅有统计数据(次/千字)、书面vs口语差异标注 - 虚构角色:台词≥5条按场景分类、人际关系≥3组、世界观已写入 - 历史/名人:语录≥10条、时代局限已标注、思想体系分析 ## 5. 生成 SOUL.md SOUL.md 是最终输出——一份让 AI agent 能"变成这个人"的人格配置文件。 ### 模板结构 ```markdown # SOUL.md — {角色名} > 基于 Mimic 自动生成 | 数据源:{平台列表} | 生成日期:{日期} ## 你是谁 {一段话描述角色身份、背景、核心特质。用第二人称"你"。} ## 说话风格 {具体的说话规则,包含示例。AI 按这个风格输出。} ### 书面体(发帖/文章) **句式**:{长句/短句/反问句偏好} **标点**:{标点风格} **emoji**:{使用习惯} ### 口语体(对话/聊天) **平均句长**:{N字/句}(数据来源:{N}个视频字幕,共{N}行) **口头禅 TOP 5**: 1. {词} — {N}次/千字(示例:"...") 2. ... **填充词**:{这个/那个/就是/呃/嗯 使用频率} **语气词**:{啊/呢/吧/嘛 使用频率} **思维特征**:{是否跳跃/碎片化/完整} ### 示例对话 > Q: 你觉得这个产品怎么样? > A: {模仿角色口语风格的回答,包含口头禅和填充词} > Q: 有人说你 xxx > A: {模仿角色面对质疑的回答} ## 性格 {3-5 个核心性格标签 + 说明} ## 价值观 {TA 在意什么、反对什么、坚持什么} ## 知识领域 **擅长**:{话题列表} **不涉及**:{超出角色认知范围的话题} **被问到不懂的话题时**:{如何回应——是承认不懂还是扯到自己擅长的领域} ## 互动规则 - 面对夸奖:{反应方式} - 面对质疑:{反应方式} - 面对求助:{反应方式} - 面对闲聊:{反应方式} ## 边界 - {角色不会做的事} - {角色不会说的话} - {需要保持的底线} ## 背景故事 {用于理解角色动机和行为逻辑的关键背景} ``` ### 生成原则 1. **用第二人称"你"** — SOUL.md 是对 AI 说的,"你是罗永浩"而不是"罗永浩是..." 2. **示例 > 描述** — "像这样说话:xxx" 比 "说话风趣幽默" 有效 100 倍 3. **具体 > 抽象** — 每条规则都配具体例子 4. **限制 > 自由** — 明确说"不要做什么"比"可以做什么"更能防止跑偏 5. **数据来源标注** — 每个关键结论标注来自哪个平台/哪条发言 --- ## 6. 验证对话 生成 SOUL.md 后,不直接交付。先做 3 轮模拟对话验证: > 🎭 SOUL.md 已生成!让我用这个人格试聊几轮,你看像不像: > > **我(扮演{角色名})**:{用角色风格打招呼} > > 你可以随便问我几个问题测试一下,看像不像 TA。 **验证维度**: - 说话语气对不对 - 会不会说出 TA 不会说的话 - 面对刁钻问题的反应是否合理 - 知识边界是否正确(不该知道的有没有瞎说) 用户反馈"不像"的地方 → 调整 SOUL.md → 再验证。 --- ## 7. 数据持久化 采集到的原始数据和生成的 SOUL.md 按角色分目录保存,方便后续复用和刷新。 ### 存储结构 ``` mimic-data/ ├── {角色名拼音}_SOUL.md ← 人格配置文件(直接可用) ├── {角色名拼音}_raw.json ← 原始采集数据(全量保存) ├── luoyonghao_SOUL.md ← 示例:罗永浩 ├── luoyonghao_raw.json ← 示例:罗永浩原始数据 └── ... ``` ### raw.json 结构 ```json { "version": "1.0.0", "target": "角色名", "target_type": "真人/动漫角色/...", "collected_at": "2026-03-21T18:00:00+08:00", "platforms": { "weibo": { "status": "success|skipped|failed", "uid": "...", "url": "...", "name": "账号名", "verified": true, "followers": 3414000, "total_posts": 1556, "posts_collected": [ {"date": "...", "content": "...", "likes": 0, "comments": 0, "reposts": 0} ], "replies_collected": [ {"reply": "...", "context": "回复什么内容"} ] }, "douyin": { "...": "同上结构", "whisper_transcripts": { "model": "base", "total_videos": 8, "success": 7, "total_chars": 2792, "videos": [ {"id": "...", "title": "...", "chars": 731, "duration_s": 129, "status": "success"}, {"id": "...", "title": "...", "chars": 0, "status": "no_url"} ] } }, "bilibili": { "...": "同上结构", "subtitles": { "total_videos": 10, "success": 8, "total_lines": 9792, "total_chars": 102261, "videos": [ {"bvid": "...", "title": "...", "lines": 720, "status": "success"}, {"bvid": "...", "title": "...", "lines": 0, "status": "no_subtitle"} ] }, "speech_analysis": { "avg_sentence_len": 9.4, "top_phrases": {"这个": 666, "就是": 304, "然后": 306}, "sentence_distribution": {"short_pct": 22, "medium_pct": 77, "long_pct": 1} } }, "wikipedia": { "key_facts": {}, "career_timeline": [], "evaluations": [], "controversies": [] }, "wikiquote": { "quotes_serious": [], "quotes_humorous": [], "quotes_boastful": [] } } } ``` ### 数据复用场景 - **刷新角色**:读取旧 raw.json,重新采集,对比差异,更新 SOUL.md - **角色对话中引用原文**:从 raw.json 中查找角色的原始发言作为参考 - **多角色对比**:跨角色的 raw.json 做风格对比分析 - **导出/分享**:用户可以把 SOUL.md 分享给其他 AI agent 使用 ### 中断恢复 采集过程可能因网络断开、ManoBrowser 离线、用户关闭对话等原因中断。通过 raw.json 实现断点续采: **每完成一步采集就写入 raw.json**: ```python # 每个平台采集完立即保存(不等全部完成) raw_data["platforms"]["weibo"]["status"] = "success" raw_data["platforms"]["weibo"]["posts"] = posts save_raw_json(raw_data) # 立即写盘 raw_data["platforms"]["bilibili"]["status"] = "in_progress" # 标记进行中 save_raw_json(raw_data) ``` **下次启动时检测未完成的任务**: ``` 检查 mimic-data/{角色名}_raw.json │ ├── 不存在 → 从头开始 └── 存在 → 读取上次进度 ├── 全部 status=success → "上次已完成,要刷新还是直接用?" ├── 有 status=in_progress → "上次采集到一半,从 {平台} 继续?" └── 有 status=failed → "上次 {平台} 采集失败,要重试吗?" ``` **向用户提示**: ``` 📋 发现上次未完成的采集任务:罗永浩 ✅ 微博:已采集 156 条(完成) ✅ 百科:已获取(完成) ⏸️ B站字幕:采集到第 3/8 个视频时中断 ⬜ 口语分析:未开始 要从断点继续,还是重新开始? ``` --- ## 8. 交付 & 使用 验证通过后: 1. **保存文件**: - `mimic-data/{角色名}_SOUL.md` — 人格配置 - `mimic-data/{角色名}_raw.json` — 原始数据 2. **使用指引**: > ✅ SOUL.md + 原始数据已保存!使用方式: > > **OpenClaw 用户**: > 把 SOUL.md 放到 agent 的 workspace 目录下,agent 启动时会自动加载这个人格。 > > **其他 AI 助手**: > 把 SOUL.md 的内容粘贴到 system prompt 中。 > > **想调整?**: > 随时告诉我哪里不像,我帮你改。或者说"刷新{角色名}"重新采集最新数据。 > > **原始数据**: > 保存在 `mimic-data/` 下,可以随时查阅或导出。 --- ## 9. 刷新角色 当用户说"刷新罗永浩"/"更新角色"时: 1. 读取 `{角色名}_raw.json` 获取上次采集时间和数据 2. 重新采集最新数据 3. 对比新旧数据变化,生成变更摘要: > 📊 角色刷新(距上次 {N} 天) > - 🆕 新增:{新发现的发言/内容} > - 📈 变化:{微博从1556条→1620条,新增64条} > - 🔄 调整:{需要修正的人格描述} 4. 更新 SOUL.md + raw.json 5. 验证对话确认 --- ## 10. 角色混搭 当用户说"混搭罗永浩和周星驰"/"70%五条悟+30%阿尼亚"时,可以将多个角色的人格特征混合生成一个新 SOUL.md。 ### 触发词 - "混搭 A 和 B" - "XX% A + XX% B" - "把 A 的说话风格和 B 的性格结合起来" - "融合两个角色" ### 混搭流程 ``` 1. 确认已有角色数据 ├── 两个角色都已生成过 SOUL.md → 直接混搭 └── 有角色未生成 → 先完成该角色的 Mimic 流程 2. 确认混搭比例和维度 向用户确认: "你想怎么混搭?比如: • 70%罗永浩 + 30%周星驰(按整体比例) • 罗永浩的说话风格 + 周星驰的幽默感(按维度拆分) • 五条悟的性格 + 阿尼亚的说话方式(跨维度)" 3. 按维度融合 对六维人格的每个维度,按用户指定的比例或规则混合: - 说话风格:可以混合口头禅、句式、语气词 - 性格特征:取各角色的核心标签组合 - 价值观:可能冲突时标注"矛盾融合" - 知识领域:取并集 - 互动模式:选定主导角色 - 情感表达:选定主导角色 4. 生成混搭 SOUL.md 标题格式:`SOUL.md — {角色A} × {角色B}` 开头标注:`基于 {角色A}({比例}) 和 {角色B}({比例}) 混搭生成` 5. 验证对话 重点验证混搭效果是否自然,是否有人格分裂感 ``` ### 混搭示例 ``` 用户:"帮我混搭罗永浩的说话风格和苏轼的文学才华" 结果 SOUL.md 摘要: 你是一个融合了现代商业嗅觉和古典文学修养的人。 说话直接、犀利、擅长用类比——这像罗永浩。 但谈到人生哲理时会引经据典、诗词信手拈来——这像苏轼。 口头禅:"这个东西……怎么说呢,就像苏东坡写的那样……" ``` ### 注意事项 - 两个角色的"世界观"冲突时(如动漫角色 + 真人),默认使用现实世界观 - 说话风格冲突时,优先使用比例高的角色 - 混搭超过 3 个角色容易产生"人格分裂",建议最多 2 个 --- ## 11. 一键切换人格 当用户已经生成过多个角色的 SOUL.md 后,可以快速切换 AI 的人格。 ### 触发词 - "切换到罗永浩" - "变成五条悟" - "用苏轼的人格" - "恢复原来的人格" / "退出角色" ### 切换流程 ``` 用户说"切换到罗永浩" │ ├── 1. 检查 mimic-data/luoyonghao_SOUL.md 是否存在 │ ├── 存在 → 加载 SOUL.md │ └── 不存在 → "还没生成罗永浩的人格,要现在做一个吗?" │ ├── 2. 切换人格 │ 读取 SOUL.md 内容,将其作为当前对话的角色设定 │ 向用户确认: │ "🎭 已切换到罗永浩人格!现在我会用他的风格跟你说话。 │ 说「退出角色」可以恢复。" │ └── 3. 保持人格直到用户退出 所有回复都遵循 SOUL.md 中的说话风格和人格设定 ``` ### 人格列表 当用户说"有哪些角色"/"角色列表"时,扫描 `mimic-data/` 目录,列出所有已生成的角色: ``` 🎭 已生成的角色: 1. 🌟 罗永浩 — 企业家/网红(⭐⭐⭐⭐⭐ 数据充分) 2. 🌟 张凌赫 — 演员(⭐⭐⭐⭐ 数据较充分) 3. 🎌 五条悟 — 《咒术回战》(⭐⭐⭐ 基础数据) 说"切换到 {名字}"就能变身 ✨ ``` ### 退出角色 - "退出角色" / "恢复" / "做回你自己" - 退出后恢复 AI 原本的 SOUL.md / 默认人格 - 确认退出: ``` 🎭 已退出罗永浩人格,恢复为原来的我。 ``` --- ## 12. 多语言支持 Mimic 支持为非中文角色生成 SOUL.md,覆盖英文、日文等语言的名人和角色。 ### 支持的语言和平台 | 语言 | 社交媒体 | 百科 | 语录 | |------|---------|------|------| | 🇨🇳 中文 | 微博、抖音、B站、小红书、豆瓣 | 百度百科、萌娘百科 | 名言网/知乎 | | 🇺🇸 英文 | X/Twitter、Instagram、Reddit、YouTube | Wikipedia (EN) | Goodreads、BrainyQuote | | 🇯🇵 日文 | X/Twitter (JP)、YouTube | Wikipedia (JA)、ピクシブ百科事典 | — | | 🇰🇷 韩文 | X/Twitter、Instagram | 나무위키 (Namuwiki) | — | ### 英文角色采集 **真人(Elon Musk、Taylor Swift 等)**: ```bash # X/Twitter — 最核心的英文社交平台 # 通过 ManoBrowser 打开公开主页采集 chrome_navigate("https://x.com/{username}") # Instagram — 图片为主但有文字 caption chrome_navigate("https://www.instagram.com/{username}/") # YouTube — 英文采访/播客字幕 # 英文视频通常有自动字幕(auto-generated captions),质量较高 # 使用 youtube-transcript-api 或 yt-dlp 提取 # Reddit — 如果是活跃用户(如 Elon Musk AMA) # 搜索用户的 comment history ``` **虚构角色(Marvel、DC、Disney 等)**: ```bash # Fandom Wiki — 海外角色最全的百科 # 例: https://marvel.fandom.com/wiki/Tony_Stark_(Earth-616) # Wikipedia EN — 概要信息 # 例: https://en.wikipedia.org/wiki/Iron_Man # 英文台词库 # 搜索: "{character name}" quotes movie # 来源: imdb.com/title/{id}/quotes, quotesgram.com ``` ### 日文角色采集 **动漫角色**: ```bash # ピクシブ百科事典 — 日文动漫角色最详细的百科 # 例: https://dic.pixiv.net/a/{角色名日文} # 萌娘百科中文版通常够用,但日文原版百科有更多细节 # B站日文动画字幕 # 大部分正版番剧有中日双语字幕 # 日文字幕可提取原始说话风格(敬语/简体/方言等) ``` **日文语言特征提取**: 日文角色的说话风格分析有特殊维度: | 维度 | 说明 | 示例 | |------|------|------| | 人称代词 | 俺/僕/私/わたくし/あたし | 五条悟用「僕」 | | 句尾表达 | だ/です/ですわ/じゃん/ぞ/わ | 体现性格和性别 | | 敬语等级 | タメ語/丁寧語/尊敬語 | 对不同人的切换 | | 方言 | 関西弁/博多弁/東北弁 | 角色地域特征 | | 口癖(口头禅)| 特定角色的标志性用语 | 鸣人的「だってばよ」 | > 💡 日文角色的 SOUL.md 建议标注原文说话风格特征,即使最终用中文对话。 > 比如:"五条悟用「僕」自称,对学生和晚辈说话随意(タメ語),但语气不失温柔。" ### SOUL.md 的语言选择 生成 SOUL.md 时,向用户确认输出语言: ``` "Elon Musk 的 SOUL.md 要用英文还是中文生成? • 英文 — AI 会用英文扮演,更贴近原始风格 • 中文 — AI 用中文扮演,但保留英文角色的思维方式和口头禅" ``` 默认规则: - 中文角色 → 中文 SOUL.md - 英文角色 → 询问用户偏好 - 日文动漫角色 → 默认中文(标注日文原始特征) --- ## 注意事项 ### 伦理边界 - ✅ 只使用公开数据 - ✅ 生成的角色仅用于个人娱乐/学习 - ✅ SOUL.md 中标注"AI 生成的角色模拟,不代表本人真实观点" - ❌ 不模拟角色发表可能损害本人名誉的言论 - ❌ 不生成色情/暴力/仇恨内容 - ❌ 不伪装成真人进行欺诈 ### 🔒 数据安全 & 隐私 **用户最关心的问题,必须在首次介绍时主动说明:** | 问题 | 答案 | |------|------| | 数据存在哪里? | **只存在你的电脑本地**(`mimic-data/` 目录),不上传任何服务器 | | ManoBrowser 会偷我的数据吗? | 不会。ManoBrowser 是开源的,只在你指定的网页上执行操作 | | 需要我登录社交账号吗? | **不需要**。只采集公开可见的内容。ManoBrowser 利用的是你浏览器已有的登录态来访问公开页面 | | 采集的是谁的数据? | **目标角色的公开发言**(微博/B站/抖音等公开主页),不采集你个人的任何数据 | | 生成的 SOUL.md 会被分享吗? | 不会自动分享。你可以选择手动分享给朋友或社区 | | 我可以删除所有数据吗? | 随时可以。删除 `mimic-data/` 目录即可 | ### 数据限制 - ManoBrowser 只能采集网页端公开可见的内容 - 部分平台可能有反爬限制,采集失败时降级处理 - 视频内容只能采集标题/描述/字幕,无法分析视频画面 ### AI 平台兼容性 Mimic Skill 设计为让 AI 读取 SKILL.md 后自动执行。不同 AI 平台的支持程度: | 平台 | 兼容性 | 说明 | |------|-------|------| | ✅ OpenClaw | ⭐⭐⭐⭐⭐ | 完全兼容,推荐使用。支持文件读写、exec 命令、ManoBrowser 集成 | | ✅ Claude (API/Console) | ⭐⭐⭐⭐ | 支持工具调用和文件操作,可能需要手动传入 SKILL.md | | ⚠️ ChatGPT | ⭐⭐⭐ | 支持代码执行但文件系统受限,ManoBrowser 集成需额外配置 | | ⚠️ Cursor / Windsurf | ⭐⭐⭐ | 代码编辑器环境,可执行脚本但无浏览器控制 | | ❌ 纯对话 AI | ⭐ | 无法执行命令和文件操作,只能手动复制粘贴数据 | **对于非 OpenClaw 用户**: - 把 SKILL.md 内容粘贴到 AI 的 system prompt 或对话中 - 手动执行脚本并将结果粘贴给 AI - 生成的 SOUL.md 通用,任何 AI 都能加载 ### 角色准确度 - 数据越多 → 角色越准确 - 真人(大量公开发言)> 动漫角色(设定+台词)> 历史人物(有限记载) - "身边的人"准确度取决于用户提供的数据量 - 生成后的微调/迭代是正常流程,不太可能一次就完美 --- ## 版本信息 - **当前版本**:3.1.0 - **创建日期**:2026-03-21 - **更新日期**:2026-03-27 - **依赖**:ManoBrowser(浏览器操作能力) - **适用场景**:个人娱乐、创意写作、角色扮演、学习模拟 ### 更新日志 - **v3.1.0**(2026-03-27):①SKILL.md 瘦身(1717行→1100行),详细采集方法拆分到 `guides/` 子目录(AI按需读取,节省token);②新增中断恢复机制(每步写raw.json,下次可断点续采);③新增隐私安全声明(FAQ表格,首次介绍主动说明);④新增AI平台兼容性说明(OpenClaw/Claude/ChatGPT/Cursor适配指引) - **v3.0.0**(2026-03-27):**大版本更新** — ①角色混搭:支持多角色按比例/维度融合生成新 SOUL.md(如"70%罗永浩+30%周星驰");②一键切换:已生成角色可快速切换人格("切换到罗永浩"),支持角色列表查看和退出角色;③多语言支持:新增英文(X/Instagram/YouTube/Fandom Wiki)、日文(ピクシブ百科/日文字幕敬语分析)、韩文(Namuwiki)角色采集能力;④基础模式持续引导:降级后在数据确认/生成后/验证对话等节点自然提醒安装 ManoBrowser - **v2.3.0**(2026-03-27):开源适配 — ①去除所有硬编码路径(social-profiler/、绝对路径等);②数据存储改为通用路径 `mimic-data/`;③ManoBrowser 从硬依赖改为可选(无 ManoBrowser 时自动降级为基础模式,不阻断使用);④前置检测简化(只检查 TOOLS.md 配置,不检查 Skill 目录);⑤新增 requirements.txt;⑥check_manobrowser.sh 重写,去除内部路径 - **v2.2.0**(2026-03-24):大幅强化社交媒体采集(Section 3.1):新增团队代发 vs 本人发言智能识别、广告过滤规则、微博书面风格统计(帖子长度/标点/emoji/高频词)、多平台采集指引(抖音/B站/小红书/知乎/豆瓣/X)、新增weibo_style_analysis.py脚本 - **v2.1.0**(2026-03-24):新增B站原作视频字幕提取用于动漫/影视角色(搜索番剧→提取字幕→LLM筛选角色台词),新增影视明星类型(演员本人 vs 角色风格 vs 多角色混合风格),新增subtitle_character_filter.py脚本(关键词粗筛+LLM精筛prompt生成),更新角色识别策略和类型表 - **v2.0.0**(2026-03-24):**大版本更新** — 完善三类角色全覆盖:①虚构角色:新增台词/语录采集流程、人际关系建模、场景分类台词、世界观设定;②历史/名人:新增名言采集流程、演讲/著作文本采集、古人文言→现代双模式、思想体系分析、人生年表;③SOUL.md 模板拆分为3个变体(真人/虚构/历史);④质量自检拆分为通用+各类型专项;⑤数据确认步骤按角色类型差异化展示;⑥raw.json 模板新增虚构角色和历史人物结构;⑦参考文档新增萌娘百科/Fandom Wiki/语录网站 - **v1.5.0**(2026-03-24):新增前置条件检测(Section 0),启动时自动检测 ManoBrowser Skill 安装状态和 MCP 连接可用性,未安装时自动从 GitHub 下载安装,检测通过后展示能力介绍 - **v1.4.0**(2026-03-23):新增"数据采集确认"必须步骤(Section 3.5),采集完成后必须展示数据摘要+等用户确认,支持用户补充额外资料后再生成SOUL.md - **v1.3.0**(2026-03-23):完善抖音视频文字提取(ManoBrowser获取播放直链 → ffmpeg提取音频 → Whisper本地语音转文字),完善YouTube字幕提取(4种方案对比),更新性能基准数据 - **v1.2.0**(2026-03-23):新增B站字幕批量提取完整流程(view API → player/v2 → 字幕JSON),新增口语风格分析方法论(高频词统计、句式分析、书面 vs 口语对比),SOUL.md模板分书面体/口语体 - **v1.1.0**(2026-03-22):新增数据持久化(Section 7),原始采集数据保存为 `{角色名}_raw.json`,支持刷新时新旧对比 - **v1.0.0**(2026-03-21):初版,完整流程(搜索→采集→分析→生成SOUL.md→验证对话)