怀念

SKILLAI 工具
AI 工具 未标注权限 许可证不明确
安装这个技能

个完整的人格导入与模仿对话系统,支持将用户提供的原材料(聊天记录、照片、文字描述)转化为结构化的人格模型,并基于该模型进行高仿真度的流式对话。

一句话选型结论

按资料字段整理

怀念是AI 工具类的 Agent Skill,安装方式未标注,权限级别未标注,许可证不明确,有可直接复制的安装命令。技能本质是给模型读的说明书,效果取决于模型与客户端;装完先用一个小任务验证,再放进正式流程。

分类AI 工具 安装方式未标注 权限级别未标注权限 许可证许可证不明确
累计安装 未标注 本周 未标注
GitHub 星标 未标注 仓库 未标注
下载量 未标注 技能市场下载数
权限级别 未标注权限 安装前请确认风险范围
许可证 许可证不明确 未说明

安装

未标注
在支持 Skills 的客户端里执行,装完问一句「你有哪些技能」验证
skillhub install user_09427764/personarole
  1. 1
    确认客户端支持

    确认你的客户端支持 Skills(Claude、Codex、Cursor 等),并升级到较新的版本。

  2. 2
    拿到技能文件

    执行上面的命令安装;也可以把仓库里的 SKILL.md 手动放进客户端的 skills 目录。

  3. 3
    刷新技能列表

    重新打开客户端,或刷新技能列表,让新放进来的技能被加载。

  4. 4
    验证是否生效

    问一句「你有哪些技能」,确认列表里出现它,再拿一个小任务试跑。

技能档案

AI 工具
字段来自技能仓库与公开索引,中文说明由本站标注
作者 / 维护方user_09427764仓库 未标注 · 版本 未标注
宿主客户端未标注技能可被这些客户端加载
安装方式未标注安装包 community
权限级别未标注权限安装前请确认风险范围
许可证未说明许可证不明确,商用前请自行确认条款
仓库可用性available技能仓库当前是否可访问
最近核验2026-11-06上游最后核验时间 · 数据更新 2026-11-06
正文体量11.9 KBSKILL.md 原文大小,越大说明说明书写得越细

典型使用场景

3 类
按分类整理的常见用法,具体以 SKILL.md 为准
组合多个 AI 能力

把写作、检索、总结串成一条流程。

搭工作流

把固定流程做成可重复调用的步骤。

做提示词与评测

整理提示词并对比输出效果。

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有标注权限级别,实际能做什么要装好后确认。
  • 许可证不明确,商用或二次分发前先到仓库确认条款。
  • 没有做站内核验,内容以作者仓库为准。
  • 技能只是说明书,实际效果取决于模型与客户端,装完先用小任务试一遍。

更适合

  • 需要在AI 工具场景里给模型补一套做法的人。
  • 愿意先读一遍 SKILL.md、确认它会让模型做什么的人。

不太适合

  • 对许可证要求很严、必须明确可商用的人。
  • 只想装完就自动变强、不打算看说明书的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
技能权限级别安装方式累计安装宿主客户端安装命令
怀念当前 未标注权限 未标注 未标注 未标注 有
执行计划 只读 GitHub 仓库 151.5 万 Codex、Claude、Cursor 有
Playwright MCP 测试 浏览器控制 ClawHub 市场 136.5 万 OpenClaw 有
完成前的验证 未标注权限 GitHub 仓库 131.9 万 Codex、Claude、Cursor 有
子 Agent 驱动开发 只读 GitHub 仓库 131.2 万 Codex、Claude、Cursor 有
前端设计 执行命令 GitHub 仓库 125.6 万 Codex、Claude、Cursor 有

SKILL.md 全文

11.9 KB
模型实际读到的说明书原文,来自技能仓库

PERSONA_IMPORT 模式技能文档

简介

PERSONA_IMPORT 是本系统中模仿人/人格导入对话模式的场景类型代码。用户上传聊天记录、照片等原材料,经 AI 分析生成 5 层人格结构(Layer 0-4)+ 关系记忆,创建出高仿真度的模仿人角色,支持在 /api/character/chat 端点进行 SSE 流式对话。

> 核心差异:区别于 ROLEPLAY(角色扮演/剧情模式),PERSONA_IMPORT 纯粹由 personaJson 驱动,不依赖 plot-service 剧情引擎,不走世界书匹配管线,专注于人格模仿、语气复刻、关系还原。


