menglimi/astrbot_plugin_private_companion
面向 AstrBot 的拟人化整合插件。它会让 bot 拥有连续的拟人状态、每天的生活日程、重要日期、日记和低频主动消息。包含60+实用功能且具有完善的拓展管理页面。
AstrBot 专属陪伴插件 – “我会永远陪着你”
简介 – 这是一个为开源聊天机器人框架 AstrBot 设计的插件,添加了一个长期的、由个性驱动的“陪伴”层。该插件保持持续的 lifestyle 上下文(状态、日程、关系、梦想、健康等),并利用该上下文在私聊、群聊或通过可选的独立 Web UI 生成反应式回复和主动消息(问候、提醒、图片发布、语音消息等)。
核心理念
AstrBot 已经提供了一个基础的“人格”来回答传入的消息。这个插件不替换该人格;它通过一个角色的活生生模拟来增强它,该角色:
- 维护每日状态、日程、位置、天气、健康、饥饿感和可选的周期性情绪。
- 追踪与主要用户(“主陪伴”)和次要用户的关系,存储亲密度级别、互动阶段和最近的话题。
- 基于模拟的生活事件、时间窗口、令牌限制和权限检查生成主动行为(文本、图片、语音、戳一戳、屏幕截图等)。
- 记录每个决定(消息发送或被阻止的原因、令牌使用情况、审计跟踪)以便调试和透明化。
- 可以通过可选模块扩展,用于图像生成、内容创作、ComfyUI、现实世界设备交互等。
主要功能
| 领域 | 插件功能 |
|---|---|
| 生活连续性 | 每日状态(能量、情绪、睡眠、健康、饥饿感)、详细日程、位置、天气、农历、可选的周期性模拟。 |
| 私聊陪伴 | 个性化问候、未完成话题的记忆、轻量级用户档案、速率限制的主动联系、可配置的用户语气。 |
| 主动行为 | 发送文本、图片、语音、戳一戳、屏幕截图、外部工具调用、分段消息、引用触发器。 |
| 群聊理解 | 观察允许的群组,构建群组氛围,追踪成员、俚语、话题线程、短期记忆、关系图,并在适当时插入评论。 |
| 多模态 | 处理私聊图片、GIF 帧提取、图片引用、合并转发、生成图片(通过关联的图片插件)、TTS、撤回消息的短期回忆。 |
| 内容生活 | 新闻、AI 日报、主动网络搜索、B 站高光、梦境日志、日记条目、笔记;如果适配器存在,可以与 QQ 空间同步。 |
| 成长与记忆 | 技能进度、个人非创造性目标、自我时间线、关系观察、记忆助手集成。 |
| 管理与诊断 | 可视化“陪伴面板”、模型路由、令牌和余额概览、配置迁移、主动行为审计、内置 FAQ。 |
可选扩展(单独安装)
astrbot_plugin_image_companion– 图像生成(文生图)及相关命令。astrbot_plugin_content_companion– 创意写作、故事/专辑管理。astrbot_plugin_comfyui– 用于图像生成的本地 ComfyUI 工作流。astrbot_plugin_reality_companion– 摄像头/音频设备交互(现实世界的“我会陪着你”)。- 额外的“记忆”、“一起”、“屏幕”、“直播”陪伴,每个都添加一组专注的能力。
安装
| 方法 | 步骤 |
|---|---|
| 插件市场 (AstrBot WebUI) | 搜索 astrbot_plugin_private_companion,安装,重启 AstrBot。 |
| Git 安装 | 在 AstrBot 的插件管理器中,选择从 Git 安装并输入 https://github.com/menglimi/astrbot_plugin_private_companion。 |
| ZIP 上传 | 使用 python scripts/build_plugin_package.py 构建包(生成 dist/astrbot_plugin_private_companion‑vX.Y.Z.zip)并通过 WebUI 上传。 |
| 手动复制 | 将仓库克隆到 <AstrBot data>/plugins/astrbot_plugin_private_companion。 |
| 独立 WebUI (可选) | 在配置中启用 enable_standalone_webui,设置访问令牌,然后访问 http://127.0.0.1:6190/。 |
快速开始检查清单(约 10 分钟)
- 打开陪伴面板 → 确认插件无错误加载。
- 设置世界知识 – 指向主要的 AstrBot 人格并添加任何额外的角色或世界描述。
- 模型页面 – 为低延迟任务选择一个快速模型,为日程/关系推理选择一个复杂模型,以及(如果你有图像插件)一个视觉模型。
- 填写基本配置 – 机器人名称、时区、免打扰时间和主要用户 ID。
- 在私聊选项卡中,将主要用户标记为主用户。
- 在私聊中发送
陪伴 状态;你应该看到机器人的当前状态、日程和下一个主动候选项。 - (可选) 启用群聊观察,白名单一个群组,并用
陪伴群 状态测试。 - 根据需要逐步开启额外能力(图像、语音、屏幕截图、新闻等)。
工作原理(高层流程)
- 被动回复 – 当消息到达时,插件构建一个分层上下文(人格 → 时间 → 关系 → 内容 → 发送前检查),并在将其交给 LLM 提供商之前添加自己的提示词。
- 主动候选项 – 生活事件、日程项目、提醒、天气变化、新闻等生成候选行为。每个候选项通过:
- 时间窗口和价值评分
- 用户/关系/免打扰检查
- 人格级别决策
- 文本生成 / 外部工具执行
- 最终审计(重复检测、隐私保护、令牌预算)
- 发送 → 日志 → 更新记忆
- 状态与日程 – 存储在 JSON(默认)或 SQLite(可选)中。插件在每次交互后更新状态,并可以通过面板导出/导入。
- 关系引擎 – 八个亲密度阶段 + 主用户的“专属纽带”;七个互动强度级别;自动衰减、上限和可配置的“道歉”修复逻辑。
- 多人格模式 (默认关闭) – 每个人格都有自己的独立状态、日程、日记和令牌核算。
配置亮点
- 令牌限制 – 硬限制停止所有新的 LLM 任务;软限制节流低优先级后台任务(新闻、图像生成等)。
- 模型路由 – 快速/复杂/创意/视觉模型可以按任务分配;如果模型缺失,则回退到 AstrBot 默认值。
- 图像生成 – 每日穿搭、用户请求生成、编辑或自动“生活事件”图片;支持多个后端(在线 API、ComfyUI、SDGen)并自动回退。
- TTS – 文本转语音可以与回复一起发送或作为单独的语音消息发送;支持 Fish-Audio 模型和可选的 MiMo 语音克隆集成。
- 隐私与安全 – 插件从不存储或转发成人内容;基于关系的权限防止隐私或设备访问的升级。
获取帮助
- Wiki – https://vue.syuan.org (安装、配置、FAQ)
- Issues – 仓库的 GitHub Issues 页面
- QQ 群 – 1097283005
- 赞助 – 通过提供的爱发电链接进行可选支持(无功能影响)。
总结
astrbot_plugin_private_companion 是一个功能齐全、可扩展的 AstrBot 陪伴层,赋予聊天机器人持久的“生活”、关系记忆和主动行为,同时保持所有可审计和可配置。通过 AstrBot 的插件市场安装,配置主用户和模型,机器人将开始问候你、记住过去的谈话、发布每日状态更新,并(如果你启用额外模块)生成图像、语音消息,甚至与现实世界设备交互。所有行为都由 JSON/SQLite 状态文件驱动,并可以通过内置的 Web 面板进行检查或调整。
相关
- 项目
- 项目
- 项目
- 项目
- 项目