Windpicker-owo
|
bab62ed42e
|
refactor: 优化兴趣值管理器和统一调度器,增强任务执行的并发控制
|
2025-11-19 23:36:23 +08:00 |
|
明天好像没什么
|
26d22e5dd8
|
ruff
|
2025-11-19 23:36:06 +08:00 |
|
Windpicker-owo
|
0abf76a688
|
fix(affinity-interest-calculator): 限制总分和兴趣匹配分数上限为1.0,确保评分合理
|
2025-11-19 23:32:01 +08:00 |
|
Windpicker-owo
|
5e6e56454d
|
feat(affinity-flow): 通过标签扩展与提及分类增强兴趣匹配
- 实施扩展标签描述以实现更精确的语义匹配
- 增加强/弱提及分类,并附带独立的兴趣评分
- 重构机器人兴趣管理器,采用动态嵌入生成与缓存机制
- 通过增强的@提及处理功能优化消息处理
- 更新配置以支持回帖提升机制
- 将亲和力流量聊天重新组织为模块化结构,包含核心、规划器、主动响应和工具子模块
- 移除已弃用的规划器组件并整合功能
- 为napcat适配器插件添加数据库表初始化功能
- 修复元事件处理器中的心跳监控
|
2025-11-19 23:31:58 +08:00 |
|
Windpicker-owo
|
0e024d30c2
|
refactor(json_parser): 统一 LLM 响应的 JSON 解析逻辑,简化代码并提高解析成功率
|
2025-11-19 23:31:52 +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
|
8a456af4f3
|
feat(interest_system): 调整兴趣标签生成提示的长度限制
将生成Bot兴趣标签的提示中,对单个标签的长度限制从4个字符放宽到10个字符。
这主要是因为4个字符的限制过于严格,导致LLM难以生成准确且有意义的中文兴趣标签,例如“角色扮演”或“科幻电影”这类常见的兴趣点都会超出长度。放宽限制有助于提高生成标签的质量和多样性。
|
2025-11-19 23:30:14 +08:00 |
|
minecraft1024a
|
6026682a03
|
feat(interest): 增加机器人兴趣标签长度限制和截断处理
在机器人兴趣系统(BotInterestManager)中,为生成的兴趣标签增加了长度校验和处理逻辑。
- 在生成兴趣标签的 Prompt 中,明确要求每个标签的长度不超过4个字符。
- 在解析模型返回的兴趣标签时,增加了一个检查机制。如果标签长度超过10个字符,系统会记录一条警告日志,并自动将标签截断为前10个字符,以确保数据的规范性和后续处理的稳定性。
|
2025-11-19 23:30:08 +08:00 |
|
sunbiz1024
|
950b086063
|
ruff
|
2025-11-19 23:19:53 +08:00 |
|
minecraft1024a
|
2a89efe47a
|
ruff fix但指定了--unsafe-fixes
|
2025-11-19 23:19:42 +08:00 |
|
minecraft1024a
|
cd84373828
|
style: 统一代码风格并进行现代化改进
对整个代码库进行了一次全面的风格统一和现代化改进。主要变更包括:
- 将 `hasattr` 等内置函数中的字符串参数从单引号 `'` 统一为双引号 `"`。
- 采用现代类型注解,例如将 `Optional[T]` 替换为 `T | None`,`List[T]` 替换为 `list[T]` 等。
- 移除不再需要的 Python 2 兼容性声明 `# -*- coding: utf-8 -*-`。
- 清理了多余的空行、注释和未使用的导入。
- 统一了文件末尾的换行符。
- 优化了部分日志输出和字符串格式化 (`f"{e!s}"`)。
这些改动旨在提升代码的可读性、一致性和可维护性,使其更符合现代 Python 编码规范。
|
2025-11-19 23:18:16 +08:00 |
|
Windpicker-owo
|
fee04c0d25
|
perf(interest): 增加兴趣值计算超时时间并优化日志记录
将兴趣值计算的默认超时时间从0.5秒增加到2.0秒,以减少因计算时间较长导致的超时情况。同时优化了超时日志记录,使用warning级别并显示具体的超时时间,使问题排查更加清晰。
|
2025-11-19 23:17:59 +08:00 |
|
Windpicker-owo
|
db54d7b8b1
|
refactor(interest): 为兴趣值计算添加超时机制并清理重复代码
为兴趣值计算方法添加超时参数,防止计算过程阻塞系统。
当计算超时时返回默认值,同时让计算在后台继续执行。
删除了重复的 MessageInterestManager 类,统一使用 InterestManager。
|
2025-11-19 23:17:58 +08:00 |
|
Windpicker-owo
|
481252d660
|
refactor(chat): 异步化聊天系统并重构兴趣值计算机制
将同步调用改为异步调用以提升性能,重构兴趣值计算流程以支持更灵活的组件化架构。主要改进包括:
- 异步化ChatManager相关方法,避免阻塞主线程
- 重构兴趣值计算系统,从插件内部计算改为通过兴趣管理器统一处理
- 新增should_act字段支持更细粒度的动作决策
- 优化初始化逻辑,避免构造函数中的异步操作
- 扩展插件系统支持兴趣计算器组件注册
- 更新数据库模型以支持新的兴趣值相关字段
这些改进提升了系统的响应性能和可扩展性,同时保持了API的向后兼容性。
|
2025-11-19 23:15:31 +08:00 |
|
John Richard
|
a79253c714
|
re-style: 格式化代码
|
2025-11-19 23:13:20 +08:00 |
|
John Richard
|
00ba07e0e1
|
style: 格式化代码
|
2025-11-19 23:12:18 +08:00 |
|
Windpicker-owo
|
3fcf8e9add
|
feat(memory): 重构记忆系统并移除插件热重载
重构记忆系统核心模块,引入全局记忆作用域、记忆指纹去重机制和查询规划器,优化多阶段检索性能。移除插件热重载系统及其相关依赖。
主要变更:
- 引入全局记忆作用域,简化记忆管理
- 实现记忆指纹去重,避免重复记忆存储
- 新增查询规划器,支持语义查询规划和记忆类型过滤
- 优化多阶段检索,增加语义重排和权重配置
- 改进向量存储,支持嵌入维度自动解析和查询向量生成
- 增强元数据索引,支持主体索引和更新操作
- 记忆构建器支持多主体和自然语言展示
- 移除watchdog依赖和插件热重载模块
- 更新配置模板,简化记忆配置项
BREAKING CHANGE: 移除插件热重载系统,相关API和命令不再可用。记忆系统接口有较大调整,使用该系统的模块需要适配新接口。
|
2025-11-19 23:11:14 +08:00 |
|
Windpicker-owo
|
9836d317b8
|
refactor(database): 将同步数据库操作迁移为异步操作
将整个项目的数据库操作从同步模式迁移为异步模式,主要涉及以下修改:
- 将 `with get_db_session()` 改为 `async with get_db_session()`
- 将同步的 SQLAlchemy 查询方法改为异步执行
- 更新相关的方法签名,添加 async/await 关键字
- 修复由于异步化导致的并发问题和性能问题
这些修改提高了数据库操作的并发性能,避免了阻塞主线程,提升了系统的整体响应能力。涉及修改的模块包括表情包管理、反提示注入统计、用户封禁管理、记忆系统、消息存储等多个核心组件。
BREAKING CHANGE: 所有涉及数据库操作的方法现在都需要使用异步调用,同步调用将不再工作
|
2025-11-19 23:09:31 +08:00 |
|
Windpicker-owo
|
7508d542f2
|
refactor(interest-system): 移除旧兴趣度管理系统,迁移到插件内部实现
移除旧的集中式兴趣度管理系统(interest_manager.py),将兴趣度计算功能迁移到affinity_flow_chatter插件内部实现。主要包括:
- 删除interest_manager.py及其相关导入引用
- 修改RelationshipEnergyCalculator使用插件内部的关系分计算
- 重构StreamContextManager使用插件内部的兴趣度评分系统
- 更新ChatStream、PlanFilter、Planner等组件使用新的插件接口
- 简化上下文管理器,移除事件系统和验证器相关代码
此次重构提高了模块独立性,减少了核心代码对插件功能的直接依赖,符合"高内聚低耦合"的设计原则。
|
2025-11-19 23:09:28 +08:00 |
|
Windpicker-owo
|
1177b81285
|
refactor(chat): 重构消息管理器以使用集中式上下文管理和能量系统
- 将流上下文管理从MessageManager迁移到专门的ContextManager
- 使用统一的能量系统计算focus_energy和分发间隔
- 重构ChatStream的消息数据转换逻辑,支持更完整的数据字段
- 更新数据库模型,移除interest_degree字段,统一使用interest_value
- 集成新的兴趣度管理系统替代原有的评分系统
- 添加消息存储的interest_value修复功能
|
2025-11-19 23:09:25 +08:00 |
|
tt-P607
|
b5342376eb
|
feat(affinity_flow_chatter): 重构计划器以支持多动作并优化思考逻辑
本次提交对亲和流聊天器(AFC)的计划与决策核心进行了重大重构和功能增强,旨在提升其响应的灵活性、鲁棒性和可观测性。
主要变更包括:
1. **多动作支持与解析重构**:
- `PlanFilter` 现在能够正确解析并处理 LLM 返回的动作列表(`"actions": [...]`),而不仅限于单个动作,这使得机器人能够执行更复杂的组合行为。
- 增强了动作解析的鲁棒性,当找不到 `target_message_id` 时会优雅降级(如 `reply` 变为 `no_action`),并会根据当前实际可用的动作列表对 LLM 的选择进行验证。
2. **提示词工程与思考模式优化**:
- 重新设计了核心 Planner 提示词,将 `thinking` 字段定义为“思绪流”,引导 LLM 生成更自然、更符合角色的内心独白,而非简单的决策理由,从而提升决策质量和角色扮演的沉浸感。
- 强制要求 LLM 为需要目标消息的动作提供 `target_message_id`,提高了动作执行的准确性。
3. **上下文构建与鲁棒性增强**:
- 在 `PlanFilter` 中增加了上下文回退机制,当内存中缺少历史消息时(如冷启动),会自动从数据库加载最近的消息记录,确保决策所需上下文的完整性。
- 简化了提供给 LLM 的未读消息格式,移除了兴趣度分数等内部信息,并加入了用户昵称,使其更易于理解和处理。
4. **可观测性与日志改进**:
- 在 AFC 的多个关键节点(消息接收、决策、动作执行)增加了彩色的详细日志,使其决策流程像 HFC 一样清晰可见,极大地方便了调试。
- 将系统中多个模块(视频分析、兴趣度匹配、情绪管理)的常规日志级别从 `INFO` 调整为 `DEBUG`,以减少在生产环境中的日志噪音。
5. **动作描述优化**:
- 优化了 `set_emoji_like` 和 `emoji` 等动作的描述,使其意图更清晰,帮助 LLM 做出更准确的动作选择。
|
2025-11-19 23:08:45 +08:00 |
|
tt-P607
|
85c52aff5a
|
feat(chat): 优化提及检测并精简兴趣度评分日志
增强了机器人提及检测逻辑,使其能够识别配置文件中设置的所有别名(alias_names),而不仅仅是主昵称。这提高了交互的灵活性和准确性。
此外,还对兴趣度评分和匹配系统的日志输出进行了大幅重构:
- 将多条评分计算日志合并为一条包含核心指标的摘要日志,使输出更简洁。
- 调整了部分日志级别,将非关键信息移至 DEBUG 级别,以减少日志噪音。
- 在关键日志中增加了消息内容预览,以便于快速上下文定位和调试。
|
2025-11-19 23:08:02 +08:00 |
|
tt-P607
|
956d206675
|
refactor(log): 精简聊天相关模块的日志输出
为了提高日志的可读性和实用性,对聊天核心流程(兴趣评分、兴趣系统、规划执行)中的日志记录进行了全面优化。
主要变更:
- 移除装饰性的分割线和表情符号,使日志格式更加统一和专业。
- 将多行分散的日志信息合并为单行,提高信息密度,方便快速浏览。
- 调整日志用语,使其更加简洁、客观,便于程序解析和人工阅读。
这些改动旨在使生产环境中的日志更易于追踪和调试,同时保持了关键信息的完整性。
|
2025-11-19 23:08:01 +08:00 |
|
Windpicker-owo
|
df3c616d09
|
ruff,私聊视为提及了bot
|
2025-11-19 23:07:30 +08:00 |
|
Windpicker-owo
|
2ceda70e8e
|
修复新兴趣标签没有commit的问题
|
2025-11-19 23:07:13 +08:00 |
|
Windpicker-owo
|
e62843ea58
|
feat(affinity-flow): 重构亲和流配置系统
将硬编码的兴趣度评分参数迁移到集中式配置管理,新增AffinityFlowConfig配置类
- 从全局配置加载评分权重、阈值和计算参数
- 统一管理匹配奖励、关系分数和提及bot相关配置
- 更新配置文件模板包含完整的亲和流参数
- 确保各模块使用一致的配置值而非硬编码常量
|
2025-11-19 23:07:11 +08:00 |
|
Windpicker-owo
|
3193927a76
|
feat(affinity-flow): 重构消息处理以使用StreamContext对象
重构AFC消息处理系统,将基于字典的消息数据传递改为直接使用StreamContext对象。主要变更包括:
- 修改AFCManager的process_message方法为process_stream_context,直接接收StreamContext对象
- 在chatter中重构消息处理逻辑,直接从StreamContext获取未读和历史消息
- 移除批量消息处理功能,改为单次StreamContext处理
- 在message_manager中简化消息处理流程,直接传递StreamContext对象
- 添加未读消息清理机制,防止异常情况下消息一直未读
同时优化兴趣度评分系统的参数:
- 调整回复阈值从0.55到0.56
- 增加最大不回复次数从15到20
- 提升每次不回复的概率增加从0.01到0.02
- 优化提及奖励从3.0降到1.0
- 调整回复后的不回复计数减少从1到3
BREAKING CHANGE: AFCManager的process_message方法已重命名为process_stream_context,参数从message_data改为context对象
|
2025-11-19 23:07:03 +08:00 |
|
Windpicker-owo
|
9a2320944b
|
feat(affinity-flow): 优化兴趣度评分和回复决策逻辑
- 降低回复阈值从0.6到0.55以增加回复可能性
- 在最终分数计算中加入标签数量奖励机制,每多匹配一个标签加0.05分,最高加0.3分
- 引入分级相似度匹配系统(高/中/低)并应用不同加成系数
- 增加关键词直接匹配奖励机制,支持完全匹配、包含匹配和部分匹配
- 在计划过滤器中处理回复动作不可用时的自动转换逻辑
- 增加兴趣度阈值80%检查,低于该阈值直接返回no_action
- 优化日志输出和统计信息,提供更详细的匹配分析
|
2025-11-19 23:06:43 +08:00 |
|
Windpicker-owo
|
e1fcdf94ee
|
feat(affinity-flow): 调整回复概率参数和评分计算
- 增加最大不回复次数至15次,降低每次不回复的概率提升至1%
- 在最终评分计算中增加1.15倍系数提升
- 被提及时的基础分数从1.0提升至3.0
- 为兴趣标签保存添加数据库验证机制
- 在消息处理流程中增加数据库存储功能
- 修复JSON解析错误处理,增加异常情况下的默认响应
- 优化数据库会话管理和模型转换的健壮性
|
2025-11-19 23:06:42 +08:00 |
|
Windpicker-owo
|
dcdef633e0
|
feat(affinity-flow): 重构兴趣度评分系统为智能embedding匹配
- 移除传统关键词匹配方式,改用embedding计算智能兴趣匹配度
- 添加异步方法支持机器人兴趣管理器的智能匹配计算
- 增加详细的日志记录和错误处理机制
- 添加数据库关键词提取和降级处理逻辑
- 集成智能兴趣系统初始化到人设构建流程
- 防止回复自身消息的死循环保护机制
BREAKING CHANGE: 兴趣匹配评分机制完全重构,从基于关键词的硬编码匹配改为基于embedding的智能匹配,需要重新初始化兴趣系统
|
2025-11-19 23:06:40 +08:00 |
|