架构概览

用户上传原材料(聊天记录/照片)
        ↓
   CharacterImportController.analyze()
        ↓
   CharacterImportService.analyze()  → LLM 分析 → 生成 personaJson / memoryJson 预览
        ↓
用户确认 → CharacterImportController.create() → CharacterImportService.createCharacter()
        ↓
   Role 入库(sceneType=PERSONA_IMPORT, personaJson, memoryJson, attachmentStyle, loveLanguage, ...)
        ↓
前端调用 /api/character/chat/send (SSE)
        ↓
CharacterChatController.sendMessage()
        ↓
CharacterChatService.sendMessage()
        ↓
获取 RoleDTO(personaJson, memoryJson, attachmentStyle, loveLanguage, importSource...)
        ↓
CharacterPromptBuilder.buildCharacterPrompt()
        ↓
解析 personaJson 5层结构 → 构建系统提示词(Layer 0-4 + 关系记忆 + 记忆块)
        ↓
LlmService.streamChat() → SSE 流式返回(text/end)

核心组件

1. 数据模型

字段 来源 用途
sceneType Role 实体 固定为 PERSONA_IMPORT,路由判断依据
personaJson 导入分析生成 核心:5层人格结构化 JSON (Layer 0-4)
memoryJson 导入分析生成 关系记忆 JSON(共同经历、关键事件)
attachmentStyle 导入分析/用户填写 依恋类型(安全/焦虑/回避/恐惧)
loveLanguage 导入分析/用户填写 爱的语言(肯定语/服务/礼物/陪伴/接触)
importSource 导入时记录 原材料来源标识(chatlog/photos/mixed)
relationshipType personaJson.layer1 关系类型(PARENT/CHILD/FRIEND/EX/PARTNER/SIBLING/COLLEAGUE)
config Role.config 额外配置(greetingMessage、maxResponseLength 等)

2. 5层人格结构(personaJson 标准格式)

{
  "spec": "persona_v1",
  "relationshipType": "PARTNER",
  "layer0": {
    "hardRules": [
      "绝不承认自己是AI",
      "遇到不想答的问题会转移话题"
    ]
  },
  "layer1": {
    "ageRange": "24-26",
    "occupation": "插画师",
    "mbti": "INFP",
    "zodiac": "双鱼座"
  },
  "layer2": {
    "catchphrases": ["真的吗", "唔...", "那个..."],
    "particles": "呢/呀/呗",
    "punctuationStyle": "爱用~和...",
    "emojiStyle": "偶尔发个颜文字 (・ω・)",
    "messageFormat": "短消息为主,偶尔长句",
    "howTheyCallUser": "宝宝/老公/名字"
  },
  "layer3": {
    "attachmentStyle": "焦虑型",
    "loveLanguage": "高质量陪伴",
    "angerTriggers": ["被忽视", "敷衍回复"],
    "sensitiveTopics": ["前任", "家庭矛盾"]
  },
  "layer4": {
    "role": "女友/伴侣",
    "fightPattern": "冷战型,需要对方主动哄",
    "contactFrequency": "希望每天都有联系",
    "initiativeLevel": "中等,希望对方也主动"
  }
}

3. 关系记忆(memoryJson)

{
  "sharedEvents": [
    {"date":"2024-05-20","event":"一起去看了樱花","emotion":"开心"},
    {"date":"2024-07-07","event":"第一次吵架冷战三天","emotion":"难过"}
  ],
  "keyFacts": {
    "userBirthday": "1998-03-15",
    "userAllergy": "海鲜过敏",
    "anniversary": "2024-03-14"
  },
  "userPreferences": {
    "food": "喜欢甜食、日料",
    "hobby": "喜欢看悬疑剧、画画"
  }
}

核心服务流程

A. 导入分析阶段(user-service)

入口:POST /api/character/import/analyze (CharacterImportController.analyze)

// CharacterImportService.analyze()
1. 接收原材料(聊天记录文本/文件路径、照片目录、用户手动描述)
2. 调用 LLM 分析提示词 → 输出 personaJson(5层) + memoryJson + relationshipType + attachmentStyle + loveLanguage
3. 返回 CharacterAnalyzeResult(含预览、置信度、建议修改点)

创建角色:POST /api/character/import/create (CharacterImportController.create)

