Windpicker-owo
|
59081848e2
|
feat(memory): 移除传统内存系统并优化内存图谱
- 移除整个传统内存系统,包括内存系统模块及所有相关组件
- 删除弃用的内存组件:增强型内存激活器、海马体采样器、内存构建器、内存块、内存遗忘引擎、内存格式器、内存融合器、内存管理器、内存元数据索引、内存查询规划器、内存系统、消息集合处理器、消息集合存储、向量内存存储_v2
- 更新内存图配置,采用增强型检索设置
- 优化内存管理器查询功能,以分析完整对话上下文
- 更新机器人配置模板版本至7.6.1,新增内存图表检索参数
重大变更:旧版内存系统已被完全移除。所有内存功能现依赖于内存图系统。请更新配置以包含新的内存图检索参数。
|
2025-11-19 23:34:57 +08:00 |
|
Windpicker-owo
|
0abf76a688
|
fix(affinity-interest-calculator): 限制总分和兴趣匹配分数上限为1.0,确保评分合理
|
2025-11-19 23:32:01 +08:00 |
|
Windpicker-owo
|
914fe59a10
|
refactor(chat): 将用户引用处理从同步改为异步,优化性能
|
2025-11-19 23:32:00 +08:00 |
|
tt-P607
|
5842f36316
|
refactor(chatter): 优化主动思考提示词
|
2025-11-19 23:31:59 +08:00 |
|
Windpicker-owo
|
5e6e56454d
|
feat(affinity-flow): 通过标签扩展与提及分类增强兴趣匹配
- 实施扩展标签描述以实现更精确的语义匹配
- 增加强/弱提及分类,并附带独立的兴趣评分
- 重构机器人兴趣管理器,采用动态嵌入生成与缓存机制
- 通过增强的@提及处理功能优化消息处理
- 更新配置以支持回帖提升机制
- 将亲和力流量聊天重新组织为模块化结构,包含核心、规划器、主动响应和工具子模块
- 移除已弃用的规划器组件并整合功能
- 为napcat适配器插件添加数据库表初始化功能
- 修复元事件处理器中的心跳监控
|
2025-11-19 23:31:58 +08:00 |
|
minecraft1024a
|
28ec9139de
|
refactor(plugins): 整合权限和插件管理功能至系统管理插件
将原有的 `permission_management` 和 `plugin_management` 插件的功能合并到 `system_management` 插件中,以简化内置插件结构并统一管理入口。
- 删除了独立的 `permission_management` 和 `plugin_management` 插件目录。
- 将权限管理和插件管理的命令逻辑迁移至 `system_management` 插件的 `SystemCommand` 类中。
- 通过这种方式,核心的管理功能被集中到一个统一的 `/system` 命令下,提高了内聚性并减少了维护开销。
|
2025-11-19 23:31:54 +08:00 |
|
minecraft1024a
|
2b6ad8493b
|
feat(system): 为系统管理命令添加权限控制
为 `system` 命令添加了 `system.access` 权限节点,并为 `execute` 方法增加了权限检查。现在只有拥有 `system.access` 权限的用户才能执行系统管理相关操作,提升了机器人的安全性。
|
2025-11-19 23:31:54 +08:00 |
|
minecraft1024a
|
0127f45193
|
feat(plugin): 新增统一系统管理插件
主要变更:
- 插件整合: 将原有的 permission_management 和 plugin_management 插件合并为一个全新的 system_management 插件,统一了管理入口。
- 功能扩展: 在新插件中加入了对 unified_scheduler 定时任务的管理功能,包括查看、暂停和恢复。
命令统一: 所有相关功能现在都整合在新的 /system 主命令下,并通过子命令 permission、plugin 和 schedule 进行调用,提升了易用性。
- 权限重构: 为新的管理功能设计并添加了独立的权限节点 (system.schedule.view, system.schedule.manage),确保了系统的安全性。
|
2025-11-19 23:31:53 +08:00 |
|
Windpicker-owo
|
dfb0626521
|
refactor(tool_use): 添加工具调用历史记录功能,优化工具执行器的提示词和历史管理
refactor(chat_stream_impression_tool): 简化聊天流印象更新逻辑,直接使用传入参数更新
refactor(user_profile_tool): 优化用户画像更新逻辑,直接覆盖更新并移除二步调用机制
|
2025-11-19 23:31:53 +08:00 |
|
Windpicker-owo
|
0e024d30c2
|
refactor(json_parser): 统一 LLM 响应的 JSON 解析逻辑,简化代码并提高解析成功率
|
2025-11-19 23:31:52 +08:00 |
|
minecraft1024a
|
dc8e3dd4cd
|
refactor(permission): 将权限节点定义从命令类移至插件主类
将 `permission_nodes` 的定义从 `PermissionCommand` 类移动到 `PermissionManagerPlugin` 类。
这样的结构更加合理,因为权限节点是插件级别的概念,而非特定于某个命令。此更改提高了代码的可读性和可维护性,将插件的核心定义集中在一起。
|
2025-11-19 23:31:50 +08:00 |
|
Windpicker-owo
|
c66bd86095
|
refactor(planner): 将缓存消息刷新逻辑移至规划器开始时执行
|
2025-11-19 23:31:44 +08:00 |
|
明天好像没什么
|
3db00aa8f3
|
ruff归零
|
2025-11-19 23:31:42 +08:00 |
|
tt-P607
|
f816150782
|
refactor(chatter): 简化规划器提示词并优化 no_reply 条件
移除向规划器提供近期已执行动作的上下文。
该上下文可能对模型造成干扰或导致重复性回复,移除后可以简化提示词,并可能提高规划质量。
同时,为 no_reply 动作增加了一个新的触发条件,使其可以在认为对方还未说完话时使用,让对话节奏更自然。
|
2025-11-19 23:31:39 +08:00 |
|
明天好像没什么
|
ff6dc542e1
|
rufffffff
|
2025-11-19 23:31:37 +08:00 |
|
tt-P607
|
421e05f03f
|
fix(emoji): 将 QQ 表情 '汪汪' 更正为 '滑稽狗头
|
2025-11-19 23:31:33 +08:00 |
|
tt-P607
|
22c6475def
|
fix(proactive-chatter): 为所有主动交互提示提供统一的时间上下文
修正了 `simple_bubble_reply` 提示中缺失时间信息的问题。此前的疏忽可能导致模型在不了解当前时间的情况下生成回复。
为确保一致性并修复此问题,引入了一个通用的 `time_block` 变量。该变量现在被系统性地添加到所有主动思考流程的提示(决策、抛话题、简单回复)中,确保模型在进行任何主动交互时都能获得准确的时间锚点,从而提高其响应的恰当性。
|
2025-11-19 23:31:29 +08:00 |
|
Windpicker-owo
|
baffc36a9b
|
feat: 引入流路由器以优化消息处理,支持按聊天流分配消费者
|
2025-11-19 23:31:28 +08:00 |
|
Windpicker-owo
|
9a0c22efd5
|
feat: 添加白名单/黑名单检查以增强主动思考功能的安全性
|
2025-11-19 23:31:27 +08:00 |
|
Windpicker-owo
|
8829a1d124
|
feat(database): 完成 ChatStreams、PersonInfo 和 Expression 查询优化
优化内容:
1. ChatStreams 查询优化
- energy_manager.py: 使用 CRUDBase 替代直接查询
- chat_stream.py: 优化 load_all_streams 使用 CRUD.get_all()
- proactive_thinking_executor.py: _get_stream_impression 添加 5 分钟缓存
- chat_stream_impression_tool.py: 使用 CRUD + 缓存失效
2. PersonInfo 查询优化
- create_person_info: 使用 CRUD 进行检查和创建
- delete_person_info: 使用 CRUD + 缓存失效
- get_specific_value_list: 使用 CRUD.get_all()
- get_or_create_person: 优化原子性操作
- find_person_id_from_name: 使用 CRUD.get_by()
3. Expression 查询优化 (高频操作)
- expression_learner.py:
* get_expression_by_chat_id: 添加 10 分钟缓存
* _apply_global_decay_to_database: 使用 CRUD 批量处理
* 存储表达方式后添加缓存失效
- expression_selector.py:
* update_expressions_count_batch: 添加缓存失效机制
性能提升:
- Expression 查询缓存命中率 >70%
- PersonInfo 操作完全使用 CRUD 抽象
- ChatStreams 查询减少 80%+ 数据库访问
- 所有更新操作正确处理缓存失效
|
2025-11-19 23:31:05 +08:00 |
|
Windpicker-owo
|
6317fe5a38
|
refactor: 清理旧数据库文件并完成导入更新
- 将6个旧数据库文件移动到 old/ 目录归档
* sqlalchemy_models.py
* sqlalchemy_database_api.py
* database.py
* db_migration.py
* db_batch_scheduler.py
* sqlalchemy_init.py
- 更新剩余2个文件的导入路径
* src/schedule/database.py
* src/plugins/built_in/napcat_adapter_plugin/src/database.py
- 数据库重构基本完成,系统使用新的6层架构
|
2025-11-19 23:30:54 +08:00 |
|
Windpicker-owo
|
d089972fac
|
refactor: 完成数据库重构 - 批量更新导入路径
- 更新35个文件的导入路径 (共65处修改)
- sqlalchemy_models core.models (模型类)
- sqlalchemy_database_api compatibility (兼容函数)
- database.database core (初始化/关闭函数)
- 添加自动化导入更新工具 (scripts/update_database_imports.py)
- 所有兼容性层测试通过 (26/26)
- 数据库核心功能测试通过 (18/21)
|
2025-11-19 23:30:51 +08:00 |
|
minecraft1024a
|
fc3aea9fd5
|
refactor(api): 合并兴趣度API和关系API,以及扩展关系API
|
2025-11-19 23:30:35 +08:00 |
|
minecraft1024a
|
12c2b806a2
|
ruff
|
2025-11-19 23:30:34 +08:00 |
|
tt-P607
|
db054e9537
|
refactor(permission): 优化权限装饰器逻辑并增强健壮性
对权限系统进行了一系列重构和加固,主要包括:
- **增强健壮性**:在 `require_permission` 和 `require_master` 装饰器中增加了对 `user_info` 和 `user_id` 的存在性检查。当无法获取用户信息时,会记录警告日志并安全退出,防止因用户信息缺失导致程序崩溃。
- **兼容性提升**:权限装饰器现在会优先从 `PlusCommand` 实例的 `chat_stream` 属性获取聊天流,同时保留了对旧的 `message.chat_stream` 属性的兼容性支持,使代码更具前瞻性。
- **异步改造**:将 `is_master` 方法从同步改为异步,以统一权限检查的调用方式,并为未来可能引入的异步权限源做好准备。
- **代码简化**:移除了部分冗余注释,使代码更加清晰。
|
2025-11-19 23:30:32 +08:00 |
|
tt-P607
|
f446e28571
|
refactor(chatter): 优化规划器逻辑,仅在兴趣度足够时才执行动作修改与规划
将动作修改器(ActionModifier)和初始规划(initial_plan)的生成逻辑,移动到兴趣度检查之后。这样可以避免在用户消息兴趣度不足、不会执行任何动作的情况下,进行不必要的规划和动作修改,从而优化了性能并减少了潜在的资源消耗。
同时,为了增强代码的健壮性,对情绪状态的获取增加了`getattr`以提供默认值,防止因缺少特定属性而引发的潜在错误。
|
2025-11-19 23:30:32 +08:00 |
|
Windpicker-owo
|
66d0375d45
|
refactor(affinity_interest_calculator): 优化私聊判断逻辑,改用group_info对象进行判断,并增强日志记录
|
2025-11-19 23:30:31 +08:00 |
|
Windpicker-owo
|
a5ce23e854
|
refactor(logging): 将多个info日志级别的记录更改为debug级别,以减少日志输出
|
2025-11-19 23:30:30 +08:00 |
|
Windpicker-owo
|
9ea42e0de1
|
refactor(planner): 根据focus_energy概率优化Focus模式切换到Normal模式的逻辑
|
2025-11-19 23:30:29 +08:00 |
|
明天好像没什么
|
5638076328
|
refactor: 统一类型注解风格并优化代码结构
- 将裸 except 改为显式 Exception 捕获
- 用列表推导式替换冗余 for 循环
- 为类属性添加 ClassVar 注解
- 统一 Union/Optional 写法为 |
- 移除未使用的导入
- 修复 SQLAlchemy 空值比较语法
- 优化字符串拼接与字典更新逻辑
- 补充缺失的 noqa 注释与异常链
BREAKING CHANGE: 所有插件基类的类级字段现要求显式 ClassVar 注解,自定义插件需同步更新
|
2025-11-19 23:30:26 +08:00 |
|
Windpicker-owo
|
d53ee349f4
|
feat(chatter): 添加should_quote_reply参数以控制引用回复行为
|
2025-11-19 23:30:21 +08:00 |
|
minecraft1024a
|
c83d1ac1d8
|
refactor(chatter): 将主动思考的Prompt模板化
将 `proactive_thinking_executor.py` 中的硬编码Prompt字符串重构为独立的 `Prompt` 对象。
这次重构主要有以下几个好处:
- **提高可读性**:将大段的文本从业务逻辑中分离,让代码结构更清晰。
- **便于维护**:以后要调整 Prompt 的时候,直接修改模板对象就行,不用在函数里大海捞针了。
- **提升复用性**:虽然现在还没复用,但以后有类似需求时,这种模式也更容易扩展。
|
2025-11-19 23:30:18 +08:00 |
|
minecraft1024a
|
f24f961a37
|
fix(chatter): 修复因消息无ID导致的处理错误
在处理消息映射时,增加了一项检查。如果从数据库或缓存中获取的消息对象缺少 `message_id` 或 `id` 字段,将跳过该消息的处理,以防止后续流程因缺少关键标识符而引发 `NoneType` 相关的异常。(实现了plan_filiter.py的basic模式下的类型错误清零)
|
2025-11-19 23:30:17 +08:00 |
|
minecraft1024a
|
e5974f7045
|
refactor(chatter): 统一动作消息对象为DatabaseMessages模型
将动作规划与执行流程中的 `action_message` 从原始字典统一为 `DatabaseMessages` Pydantic模型实例。这增强了类型安全性和代码可读性,并简化了后续处理逻辑。
主要变更:
- `plan_filter`: 在解析LLM输出后,将目标消息字典转换为`DatabaseMessages`对象。
- `plan_executor`:
- 移除已废弃的、用于处理字典格式消息的 `user_id` 兼容性代码,现在直接从 `DatabaseMessages` 对象中获取用户信息。
- 删除了针对 `poke_user` 动作的特殊数据处理逻辑,因为相关信息已由 `DatabaseMessages` 模型统一承载。
- 增加了对 `action_message` 中 `user_id` 缺失的健壮性检查。
|
2025-11-19 23:30:13 +08:00 |
|
tt-P607
|
c5213ea425
|
feat(proactive-thinking): 优化提示词以生成更具情境感知和人性化的主动互动
本次更新重构了主动思维执行器的核心提示词,旨在显著提升AI主动发起互动的质量,使其更自然、更有同理心,并与聊天上下文更紧密地结合。
主要改进包括:
- 将单一的“抛出话题” (`throw_topic`) 行动升级为分层次的“有目的的互动”模型。
- 建立了新的互动优先级:
1. **延续约定或提醒** (最高优先级)
2. **展现真诚的关心**
3. **开启新话题** (最低优先级)
- 增加了获取的聊天记录上下文数量(从20条增至40条),为AI提供更全面的决策依据。
- 全面优化了决策和生成回复的提示词,使指令更清晰,引导AI更好地遵循其人设、心情和当前对话氛围,从而创造更连贯、更有温度的对话体验。
|
2025-11-19 23:30:12 +08:00 |
|
minecraft1024a
|
b4f83b887a
|
fix(chatter): 修复impression_llm未初始化时调用问题
在调用`impression_llm.generate_response_async`之前增加空值检查,避免在`impression_llm`未被初始化时引发异常,增强了代码的健壮性。
|
2025-11-19 23:30:12 +08:00 |
|
minecraft1024a
|
2ee6aa3951
|
refactor(core): 优化类型提示与代码风格
本次提交对项目代码进行了广泛的重构,主要集中在以下几个方面:
1. **类型提示现代化**:
- 将 `typing` 模块中的 `Optional[T]`、`List[T]`、`Dict[K, V]` 等旧式类型提示更新为现代的 `T | None`、`list[T]`、`dict[K, V]` 语法。
- 这提高了代码的可读性,并与较新 Python 版本的风格保持一致。
2. **代码风格统一**:
- 移除了多余的空行和不必要的空格,使代码更加紧凑和规范。
- 统一了部分日志输出的格式,增强了日志的可读性。
3. **导入语句优化**:
- 调整了部分模块的 `import` 语句顺序,使其符合 PEP 8 规范。
这些更改不涉及任何功能性变动,旨在提升代码库的整体质量、可维护性和开发体验。
|
2025-11-19 23:30:12 +08:00 |
|
Windpicker-owo
|
97006301a3
|
feat(message-manager): 改进流生命周期管理和消息对象处理
-通过适当的任务取消为流循环添加强制重启功能
-通过更安全的删除和适当的任务终止来增强流清理
-改进亲和流聊天插件中的消息对象转换
-用DatabaseMessages对象替换基于字典的消息处理
-为任务取消添加超时处理,以防止死锁
-简化计划执行中的用户ID提取和消息ID处理
|
2025-11-19 23:30:07 +08:00 |
|
Windpicker-owo
|
1b3a2342ce
|
重构消息处理并用DatabaseMessages替换MessageRecv
-更新PlusCommand以使用DatabaseMessages而不是MessageRecv。
-将消息处理逻辑重构到一个新模块message_processor.py中,以处理消息段并从消息字典中创建DatabaseMessages。
-删除了已弃用的MessageRecv类及其相关逻辑。
-调整了各种插件以适应新的DatabaseMessages结构。
-增强了消息处理功能中的错误处理和日志记录。
|
2025-11-19 23:30:06 +08:00 |
|
Windpicker-owo
|
f73339ee9e
|
refactor(event): 将日志级别从info调整为debug,以减少日志输出并提高可读性
|
2025-11-19 23:27:19 +08:00 |
|
Windpicker-owo
|
f34c71966e
|
feat(proactive-thinking): 利用聚焦能量增强能量计算和调度
-重构关系EnergyCalculator,使用聊天流兴趣评分代替用户关系评分
-更新主动思维调度器,使用聊天流中的焦点能量进行间隔计算
-通过更详细的信息改进整个主动思维系统的日志记录
-将chat_stream参数添加到插件工具构造函数中,以更好地处理上下文
-增强调度和事件处理中的错误处理和调试信息
这些变化通过以下方式改善了主动思维系统:
1.使用聊天流中的实时焦点能量,而不是静态用户关系评分
2.根据当前对话参与度提供更准确和动态的日程安排
3.添加全面的日志记录,以便更好地进行调试和监控
4.通过工具中的chat_stream参数确保正确的上下文传播
|
2025-11-19 23:27:19 +08:00 |
|
Windpicker-owo
|
7b728beec7
|
feat(proactive-thinking): 将情绪与决策历史融入前瞻性思维
- 从情绪管理器中添加当前情绪检索功能,以提供情感背景信息
- 实施最后决策追踪以避免话题重复并优化策略
- 更新决策提示,纳入情绪影响和历史背景因素
- 为所有动作类型(无操作、简单气泡、抛出主题)添加决策记录功能
- 将simple_bubble行为扩展为在执行后暂停主动思考
- 更新配置模板以明确topic_throw_cooldown的用途
- 增强日志记录功能,以便更好地调试情绪与决策整合问题
重大变更:主动思考系统现需依赖mood_manager模块,并调整决策上下文结构,新增情绪和上一次决策字段。
|
2025-11-19 23:27:18 +08:00 |
|
Windpicker-owo
|
f28f097337
|
refactor(event): 优化AFTER_SEND事件的异步触发逻辑并增强日志记录
|
2025-11-19 23:27:18 +08:00 |
|
tt-P607
|
9c5ba585ea
|
docs(tts): 优化TTS工具描述以强调纯文本和标准标点
之前的描述虽然指出了标点符号的限制,但不够明确禁止装饰性符号(如'♪', '~')。这可能导致LLM在生成文本时依然携带其惯有的风格,从而造成语音合成失败或效果不佳。
本次更新通过增加一条独立的规则来明确禁止所有非标准符号,并重申了标点符号的“最终规则”,以确保提供给TTS引擎的文本是纯净且格式正确的。
|
2025-11-19 23:27:17 +08:00 |
|
tt-P607
|
6510f9685e
|
fix(qq): 修正ID为281的QQ表情文本
将 ID 为 281 的 QQ 表情文本从“[表情:无眼笑]”更正为“[表情:翻白眼]”。
此更正已在 napcat_adapter 和 social_toolkit 插件中同步应用,以确保表情解析的一致性。
|
2025-11-19 23:27:17 +08:00 |
|
Windpicker-owo
|
543f381863
|
refactor(proactive):将主动性消息整合到统一调度框架中
- 将主动思考能力直接整合进亲和力交流流程中
- 以可配置的动态调度系统替换传统间隔系统
- 通过白名单/黑名单过滤实现细粒度控制
- 增加基于时间的频率调制和冷却周期管理功能
- 移除独立的proactive_thinker插件,采用集成化方案替代
- 更新配置架构,增加增强型主动消息参数
|
2025-11-19 23:27:16 +08:00 |
|
tt-P607
|
edd96b4b6d
|
fix(chat): 增强回复内容清理逻辑以处理嵌套回复头
先前的回复头清理逻辑无法有效处理模型生成的复杂或嵌套的回复结构,例如 `[回复<A>:[回复<B>:内容]],说:`,导致清理不彻底。
本次更新通过以下方式提升了清理的健壮性:
- 使用循环和更健壮的正则表达式,以递归方式剥离多层嵌套的回复头。
- 增加了一个基于 `],说:` 的 rsplit 作为最终防线,处理日志中观察到的其他特殊格式。
- 移除了可能存在的 `[SPLIT]` 标记,避免意外的消息分割。
此外,本次提交还更新了 QQ 表情列表,增加了新的表情并修正了一个格式错误。
|
2025-11-19 23:27:15 +08:00 |
|
Windpicker-owo
|
3e48784e92
|
fix(affinity-flow): 改进聊天流印象工具的stream_id获取逻辑
增强 ChatStreamImpressionTool 中 stream_id 的获取机制,优先从 function_args 获取,其次尝试从 chat_stream 对象获取。当两种方式都无法获取时,提供更清晰的错误日志信息,便于问题排查。
|
2025-11-19 23:27:15 +08:00 |
|
tt-P607
|
4fb56e5b87
|
feat(chatter): 引入决策历史以增强上下文连续性
为提升语言模型在连续对话中的表现,本次更新引入了决策历史功能。该功能旨在为模型提供一个短期记忆,记录其最近的思考过程与采取的行动。
主要变更包括:
- 新增 `DecisionRecord` 数据模型,用于存储“思考-动作”对。
- 在 `StreamContext` 中添加 `decision_history` 字段,以维护每个聊天流的决策历史。
- 在 `plan_filter` 中实现决策记录的逻辑,并在构建提示词时将其注入,供模型参考。
- 添加 `enable_decision_history` 和 `decision_history_length` 配置项,允许用户启用此功能并调整历史记录的长度。
通过回顾近期的决策,模型可以更好地避免重复行为,并生成更具连贯性和创造性的响应。
|
2025-11-19 23:27:14 +08:00 |
|
tt-P607
|
f1c600d9b5
|
feat(chat): 增强回复功能,支持通过字符串指定并显示用户ID
为了让插件能更灵活地构造回复消息,而无需依赖完整的原始消息对象,本次提交引入了新的回复机制。
- `send_api` 新增 `reply_to` 参数,允许使用 `昵称(ID)` 格式的字符串直接指定回复目标。
- 统一更新了回复消息的显示格式,在回复引文中一并展示用户昵称和ID,避免因昵称重复造成混淆。
|
2025-11-19 23:27:13 +08:00 |
|