SuperAPI AI 工具集

persona-knowledge

智能体与模型

查看项目

更新于 10-15 09:57

技能介绍

用途

persona-knowledge 是一个持久化、可增量更新、可搜索的人格知识库,定位为原始数据源与人格训练之间的数据层。其依赖链为:数据源 → persona-knowledge → anyone-skill / persona-model-trainer。

架构由三部分组成:MemoryPalace(存储 + 检索)+ 知识图谱(关系 + 时间线)+ Karpathy LLM Wiki(知识积累)。

适用触发场景包括:为此人格创建数据集、向数据集添加数据、导入 Obsidian 仓库、导入 Twitter 存档、为某人构建知识库、导出训练数据、搜索人格数据集。

不适用场景:用户只需一次性快速蒸馏、无需持久化存储(可直接用 anyone-skill);或数据少于 50 条消息(不值得建立数据集)。

主要能力与流程

阶段 1:初始化 创建新的人格数据集:

python scripts/init_knowledge.py --slug {slug} --name "Display Name"

这会创建 ~/.openpersona/knowledge/{slug}/ 目录,包含 dataset.json(元数据)、.mempalace/(本地数据)、sources/(不可变源文件备份)、wiki/(Karpathy wiki)。MemoryPalace 中每个人格一个 Wing,Hall 映射到 5 个人格维度:hall_facts(身份)、hall_events(记忆)、hall_preferences(个性)、hall_discoveries(程序)、hall_voice(交互)。需先与用户确认 slug 和显示名称。

阶段 2:摄取 将数据源导入数据集,可多次调用实现增量摄取:

python scripts/ingest.py --slug {slug} --source <path> [--adapter <name>] [--since <date>]

三种适配器覆盖所有支持的格式:universal(Obsidian 仓库、GBrain 导出、.md/.txt/.csv/.pdf/.jsonl/.json)、chat_export(WhatsApp/Telegram/Signal/iMessage)、social(X/Twitter、Instagram 存档)。

摄取流程:解析 → PII 扫描(SSN、信用卡、邮箱、密码模式)→ SHA-256 哈希去重 → 写入 sources/ 备份 → 存入 MemoryPalace → 提取知识图谱三元组 → 报告。

阶段 3:Wiki 构建(由 agent 智能驱动,非脚本) 摄取新数据后,agent 读取 MemoryPalace 内容与知识图谱关系,按 Karpathy LLM Wiki 模式构建或更新 wiki 页面,使用证据标签 [L1:source]、[L2]、[L3:inferred]、[L4:inspired]。涉及摄取操作、查询操作、lint 操作(运行 python scripts/lint_wiki.py --slug {slug} 检查断链、空页面、未解决矛盾、证据覆盖、源覆盖)。relationships.md 和 timeline.md 由知识图谱自动生成。

阶段 4:导出 生成与 persona-model-trainer 兼容的 training/ 目录:

python scripts/export_training.py --slug {slug} --output training/

每次导出自动版本化(v1、v2…),可用 --version 覆盖,用 --list 查看历史。输出包含:training/raw/(源文件直接拷贝)、conversations.jsonl(由 wiki 页面生成的结构化问答对)、profile.md(300-500 字角色表)、metadata.json(含版本与哈希信息,形成从源数据到训练模型适配器的完整溯源链)。

后续可训练本地人格模型:

bash skills/persona-model-trainer/scripts/pipeline.sh \ --slug {slug} \ --model google/gemma-4-E4B-it \ --source ./training \ --method mlx \ --preset gemma4 \ --probes ./training/probes.json

阶段 5:搜索 使用 MemoryPalace 语义检索与知识图谱查询:

mempalace search "how does this person handle conflict" --wing {slug}

python scripts/query_kg.py --slug {slug} --entity "Tom"

支持实体关系查询、最短路径、统计、JSON 输出,以及 mempalace wake-up --wing {slug} 唤醒摘要。

阶段 6:维护 新增源(重跑阶段 2)、移除源、wiki lint、数据集统计、列出数据集(ls ~/.openpersona/knowledge/)。

工具与脚本

内置工具:Bash、Read、Write、WebSearch。脚本:scripts/init_knowledge.py、scripts/ingest.py、scripts/export_training.py、scripts/lint_wiki.py、scripts/query_kg.py。

参考资料

references/wiki-schema.md(Karpathy wiki 结构规范与维护规则)、references/source-formats.md(支持的数据源格式与适配器细节)。

限制

资料未提供收费、价格、平台支持范围等具体信息。当用户仅需一次性蒸馏或数据少于 50 条消息时,该工具不适用。