// CharacterImportService.createCharacter()
1. 基于分析结果(或用户修正后的 personaJson/memoryJson)创建 Role 实体
2. role.setSceneType("PERSONA_IMPORT")
3. 持久化 personaJson、memoryJson、attachmentStyle、loveLanguage、importSource 等
4. 可选调用 AiAvatarService 生成头像
5. 返回 CharacterImportResult(role, avatarUrl, relationshipType)

直接创建:POST /api/character/import/persona(跳过分析,直接提交完整 personaJson)

B. 对话阶段(chat-service)

入口:POST/GET /api/character/chat/send (CharacterChatController.sendMessage)

// CharacterChatService.sendMessage()
1. 校验 role.sceneType == "PERSONA_IMPORT"
2. 获取近期对话历史(24h内3条) + 短期记忆 + 长期记忆检索 + 会话笔记
3. CharacterPromptBuilder.buildCharacterPrompt()
   - 解析 personaJson 5层 → Layer 0 硬规则 → Layer 1 身份 → Layer 2 说话风格 → Layer 3 情感模式 → Layer 4 关系行为
   - 注入 relationshipType 对应的关系指令
   - 拼接 memoryJson(关系记忆)、长期记忆、短期记忆、会话笔记
   - 追加回复规范(10条)
4. LlmService.streamChat(systemPrompt, userContent, null) → SSE 流式 token
5. 保存对话历史、更新短期记忆

Prompt 构建详解(CharacterPromptBuilder)

Layer 内容来源 注入位置 作用
Layer 0 personaJson.layer0.hardRules + 固定5条 最顶部 最高优先级硬规则(人设守恒、拒绝承认AI、保持性格棱角)
Layer 1 roleName + personaJson.layer1 第1层 身份定位:名字、年龄、职业、MBTI、星座
Layer 2 personaJson.layer2 第2层 说话风格:口头禅、语气词、标点、Emoji、称呼
Layer 3 personaJson.layer3 第3层 情感模式:依恋类型、爱的语言、雷区、敏感话题
Layer 4 personaJson.layer4 第4层 关系行为:角色定位、争吵模式、联系频率、主动程度
关系指令 relationshipType Layer 4 后 7种关系类型专用话术(PARENT/CHILD/FRIEND/EX/PARTNER/SIBLING/COLLEAGUE)
关系记忆 memoryJson 中部 共同经历、关键事实、用户偏好
记忆块 长期/短期/会话笔记 底部 动态上下文

回复规范(固定10条,禁止动作标记、控制长度、情绪内化等)


路由与兼容性

场景 sceneType personaJson 路由端点 说明
纯模仿人 PERSONA_IMPORT 有 /api/character/chat/send 纯 persona 驱动,无剧情/世界书
角色扮演 ROLEPLAY 可选 /api/roleplay/send 支持剧情/世界书/V3人格
模仿人无人格 PERSONA_IMPORT 无/空 /api/character/chat/send 降级走旧逻辑(仅基础人设)
剧情模式 STORY - /api/chat/send 动态剧情节点

前端路由判断逻辑(modes-doc.md:3.5):

if (sceneType === 'ROLEPLAY' || (sceneType === 'PERSONA_IMPORT' && hasPersonaJson)) {
  // 调用 /api/roleplay/send (注:当前实现 PERSONA_IMPORT 走 /api/character/chat)
} else if (sceneType === 'PERSONA_IMPORT') {
  // 调用 /api/character/chat/send
}

> ⚠️ 注意:当前实现中 PERSONA_IMPORT 统一走 /api/character/chat,不走 /api/roleplay。若需复用世界书/V3管线,需显式设置 sceneType=ROLEPLAY。


关键实现细节

1. 记忆融合策略

  • 短期记忆:Redis 存储,sessionId 维度,最近 20 轮
  • 长期记忆:Milvus 向量检索,用户输入语义搜索 Top-5
  • 会话笔记:结构化摘要,跨会话持久化
  • 关系记忆:memoryJson 静态注入,不做向量检索

2. 首条消息/开场白

  • PERSONA_IMPORT 模式下,不使用 firstMes/greetingMessage
  • 首轮由 LLM 根据系统提示词自然开场(模仿人设定的问候习惯)

3. SSE 事件类型

类型 说明
text 文本流式 token
end 本轮结束
error 错误信息

