Skip to content

仿言分身 (Echo Avatar) 是一个为 AstrBot 设计的独特插件,它能够学习并模仿指定用户的语言风格,并利用强大的大型语言模型(LLM)生成具有该用户特色的 Prompt。

License

Notifications You must be signed in to change notification settings

oyxning/astrtbot_plugin_echo_avatar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

仿言分身 (Echo Avatar) v1.0.1

仿言分身 (Echo Avatar) 是一个为 AstrBot 设计的、强大的数字人格构建与模仿插件。它不再仅仅是模仿,而是通过一个多维度的数据模型,让您可以为指定用户构建一个立体、丰满的“数字人格”,并让 LLM 基于此进行高质量的风格化创作。

核心理念:从模仿到构建

V1.0.1版本实现了一个核心的转变:从单纯的语言风格模仿,升级为多维度的数字人格构建。我们认识到,一个人的特点不仅仅体现在说话方式上,还包括其核心设定、他人印象等。本插件旨在整合这些信息,创造出更可信、更立体的数字分身。

✨ 功能特性

  • 多维人格构建:
    • 用户资料: 记录昵称等核心信息。
    • 管理员批注: 由管理员添加的、具有最高优先级的核心设定,用于修正和补充关键信息。
    • 第三方记忆: 开放给所有用户的功能,可以为目标用户添加印象、趣闻等,实现众包式的信息补充。
    • 聊天记录: 插件自动记录用户的语言风格作为基础。
  • 权重化智能分析: 在生成 Prompt 时,LLM 会严格按照“管理员批注 > 用户资料 > 聊天记录 > 第三方记忆”的权重顺序进行分析,确保生成内容的准确性和趣味性。
  • 可视化数据预览: 新增 数据预览 指令,可将用户的所有维度数据渲染成一张精美、直观的 HTML 报告图片,方便管理员全面掌握人格数据。
  • 精细化数据管理:
    • 独立存储: 每个用户的多维度数据都存储在独立的数据库文件中,安全隔离。
    • 指令化管理: 提供丰富的指令,用于完善资料、添加批注/记忆、查询状态和一键清理数据。

⚙️ 数据权重与工作流

为了让LLM能够准确地构建人格,插件对不同来源的数据设定了优先级:

管理员批注 > 用户资料 > 聊天记录 > 第三方记忆

  • 管理员批注: 拥有绝对的最高优先级。这是不容置疑的“事实”,用于修正LLM可能从聊天记录中产生的错误认知。例如,批注可以明确指出某个ID是人名而非地名。
  • 用户资料: 权重很高,是人格的基本信息。
  • 聊天记录: 是学习语言风格和用语习惯的主要来源。
  • 第三方记忆: 作为辅助参考,用于丰富细节。当它与更高权重的数据冲突时,应被忽略。

🛠️ 安装方式

本插件已在 AstrBot 官方插件市场发布。

您只需进入 AstrBot 的 WebUI,在 “插件” -> “插件市场” 中搜索 “Echo Avatar”“仿言分身”,点击安装即可。

📝 指令指南

一、 管理员指令

以下指令仅供全局管理员使用。

1. 首次配置

  • 功能: 设置需要监控和构建人格的用户列表。
  • 操作: 进入 AstrBot WebUI -> 插件 -> 仿言分身 (Echo Avatar) -> 配置 -> 在 target_users 字段中添加用户ID。

2. 人格数据录入

  • 完善用户资料:
    • 用途: 设置用户的核心信息,目前支持“昵称”。
    • 指令: /echo_avatar 完善资料 <用户ID> 昵称 <昵称内容>
    • 示例: /echo_avatar 完善资料 12345678 昵称 星穹列车长
  • 添加管理员批注 (高权重):
    • 用途: 添加关于用户的核心设定或需要修正的关键信息。
    • 指令: /echo_avatar 添加批注 <用户ID> <批注内容>
    • 示例: /echo_avatar 添加批注 12345678 他的搭档“三月七”不是指月份,而是一个人的名字。

3. 数据管理与预览

  • 查询状态:
    • 用途: 查看当前正在监控的用户列表。
    • 指令: /echo_avatar 状态
  • 数据预览:
    • 用途: 生成一张包含该用户所有信息的图片报告。
    • 指令: /echo_avatar 数据预览 <用户ID>
    • 示例: /echo_avatar 数据预览 12345678
  • 清理数据:
    • 用途: 永久删除某个用户的所有相关数据。
    • 指令: /echo_avatar 清理数据 <用户ID>
    • 示例: /echo_avatar 清理数据 12345678
    • ⚠️ 警告:此操作不可逆,请谨慎使用!

4. 核心功能

  • 生成Prompt:
    • 用途: 基于所有维度的信息,生成最终的模仿Prompt。
    • 指令: /echo_avatar 生成 <用户ID>
    • 示例: /echo_avatar 生成 12345678

二、 公共指令

以下指令所有用户均可使用。

1. 添加第三方记忆 (低权重)

  • 用途: 为被监控的用户添加你的印象或相关趣事,丰富其人格细节。
  • 指令: /echo_avatar 添加记忆 <用户ID> <记忆内容>
  • 示例: /echo_avatar 添加记忆 12345678 我记得他上次在群里分享了一个很有趣的冷笑话。

⚠️ 注意事项

  • 本插件会将指定用户的聊天记录以纯文本形式存储在本地独立的数据库文件中,路径为 data/astrtbot_plugin_echo_avatar/user_data/<用户ID>.db。请确保 AstrBot 运行环境的磁盘安全。
  • 生成 Prompt 的质量高度依赖于所记录的数据量和多样性。数据越丰富,模仿得越像。
  • 请在遵守相关法律法规和平台用户协议的前提下使用本插件,尊重用户隐私。

🧑‍💻 作者

  • LumineStory

🔗 仓库地址

github.com/oyxning/astrtbot_plugin_echo_avatar

💡 另:插件反馈群

由于作者持续的那么一个懒,平常不会及时的看issues,所以开了个QQ反馈群方便用户及时的拷打作者。

  • 群号:928985352
  • 进群密码:神人desuwa

About

仿言分身 (Echo Avatar) 是一个为 AstrBot 设计的独特插件,它能够学习并模仿指定用户的语言风格,并利用强大的大型语言模型(LLM)生成具有该用户特色的 Prompt。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages