Skill 炼化
把微信聊天记录里的人际关系,直接炼化成 Claude Code / Codex / OpenCode / Cursor 等 AI 编程工具的 Skill 文件包。一次炼化,多处使用。
💡 这是一个跨界功能:把"聊天数据"变成"AI 工具的能力"。WeLink 不只是在自己的 App 里能用 AI 分身,还能把分身的能力打包出去,让你在任意 AI 编程工具里都能用 TA 的语气说话。
为什么需要这个?
假设你是这些人之一:
- A. 想让 AI 写邮件时用自己的口吻 —— 不想再看到那种 ChatGPT 标准开头和机械尾注
- B. 要模拟老板/同事的风格 —— 在正式发送前先预演一下"TA 会怎么回我"
- C. 想把技术群的集体知识沉淀下来 —— 群里那些牛人的经验分享,想在编码时随时可查
- D. 怀念失联的老友 —— 偶尔想和"过去的 TA"再聊几句,但不止在 WeLink 里
你可能已经用 Claude Code、Codex、Cursor 这类工具了,它们都支持 Skill / Agent / Rules 之类的机制——给 AI 提供额外的上下文和行为指令。
WeLink Skill 炼化 做的就是:读完你指定的聊天记录,用一次 LLM 调用抽取出性格、风格、词汇、话题等特征,按你选择的格式打包成一个 zip,你把它放到对应工具的目录里,就可以直接用了。
三种 Skill 类型
1. Contact — 联系人分身
- 输入:你和某个联系人的全部聊天
- 产出:TA 的性格画像 + 说话风格 + 口头禅 + 常聊话题 + 代表性原话
- 用途:
- 让 AI 起草给 TA 的邮件,用 TA 习惯的语气(你的老板最喜欢简短直接的邮件?AI 就不会写长段的开场白)
- 回忆失联老友,随时随地和 TA 的 AI 分身聊聊
- 在做重大决定前,和"最信任的人的 AI 分身"推演一下
2. Self — 我的写作风格
- 输入:我发给所有联系人的消息汇总
- 产出:你自己的语气指纹(句长、用词、表达习惯)
- 用途:
- 让 Claude Code / Cursor 写公众号、朋友圈、邮件时,保持你自己的声音
- 避免 AI 生成过于正式或机械的文字
- 让 AI 续写、改写你的草稿时匹配原有语气
3. Group — 群聊智囊
- 输入:某个群的聊天记录
- 产出:群的集体氛围 + 专业术语 + 常讨论话题 + 代表性观点
- 用途:
- 写代码遇到技术问题时,让 AI「以公司前端群的集体经验」给你建议
- 了解一个不活跃的群通常讨论什么,捕捉群的文化
- 把群里那些碎片化的最佳实践凝练成可复用的知识
六种输出格式
每种格式都附带一个 README.md 告诉你如何安装到对应工具。
🗂️ Claude Code Skill(目录式)
skill-张三/
├── SKILL.md # 主入口(带 frontmatter: name, description)
└── README.md # 安装说明安装:把整个目录复制到 ~/.claude/skills/(用户级)或 .claude/skills/(项目级)
🤖 Claude Code Subagent(单文件)
张三-voice.md # 带 YAML frontmatter: name, description, model安装:放到 ~/.claude/agents/ 目录,在对话中 @张三-voice 调用
🧠 OpenAI Codex AGENTS.md
AGENTS.md # 项目根目录,Codex CLI 自动读取安装:放到你希望应用这个 persona 的项目根目录
💡 OpenCode Agent
.opencode/agent/张三.md # 带 frontmatter: description, mode安装:保持相对路径放到项目根,或放到 ~/.config/opencode/agent/ 全局
✏️ Cursor Rules
.cursor/rules/张三.mdc # 带 frontmatter: description, globs, alwaysApply安装:保持相对路径放到项目根,Cursor 自动在匹配 globs 的文件上应用,或在对话中 @张三 引用
📄 通用 Markdown
张三.md # 工具无关的纯 markdown安装:粘贴到任何 AI 对话作为 system prompt,或手动转成其他工具的格式
炼化的内容
无论选择哪种格式,核心内容都是一样的:
| 部分 | 说明 |
|---|---|
| 使用场景 | 什么时候适合用这个 skill、什么时候不适合 |
| 性格特征 | 从真实对话里抽取的 50-120 字画像 |
| 说话风格 | 句长、语气、用词偏好、标点习惯、emoji 使用 |
| 高频词 / 独特用词 | 8-15 个有辨识度的词 |
| 口头禅 | 3-8 个常用短语 |
| 常聊话题 | 5-10 个兴趣领域 / 专业方向 |
| 关系背景 | 仅 contact 类型,和你的关系推断 |
| 代表性原话 | 5-8 条最能体现风格的原话(手机号等敏感信息已脱敏) |
| 使用注意事项 | 避免误用的提醒 |
此外 zip 里还包含 skill-metadata.json,是完整的结构化数据,便于二次处理或接入其他工具。
使用入口
联系人的 Contact Skill
打开任意联系人的深度画像弹窗,右上角有一个紫色 Sparkles 图标按钮(✨)。点击打开炼化弹窗。
群聊的 Group Skill
打开任意群聊的画像弹窗,右上角同样有紫色 Sparkles 按钮。
自己的 Self Skill
在 洞察页 的「个人自画像」卡片右上角,有一个「炼化我的 Skill」按钮。
弹窗里能做什么
- 选择输出格式(6 种任选其一)
- 选择 LLM Profile(弹窗顶部下拉,如果配置了多个 AI 模型)
- 选择消息数量(300 / 500 / 1000 / 2000 / 5000 / 10000 条)
- 点击「开始炼化并下载」
- 任务立即提交并返回,开始轮询状态(等待中 → 炼化中 → 成功)
- 完成后自动下载 zip 文件(App 模式显示
~/Downloads/完整路径) - 按 README 说明解压安装到对应工具
后台异步
炼化任务在后台 goroutine 执行,关闭弹窗或刷新页面都不会中断。可以随时去 Skills 页面查看进度和结果。
Skills 管理页面
侧边栏的 「Skills」 tab 集中管理所有炼化记录。
持久化存储
每次炼化的元数据(类型、格式、模型、文件路径、状态等)自动写入 ai_analysis.db 的 skills 表,zip 文件保存在:
~/.welink/skills/<id>/<filename>.zip删除记录时,对应的 zip 文件也会一并删除。
任务状态
| 状态 | 徽章 | 说明 |
|---|---|---|
pending | ⏳ 等待中 | 任务已提交,等待 goroutine 调度 |
running | 🔄 炼化中 | 正在调用 LLM 分析聊天记录 |
success | ✅ | 炼化成功,可以下载 |
failed | ❌ 失败 | 失败原因在记录里(例如 LLM 风控拦截) |
页面检测到有 pending / running 任务时,每 2 秒自动刷新一次。
搜索与筛选
- 全文搜索:按目标名、文件名、模型提供商、模型名、格式名匹配
- 类型筛选:全部 / 联系人 / 自画像 / 群聊 / 群成员
- 状态筛选:全部 / 成功 / 进行中 / 失败(带计数徽章)
- 表头排序:点击目标 / 类型 / 格式 / 炼化时间切换升降序
操作
- 重新下载:不用重新炼化,直接下载已有的 zip(从后端读文件)
- 删除:确认后删除数据库记录和对应的 zip 文件
- Mac App 路径显示:炼化成功后会显示保存到
~/Downloads/的完整路径,点击select-all可以复制
API 端点
| 方法 | 路径 | 说明 |
|---|---|---|
POST | /api/ai/forge-skill | 提交炼化任务(202 Accepted,立即返回 { id, status: pending }) |
GET | /api/skills | 列出所有记录 |
GET | /api/skills/:id | 查询单个任务状态(前端轮询用) |
GET | /api/skills/:id/download | 重新下载 zip |
DELETE | /api/skills/:id | 删除记录和文件 |
隐私与安全
- 自动脱敏:炼化前手机号、邮箱、身份证号会自动被替换成
***手机号***等占位符 - 一次 LLM 调用:整个流程只调用一次 LLM(约 5-15k token),不会多次泄漏数据
- 本地产物:生成的 zip 是本地文件,由你决定是否分享、分享给谁
- 完全可审计:代码完全开源,你可以自己看炼化流程里到底发给了 LLM 什么
注意事项
WARNING
Skill 炼化是对说话风格的 AI 近似,不代表真人的真实想法。
- 不要用 contact skill 去冒充他人身份
- 不要基于 skill 做重要决策(TA 真正会说什么,去问真人)
- 不要把别人的 skill 公开分享(这可能侵犯对方隐私)
- skill 只是一个辅助工具,帮你和 AI 更好地协作,不是真人替代品
常见问题
Q: 炼化会消耗多少 token? A: Contact 和 Self 类型约 5-10k token,Group 类型约 8-15k token。只调用一次 LLM。
Q: 可以用本地模型炼化吗? A: 可以。在设置里配置 Ollama profile,然后在炼化弹窗里选择它即可。但本地小模型的抽取质量可能不如 Claude / GPT。
Q: 我能先预览再决定是否下载吗? A: 目前版本是直接生成 zip,没有预览步骤。解压后你可以先看 markdown 内容,不满意可以删掉重新炼化。
Q: 为什么不直接做成「实时 AI 分身」的一键导出? A: WeLink 已经有 AI 分身功能,但那是在 WeLink 里跑。Skill 炼化的核心价值是让能力可移植 —— 你不在 WeLink 里时也能用上。
Q: 生成的 Skill 可以二次修改吗? A: 当然。markdown 文件就是普通文本,随便改。skill-metadata.json 里是结构化数据,也可以作为你自己处理的原料。
Q: 支持更多工具格式吗? A: 目前支持 Claude Code、Codex、OpenCode、Cursor、通用 Markdown。如果你需要其他格式(比如 Continue、Aider、Zed 等),欢迎提 Issue 或 PR。