你是否经历过这样的崩溃时刻?合作多年的后端同事突然跳槽,交接文档仅有三页Word,连线上服务的密码都没写全;好不容易带熟的实习生裸辞,留下的项目代码连一行注释都没有;组内的技术核心转岗,一旦他负责的模块出问题,整个团队都束手无策……
多少次,你面对着一地鸡毛的“烂摊子”,忍不住幻想:“要是他本人还在就好了。”
今天要介绍的这款开源项目,或许能把这个幻想变成某种程度上的现实。它叫 colleague.skill,一个旨在通过收集同事的工作数据,为其构建一个“数字分身”的 AI Agent 项目。这个分身不仅能复现他的技术能力与工作规范,甚至能模仿其沟通风格与行为模式,为解决棘手的职场交接与知识留存问题提供了一个颇具想象力的技术方案。
核心功能解析
1. 全场景数据源支持
项目的核心在于数据输入。其Beta版本已经支持了绝大多数职场常见的数据来源,提供自动采集与手动上传两种模式:
| 来源 |
消息记录 |
文档 / Wiki |
多维表格 |
备注 |
| 飞书(自动采集) |
✅ API |
✅ |
✅ |
输入姓名即可,全自动 |
| 钉钉(自动采集) |
⚠️ 浏览器 |
✅ |
✅ |
钉钉 API 不支持历史消息 |
| Slack(自动采集) |
✅ API |
— |
— |
需管理员安装 Bot;免费版限 90 天 |
| 微信聊天记录 |
✅ SQLite |
— |
— |
可搭配第三方开源导出工具使用 |
| PDF |
— |
✅ |
— |
手动上传 |
| 图片 / 截图 |
✅ |
— |
— |
手动上传 |
| 飞书 JSON 导出 |
✅ |
✅ |
— |
手动上传 |
邮件 .eml / .mbox |
✅ |
— |
— |
手动上传 |
| Markdown |
✅ |
✅ |
— |
手动上传 |
| 直接粘贴文字 |
✅ |
— |
— |
手动输入 |
对于微信聊天记录,项目推荐搭配以下开源工具进行导出:
| 工具 |
平台 |
说明 |
| WeChatMsg |
Windows |
微信聊天记录导出,支持多种格式 |
| PyWxDump |
Windows |
微信数据库解密导出 |
| 留痕 |
macOS |
微信聊天记录导出(Mac 用户推荐) |
2. 双层技能架构:工作能力与人物画像分离
每个生成的“同事技能”由两部分驱动,力求更真实地还原真人的工作逻辑:
| 部分 |
内容 |
| Part A — Work Skill |
负责系统知识、技术规范、工作流程、经验库等“硬技能”。 |
| Part B — Persona |
5层性格结构:硬性规则 → 身份认知 → 表达风格 → 决策模式 → 人际行为模式。 |
其运行逻辑可以概括为:接到任务 → Persona 判断态度与方式 → Work Skill 执行具体操作 → 用他的典型语气输出结果。
项目支持丰富的自定义标签来匹配真人特征:
- 个性标签:认真负责 · 甩锅高手 · 完美主义 · 阴阳怪气 · PUA 高手 · 向上管理专家
- 企业文化标签:字节范 · 阿里味 · 腾讯味 · 华为味 · OKR 狂热者
- 全大厂职级支持:字节 2-1~3-3+ · 阿里 P5~P11 · 腾讯 T1~T4 · 华为 13~21 级等
这种将能力(Skill)与人格(Persona)解耦的设计,是构建复杂、拟人化 Agent 的一种有趣实践。
3. 可进化机制与全版本管理
生成后的数字分身并非一成不变,项目内置了迭代机制使其可以“成长”:
- 追加文件:上传新数据后,系统会自动分析增量内容,并将其合并(merge)到对应部分,不会覆盖已有结论。
- 对话纠正:如果你发现分身的回答不符合原型,可以直接说“他不会这样,他应该是xxx”。这个纠正会被写入专门的纠正层,并立即生效。
- 版本管理:每次更新都会自动存档,支持回滚到任意历史版本,方便调试和对比。
项目遵循清晰的 AgentSkills 开放标准,目录结构清晰,易于扩展:
create-colleague/
├── SKILL.md # skill 入口(官方 frontmatter)
├── prompts/ # Prompt 模板
│ ├── intake.md # 对话式信息录入
│ ├── work_analyzer.md # 工作能力提取
│ ├── persona_analyzer.md # 性格行为提取(含标签翻译表)
│ ├── work_builder.md # work.md 生成模板
│ ├── persona_builder.md # persona.md 五层结构模板
│ ├── merger.md # 增量 merge 逻辑
│ └── correction_handler.md # 对话纠正处理
├── tools/ # Python 工具
│ ├── feishu_auto_collector.py # 飞书全自动采集
│ ├── dingtalk_auto_collector.py # 钉钉全自动采集
│ └── ... 其他工具
├── colleagues/ # 生成的同事 Skill(gitignored)
└── ... 配置文件
对这类结合了实际工作流与前沿 AI 技术的 开源实战 项目感兴趣的朋友,可以深入研究其源码。
实战部署与使用
安装步骤
Claude Code 安装:
# 安装到当前项目(在 git 仓库根目录执行)
mkdir -p .claude/skills
git clone https://github.com/titanwings/colleague-skill .claude/skills/create-colleague
# 或安装到全局(所有项目都能用)
git clone https://github.com/titanwings/colleague-skill ~/.claude/skills/create-colleague
OpenClaw 安装:
git clone https://github.com/titanwings/colleague-skill ~/.openclaw/workspace/skills/create-colleague
可选依赖安装:
pip3 install -r requirements.txt
飞书/钉钉自动采集功能需要配置相应的 App 凭证,详细步骤请参考项目内的 INSTALL.md 文件。
使用方法
在 Claude Code 中,输入以下命令启动创建流程:
/create-colleague
随后,按提示输入同事的姓名、公司职级(例如 字节 2-1 算法工程师)、性格标签,并选择数据来源。所有字段都可以跳过,即使仅凭一段文字描述也能生成一个基础版本。创建完成后,可以使用 /{slug} 命令来调用这位同事的技能。
常用管理命令:
| 命令 |
说明 |
/list-colleagues |
列出所有已创建的同事 Skill |
/{slug} |
调用完整的同事 Skill(Persona + Work) |
/{slug}-work |
仅调用工作能力部分 |
/{slug}-persona |
仅调用人物性格部分 |
/colleague-rollback {slug} {version} |
将指定同事 Skill 回滚到历史版本 |
/delete-colleague {slug} |
删除指定的同事 Skill |
效果示例
输入特征:字节 2-1 后端工程师,INTJ,甩锅高手,字节范
场景一:Code Review
用户 ❯ 帮我看一下这个接口设计
同事.skill ❯ 等等,这个接口的 impact 是什么?背景没说清楚。
(看完后)N+1 查询,改掉。返回结构用统一的
{code, message, data},这是规范,不用问为什么。
场景二:应对问责
用户 ❯ 这个 bug 是你引入的吧
同事.skill ❯ 上线时间对上了吗?那个需求改了好几个地方,还有其他变更。
注意事项与总结
避坑指南
- 数据质量决定分身质量:输入数据的质量直接影响生成结果。聊天记录 + 长文档的效果远好于仅靠手动描述。建议优先收集目标同事主动撰写的长文(如设计文档、总结报告) > 其在关键决策时的回复 > 日常琐碎消息。
- 自动采集配置:飞书自动采集需要将创建的 App Bot 加入相关群聊或对话;钉钉 API 目前不支持拉取历史消息,需要使用浏览器插件方式进行采集。
- 项目状态:该项目目前仍处于 Beta 测试阶段,如果在使用中遇到 Bug,可以前往其 GitHub 仓库提交 Issue。
总结
colleague.skill 项目将 RAG(检索增强生成)与 Agent 技术结合,针对“人员离职导致的知识与经验流失”这一经典职场痛点,提出了一个颇具巧思的解决方案。无论是用于承接离职同事未竟的工作,还是沉淀团队核心成员的经验,乃至为自己做一个“赛博备份”,它都提供了一个可行的技术路径。
值得注意的是,该项目也引发了关于职场伦理、数据隐私的有趣讨论。作为开发者,我们在探索技术可能性的同时,也应关注其应用的边界。欢迎大家在 云栈社区 的相关板块继续探讨这类工具的实际价值与潜在影响。
项目开源地址:https://github.com/titanwings/colleague-skill