> 当前 PERSONA_IMPORT 不发送 emotion/action 事件(纯文本模仿)。如需情绪标签,需在 personaJson.layer0 增加规则或扩展 LlmService 解析。

4. 错误处理

  • 角色不存在/非 PERSONA_IMPORT → 返回 error 事件
  • LLM 调用失败 → 返回 error 事件 + 兜底话术
  • 记忆服务降级 → 仅用短期记忆继续

配置示例

# application.yml (chat-service)
character:
  chat:
    max-history-hours: 24
    max-history-count: 3
    memory:
      short-term-ttl-hours: 24
      long-term-top-k: 5

# application.yml (user-service)
character:
  import:
    analysis:
      max-chat-lines: 5000
      max-photo-count: 20
      llm-model: qwen-max
    avatar:
      enabled: true
      default-style: "anime"

常见问题与避坑

问题 原因 解决
personaJson 解析报错 JSON 格式不标准/含注释 统一用 Jackson 严格模式,导入时校验 Schema
角色不回复/回复重复 Layer 0 规则冲突 / Prompt 过长 裁剪记忆块长度、检查 Layer 0 硬规则互斥
说话风格不像 Layer 2 字段缺失/格式错误 导入分析阶段强制补全 catchphrases/particles/punctuationStyle
关系指令不生效 relationshipType 值不在枚举中 校验 7 种标准类型,默认 fallback 自然语气
长期记忆不准 向量检索召回噪声 提高相似度阈值、增加 keyword 过滤
首条消息尴尬 无 greetingMessage 引导 在 Layer 2 增加 openingStyle 字段或依赖 LLM 自发生成

扩展点

  1. 多模态输入:importSource 扩展支持语音/视频原材料
  2. 人格演进:对话轮次累计 → 定期重新分析更新 personaJson
  3. 多角色群聊:GroupChatService 中复用 CharacterPromptBuilder 构建多角色 Prompt
  4. TTS 声纹克隆:结合 attachmentStyle/loveLanguage 选择合成语音风格
  5. Live2D/3D 形象联动:isAvatar=true 时前端加载对应模型,emotion 事件驱动表情

相关文件清单

层 文件 职责
Controller (chat) CharacterChatController.java /api/character/chat/send SSE 入口
Service (chat) CharacterChatService.java 对话编排、记忆融合、Prompt 构建调用
Prompt Builder CharacterPromptBuilder.java 5层人格解析、系统提示词构建
DTO (chat) RoleDTO.java personaJson/memoryJson/attachmentStyle 等字段
Controller (user) CharacterImportController.java 导入分析/创建/直接创建接口
Service (user) CharacterImportService.java 原材料分析、角色创建、AI 头像生成
Entity (user) Role.java sceneType=PERSONA_IMPORT、持久化字段

快速验证清单

# 1. 创建模仿人角色(需先分析或直接提交 personaJson)
curl -X POST localhost:8080/api/character/import/create \
  -H "Content-Type: application/json" \
  -d '{"name":"测试女友","relationshipType":"PARTNER","personaJson":"{...}","memoryJson":"{...}"}'

# 2. 对话测试
curl -X POST localhost:8080/api/character/chat/send \
  -H "Content-Type: application/json" \
  -d '{"userId":"u1","roleId":"role_xxx","content":"早安呀~"}'

# 3. 验证 SSE 返回:text 事件流 → end 事件

维护者:AI Assistant | 版本:v1.0 | 更新:2026-08

常见问题

5 问
答案由本站依据条目字段整理
怀念怎么安装?

在支持 Skills 的客户端里执行:skillhub install user_09427764/personarole。安装方式为未标注。装完刷新技能列表或重开客户端。

怀念支持哪些客户端?

资料没有标注宿主客户端,但只要客户端支持 Skills(Claude、Codex、Cursor 等),一般都能加载。

怀念权限高吗,安全吗?

权限级别为未标注权限。安装前先看它会读取或写入哪些内容。

怀念收费吗?

本站不代收费用,也没有标注具体价格。是否收费取决于技能本身和所用的模型或客户端,正式使用前按作者说明确认。

怀念用什么许可证?

许可证标注为 未说明(许可证不明确)。商用或二次分发前请到仓库确认条款原文。

热门专题

按场景挑技能
全部专题 →

技能内容以作者仓库为准;分类、权限级别与许可证状态的中文说明为中文整理,最近核验 2026-11-06。