用途
anyone-skill 是一个面向 OpenPersona 的“蒸馏前端”。它的目标是把某个人的独特性——决策方式、语言风格、有限的记忆集合——提炼成一个可携带、可演进的 OpenPersona 技能包。资料将其描述为“Every person is a unique decision system, an irreplicable voice, a finite set of memories”,而该工具负责把这种独特性转化为可运行的 persona。
anyone-skill 本身负责数据收集、四维提取和证据分级,最终输出完整的 OpenPersona persona 包,这一输出由 skills/open-persona 生成。
主要能力
- 主题分类:将蒸馏对象分为六类—— Yourself(你自己)、Someone you know(你认识的人)、Public figure(公众人物)、Fictional character(虚构角色)、Historical figure(历史人物)、Archetype(原型)。不同类别使用不同数据策略与伦理规则。
- 伦理与版权检查:对不同类别设有不同规则,例如熟人需确认为个人用途、公众人物需在首次运行时加入免责声明、虚构角色分发时需切换为 Inspired-by 模式、历史人物需标注不确定信息、原型需提示为合成人格。
- 信息采集:通过固定 3 个问题(代号、基本信息、性格印象)收集输入。根据对象类型,引导用户提供聊天导出、文档/邮件、社交媒体归档或直接粘贴/描述;对公众人物和历史人物会通过 WebSearch 自动检索采访、书籍、演讲、授权传记、公开社交媒体等;对虚构角色会检索角色 wiki、剧本、设定集等。
- 数据读取与预处理:读取策略为——对所有基于文本的导出格式直接使用 Read;仅对(1)二进制 SQLite .db 文件、(2)过大文件(自动采样至 --max)使用 preprocess.py。
- 四维提取:Procedure(如何思考)、Interaction(如何说话)、Memory(什么塑造了他)、Personality(硬性边界是什么)。
- 证据分级:L1 直接引用、L2 转述、L3 推断、L4 灵感。冲突时高等级优先,同级冲突并列展示并注明来源。
- 生成技能包:将提取结果映射为 OpenPersona v0.17+ 的 persona.json 格式,再通过 skills/open-persona 生成完整 persona 包,包含 SKILL.md、persona.json、state.json、soul/、agent-card.json、scripts/state-sync.js 等。
- 可选安装:支持 npx openpersona install 与 npx openpersona switch。
- 导出训练数据:导出包含原始源文件、蒸馏对话轮次、角色档案和元数据的 training/ 目录,供 persona-model-trainer 训练本地模型使用。
- 演进模式:支持添加新材料、纠正错误描述、回滚版本,并在每次更新后打印 diff 摘要。
使用方式
通过触发词启动,例如:/create-anyone;“distill X into a skill”;“create a persona for X”;“make a skill pack for X”;“I want to talk to X as an AI”;“clone X's personality”。演进已有 persona 时使用:“I have more data”;“add this to X”;“that's not right”;“X wouldn't say that”;或 /update-anyone {slug}。
工作流程分为若干阶段:Phase 0 分类主题;Phase 1 伦理与版权检查;Phase 2 信息采集(恰好 3 个问题);Phase 3 收集源材料;Phase 4 四维提取;Phase 5 证据分级;Phase 6 生成 OpenPersona 技能包(含 persona.json 构建、技能包生成、可选安装、训练数据导出);Phase 7 演进。
依赖链为:anyone-skill → skills/open-persona → openpersona create。扩展链(本地模型)为:anyone-skill → persona-knowledge → persona-model-trainer → 可运行的人格模型。
可选集成:当安装 persona-knowledge(skills/persona-knowledge/)时,anyone-skill 会使用它进行持久化存储、语义检索和知识图谱,而不是直接写入 training/raw/。检测命令为 ls skills/persona-knowledge/SKILL.md 2>/dev/null && echo "persona-knowledge detected"。检测到时数据流变为:source → persona-knowledge ingest → MemPalace + KG + wiki → persona-knowledge export → training/。
适用场景
根据资料,适用于:将你自己、你认识的人、公众人物、虚构角色、历史人物或原型人物蒸馏为 OpenPersona 技能包;与 persona-knowledge 集成以进行持久化存储、语义检索和知识图谱;导出训练数据并使用 persona-model-trainer 训练本地人格模型(例如 --model google/gemma-4-E4B-it 等参数);对已有 persona 进行持续演进、纠错和版本回滚。
限制与规则
- Layer 0 安全(硬规则,始终强制执行):针对你认识的人,不得用于骚扰、跟踪或欺骗,不替代真实的人际连接,若检测到不健康的执念会温和建议寻求专业支持;针对公众人物,首次运行需免责声明,不得虚构其未表达过的政治观点或私人生活细节;针对虚构角色(分发时),需启用 Inspired-by 模式,输出必须与原 IP 有实质性差异。
- 版本管理通过 python3 scripts/version_manager.py 进行,回滚使用 /rollback {slug} {version}。
- 可用命令示例:npx openpersona create --config persona.json --output ./{slug}-skill;npx openpersona install ./{slug}-skill;npx openpersona switch {slug}。
- 数据预处理命令示例:python3 ${CLAUDE_SKILL_DIR}/scripts/preprocess.py --input <file.db>(SQLite 提取),以及 python3 ${CLAUDE_SKILL_DIR}/scripts/preprocess.py --input <file> --max 3000(超大文件采样)。
- persona-knowledge 集成时的写入命令:python skills/persona-knowledge/scripts/ingest.py --slug {slug} --source <path> --persona-name "{Name}"。
- 训练数据导出命令:python skills/persona-knowledge/scripts/export_training.py --slug {slug} --output training/(可用 --version v2 覆盖版本,--list 查看导出历史)。
关于收费、价格、平台支持范围、具体效果等事实,资料中暂未提供。