Skip to content

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」按钮。

弹窗里能做什么

  1. 选择输出格式(6 种任选其一)
  2. 选择 LLM Profile(弹窗顶部下拉,如果配置了多个 AI 模型)
  3. 选择消息数量(300 / 500 / 1000 / 2000 / 5000 / 10000 条)
  4. 点击「开始炼化并下载
  5. 任务立即提交并返回,开始轮询状态(等待中 → 炼化中 → 成功)
  6. 完成后自动下载 zip 文件(App 模式显示 ~/Downloads/ 完整路径)
  7. 按 README 说明解压安装到对应工具

后台异步

炼化任务在后台 goroutine 执行,关闭弹窗或刷新页面都不会中断。可以随时去 Skills 页面查看进度和结果。

Skills 管理页面

侧边栏的 「Skills」 tab 集中管理所有炼化记录。

持久化存储

每次炼化的元数据(类型、格式、模型、文件路径、状态等)自动写入 ai_analysis.dbskills 表,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。

WeLink · AGPL-3.0 · 所有数据仅在本地处理,不上传任何服务器 · vdev