minecraft1024a
|
035ddac340
|
fix(plugin_system): 兼容从 'id' 字段获取消息 ID
|
2025-11-19 23:08:54 +08:00 |
|
minecraft1024a
|
669e5d3851
|
我是打日志先人
|
2025-11-19 23:08:54 +08:00 |
|
Windpicker-owo
|
c4162d787a
|
feat(affinity_flow_chatter): 增强动作思考过程在回复生成中的集成
添加了将动作思考过程集成到回复生成流程的功能:
- 在 generator_api 中新增逻辑,将 action_data 中的 thinking 字段内容添加到 extra_info
- 优化 plan_filter 中对 thinking 字段的处理逻辑,避免添加无意义的默认值
- 更新默认生成器提示词,移除冗余的关系信息块重复
- 在 planner 提示词中添加不对表情包消息回应的限制
|
2025-11-19 23:08:50 +08:00 |
|
Windpicker-owo
|
2b04d548b6
|
refactor(affinity_flow): 重构规划器架构并简化日志输出
- 移除ChatterManager中不必要的ActionPlanner实例化
- 在MessageManager中设置默认聊天模式为FOCUS
- 重构BaseChatter构造函数,移除planner依赖
- 统一ChatMode枚举定义,移除GROUP/PRIVATE模式
- 重构AffinityChatter内部planner初始化逻辑
- 大幅简化兴趣评分系统的日志输出
- 修复plan_filter中的动作解析逻辑,支持新格式
- 更新planner_prompts提示词模板,移除私聊限制
- 优化关系追踪器的错误处理和日志输出
|
2025-11-19 23:08:40 +08:00 |
|
Windpicker-owo
|
502d0b7c59
|
refactor(plugins): 将亲和力流模块重构为插件架构并移除旧代码
本次重构将亲和力流(Affinity Flow)模块从核心聊天系统迁移到插件架构中,主要变更包括:
- 删除 src/chat/planner_actions/ 目录下的 plan_executor.py、plan_filter.py 和 planner.py
- 更新插件系统组件类型,将 FOCUS 聊天模式改为 GROUP 和 PRIVATE 模式
- 调整亲和力流插件中的模式引用,确保与新的聊天模式枚举保持一致
- 统一亲和力流模块的导入路径,使其完全作为插件运行
BREAKING CHANGE: 移除原有的 FOCUS 聊天模式,改为 GROUP 和 PRIVATE 模式,需要更新相关配置和代码引用
|
2025-11-19 23:08:38 +08:00 |
|
Windpicker-owo
|
f9339b8ad7
|
refactor(plugins): 重构亲和力流模块的导入路径
将 chatter 模块重命名为 affinity_flow_chatter 以明确功能区分,
更新 main.py、base_chatter.py、affinity_chatter.py 和 planner.py
中的相关导入语句,确保模块引用正确性。
|
2025-11-19 23:08:35 +08:00 |
|
minecraft1024a
|
b98417dec6
|
先修一下命令无法正常检查聊天类型限制
|
2025-11-19 23:08:34 +08:00 |
|
Windpicker-owo
|
c9b20aa61a
|
refactor(chat): 移除亲和力流模块并将其重构为插件架构
BREAKING CHANGE: 原有的亲和力流相关模块(src/chat/affinity_flow/)已被完全移除,相关功能已重构为插件形式。需要更新配置文件和相关依赖。
- 删除 src/chat/affinity_flow/ 目录下的所有文件
- 将 AFC 管理器功能移至 chatter 插件中实现
- 更新相关导入路径和引用
- 重构关系追踪器和兴趣评分系统的初始化逻辑
- 调整聊天管理器和消息管理器以适应新的插件架构
|
2025-11-19 23:08:27 +08:00 |
|
Windpicker-owo
|
bdf43c2455
|
fix
|
2025-11-19 23:08:03 +08:00 |
|
Windpicker-owo
|
dce48d38cf
|
feat: 在插件系统中添加 Chatter 组件
- 在 component_types.py 中新增了用于 CHATTER 的 ComponentType。
- 实现了 ChatterInfo 类,用于存储 Chatter 组件的相关信息。
- 增强了 ComponentRegistry,以支持 Chatter 组件的注册与管理。
- 创建了 ChatterManager,用于管理 Chatter 实例并处理聊天流。
- 开发了 BaseChatter 抽象类,用于定义 Chatter 的行为规范。
- 实现了 AffinityChatter,作为具备兴趣评分与关系构建功能的具体 Chatter 组件。
- 添加了一个内置的 Chatter 插件,并附带完整文档与使用示例。
- 更新了 PluginManager,在插件概览中加入 Chatter 组件的统计信息。
|
2025-11-19 23:08:03 +08:00 |
|
tt-P607
|
8621dcdf75
|
fix(chat): 修复并优化消息回复与ID处理逻辑
先前的消息回复机制存在多个问题:回复行为随机且不可靠,临时消息ID生成逻辑过于复杂,且在规划和执行过程中ID转换容易出错,导致回复失败。
本次提交通过以下几点进行了全面的修复与优化:
- **简化ID生成**:将临时的上下文消息ID生成逻辑从“索引+随机数”简化为纯索引(如 `m1`, `m2`),使其更可预测且易于调试。
- **修正ID替换**:在 `plan_filter` 中增加了关键逻辑,确保在执行 `reply` 动作前,将计划中使用的临时 `target_message_id` 替换为真实的数据库消息ID。
- **稳定回复行为**:移除了 `action_manager` 中的随机回复判断,现在只要存在上下文消息,就会触发引用回复。同时将各 `send_api` 的 `set_reply` 参数默认值改为 `True`,使回复成为默认行为。
- **增强ID兼容性**:修复了 `napcat_adapter` 中将消息ID强制转换为整数的问题,并为 `send_api` 增加了ID回退查找,提高了对不同平台消息ID格式的兼容性。
|
2025-11-19 23:07:38 +08:00 |
|
Windpicker-owo
|
df3c616d09
|
ruff,私聊视为提及了bot
|
2025-11-19 23:07:30 +08:00 |
|
minecraft1024a
|
80283fe77d
|
fix(plugin): 移除插件配置同步调用并增强错误日志
在插件管理器中,移除了加载插件时对已废弃的配置同步方法的调用。
同时,为了更好地排查 `maizone` 插件发送动态失败的问题,增强了其命令的异常日志,现在会额外记录异常类型。
|
2025-11-19 23:05:50 +08:00 |
|
minecraft1024a
|
9a40e86894
|
删除插件配置文件的双向迁移逻辑
|
2025-11-19 23:05:49 +08:00 |
|
minecraft1024a
|
f842c43ab0
|
ruff
|
2025-11-19 23:05:47 +08:00 |
|
tt-P607
|
f3b3e60c1c
|
feat(chat): 增加已读标记以聚焦未读消息
为聊天上下文生成逻辑引入了“已读标记” (read_mark) 机制。
当生成回复时,可以在历史消息中插入一个明确的分隔符,以告知模型哪些消息是它已经看过的旧消息,哪些是需要关注的新消息。
这有助于模型更好地聚焦于未读内容,提升上下文感知能力和回复的相关性。
同时,将 Prompt 模板中的“群聊”等硬编码文本参数化,以更好地适配私聊等不同聊天场景。
|
2025-11-19 23:05:36 +08:00 |
|
minecraft1024a
|
6bf05fd660
|
fix(permission): 将权限管理器初始化改为异步
`PermissionManager` 的 `__init__` 方法中包含了同步的数据库初始化操作,这会在异步环境中阻塞事件循环。
本次提交将数据库连接的逻辑移至一个新的异步方法 `initialize()` 中,并在应用启动时显式调用和等待它。这确保了数据库的初始化过程是异步执行的,避免了潜在的性能问题。
BREAKING CHANGE: `PermissionManager` 实例化后需要手动调用并等待 `initialize()` 方法来完成数据库初始化。
|
2025-11-19 23:05:35 +08:00 |
|
minecraft1024a
|
83eb5c80c5
|
fix(plugin_system): 修复无配置插件加载时产生不必要警告
对于未定义 `config_schema` 的插件,现在会将其视作一种正常情况,并为其分配一个空的配置。
此举修复了先前版本中,这类插件在加载时会错误地触发“配置文件不存在”警告的问题。同时将生成默认配置文件的日志等级从 debug 调整为 info,使其在默认情况下可见。
|
2025-11-19 23:05:34 +08:00 |
|
雅诺狐
|
4091a4eadf
|
更改权限
|
2025-11-19 23:05:29 +08:00 |
|
minecraft1024a
|
28be81583e
|
feat(plugin_system): 导出 schedule_api
将 schedule_api 添加到插件系统的 API 导出列表中,使其对插件可用。
|
2025-11-19 23:05:26 +08:00 |
|
雅诺狐
|
679195d792
|
refactor(db): 修正SQLAlchemy异步操作调用方式
移除session.add()方法的不必要await调用,修正异步数据库操作模式。主要变更包括:
- 将 `await session.add()` 统一改为 `session.add()`
- 修正部分函数调用为异步版本(如消息查询函数)
- 重构SQLAlchemyTransaction为完全异步实现
- 重写napcat_adapter_plugin数据库层以符合异步规范
- 添加aiomysql和aiosqlite依赖支持
|
2025-11-19 23:05:17 +08:00 |
|
雅诺狐
|
0cffc0aa95
|
refactor(db): 将数据库操作异步化
- 将所有 session.add() 改为 await session.add()
- 将所有 session.commit() 改为 await session.commit()
- 将 session.refresh() 改为 await session.refresh()
|
2025-11-19 23:05:14 +08:00 |
|
雅诺狐
|
883bf3a7ea
|
Update base_action.py
|
2025-11-19 23:05:11 +08:00 |
|
tt-P607
|
5892ed1452
|
refactor(db): 重构数据库交互为异步模式
为了提升性能并与项目整体的异步架构保持一致,对核心数据库交互模块进行了异步化重构。
主要修改内容包括:
- 将 `PermissionManager` 中的所有数据库操作从同步改为异步,以避免阻塞事件循环。
- 使用 `async_sessionmaker` 和 `async with session` 替代原有的同步会话管理。
- 将 SQLAlchemy 查询语法更新为异步兼容的 `await session.execute(select(...))` 模式。
- 相应地,调用链中依赖数据库操作的多个方法也已更新为 `async` 函数。
|
2025-11-19 23:05:09 +08:00 |
|
tt-P607
|
610688f641
|
6
|
2025-11-19 23:05:05 +08:00 |
|
雅诺狐
|
93542cadef
|
perf(methods): 通过移除不必要的 self 参数优化方法签名
在包括 chat、plugin_system、schedule 和 mais4u 在内的多个模块中,消除冗余的实例引用。此次改动将无需访问实例状态的实用函数转换为静态方法,从而提升了内存效率,并使方法依赖关系更加清晰。
|
2025-11-19 23:05:00 +08:00 |
|
tt-P607
|
aba4f1a947
|
三次修改
|
2025-11-19 23:02:01 +08:00 |
|
tt-P607
|
65087b8c98
|
回退“feat: 实现KEYWORD_OR_LLM_JUDGE激活类型”
|
2025-11-19 23:01:17 +08:00 |
|
tt-P607
|
4890771a87
|
feat(planner): 引入双模动作激活机制与混合触发类型
为了更精细地控制动作在不同聊天模式下的行为,并提升决策效率,本次更新引入了全新的动作激活机制。
- **双模激活**: 为 Action 新增 `normal_activation_type` 和 `focus_activation_type` 属性,允许插件在 `NORMAL` 和 `FOCUS` 模式下拥有不同的激活策略,使行为更符合上下文。
- **混合触发**: 新增 `KEYWORD_OR_LLM_JUDGE` 激活类型。该类型会先进行快速的关键词匹配,若未匹配成功,则回退至 LLM 进行判断,兼顾了响应速度和智能化。
- **流程优化**: 重构了 `PlanGenerator` 的动作筛选逻辑,使其在生成计划前,就根据当前聊天模式和简单的激活规则进行预筛选,为后续的 LLM 决策提供更精准、更高效的候选动作列表。
|
2025-11-19 23:01:16 +08:00 |
|
BuildTools
|
ca82c1c2f2
|
优化s4u提示词
|
2025-11-19 23:00:25 +08:00 |
|
tt-P607
|
b97d03da2a
|
fix(plugin_system): 解决 base_action 中的循环导入问题
将 `component_registry` 的导入移至 `run` 方法内部,以避免在模块加载时产生循环依赖。
|
2025-11-19 23:00:19 +08:00 |
|
minecraft1024a
|
e607dcb36b
|
refactor(core): 延迟初始化知识库并优化导入结构
将LPMM知识库的初始化逻辑封装到`initialize_lpmm_knowledge`函数中,并将其调用移至`main.py`,以实现延迟加载并改善启动流程。
为了解决循环导入问题,将`component_registry`的导入移至`BaseAction.call`方法内部。
|
2025-11-19 23:00:18 +08:00 |
|
minecraft1024a
|
fac83665da
|
feat(plugin): 允许在Action内部调用其他Action
在`BaseAction`中新增`call_action`方法,使得一个Action可以方便地调用并执行另一个已注册的Action。
该方法会:
- 从组件注册中心查找并获取目标Action类。
- 复用当前Action的上下文信息(如`chat_stream`, `cycle_timers`等)来实例化目标Action。
- 执行目标Action并返回其执行结果。
这为创建更复杂、可组合的插件逻辑提供了基础,提高了代码的复用性和模块化程度。
|
2025-11-19 23:00:10 +08:00 |
|
Windpicker-owo
|
97df1011d1
|
1
|
2025-11-19 22:59:35 +08:00 |
|
Windpicker-owo
|
f297eed9bb
|
ada现在支持接收贴表情消息
|
2025-11-19 22:59:14 +08:00 |
|
Windpicker-owo
|
ea7d3b364f
|
plugin_name改为permission_group
|
2025-11-19 22:59:12 +08:00 |
|
tt-P607
|
e374ed7166
|
refactor(plugin_system): 移除未使用的 ChatType 导入
|
2025-11-19 22:59:08 +08:00 |
|
minecraft1024a
|
474ab78002
|
refactor(planner): 移除大小脑规划器类型以简化决策流程
本次重构删除了`PlannerType`(大小脑规划器)的枚举及其在动作规划和组件定义中的相关逻辑。通过移除大小脑的概念,简化了`ActionPlanner`的决策过程,使其不再需要根据规划器类型来筛选可用动作。
这一变更统一了动作的处理方式,降低了系统的复杂性,使得未来的功能扩展和维护更加直接和清晰。
|
2025-11-19 22:59:06 +08:00 |
|
minecraft1024a
|
38032e43d7
|
feat(plugin_system): 添加ON_STOP事件类型
为插件系统增加ON_STOP事件,用于处理程序停止时的任务。
|
2025-11-19 22:58:56 +08:00 |
|
minecraft1024a
|
796daf8ddc
|
Revert "feat(chat): 实现发送错别字后自动撤回修正的功能"
This reverts commit fd5d951501.
|
2025-11-19 22:58:56 +08:00 |
|
Windpicker-owo
|
086a7322b3
|
fix:修复插件组件无法正确获取插件配置的问题
|
2025-11-19 22:58:56 +08:00 |
|
minecraft1024a
|
a30652b0bc
|
feat(planner): 实现大小脑规划器分离以优化决策流程
将规划器(Planner)拆分为“大脑”和“小脑”两个部分,以实现更精细化的决策控制。
- **大脑(BIG_BRAIN)**: 负责宏观决策,如是否回复、是否需要@人等高层级意图。
- **小脑(SMALL_BRAIN)**: 负责具体的功能性动作执行。
此重构引入了 `PlannerType` 枚举,并更新了动作(Action)定义,允许将动作明确分配给大脑或小脑,从而提升了AI回复的逻辑性和条理性。同时,新增了 `no_action` 类型,用于在规划阶段明确表示“无动作”,提高了处理流程的清晰度。
|
2025-11-19 22:58:55 +08:00 |
|
minecraft1024a
|
185e6aad0b
|
Revert "refactor(chat): 优化错别字生成器逻辑与文档"
This reverts commit ceee3c1fbf.
|
2025-11-19 22:58:54 +08:00 |
|
minecraft1024a
|
33e8e054c9
|
refactor(chat): 优化错别字生成器逻辑与文档
对中文错别字生成器(`ChineseTypoGenerator`)进行了大规模重构和改进,以提升代码的可读性、可维护性和生成质量。
主要变更包括:
- **逻辑拆分**: 将核心的单字替换逻辑从主函数 `create_typo_sentence` 中提取到新的私有方法 `_char_replace`,使主流程更清晰。
- **文档增强**: 全面重写和丰富了所有主要方法的文档字符串(docstrings),详细解释了每个参数的用途、函数的内部工作原理和设计决策,显著提高了代码的可理解性。
- **代码简化**: 优化了同音词的查找逻辑(`_get_word_homophones`),移除了复杂的评分和文件读取过程,直接利用 `jieba.dt.FREQ` 进行有效性验证,使代码更简洁高效。
- **健壮性提升**: 在拼音转换和处理逻辑中增加了更具体的异常捕获(`IndexError`, `TypeError`),提高了代码的稳定性。
- **修正建议格式**: 将修正建议的返回格式从单个字符串更改为 `(错字/词, 正确字/词)` 的元组,提供了更完整的上下文信息。
此外,在 `generator_api.py` 中移除了一段冗余的内容类型检查代码。
|
2025-11-19 22:58:54 +08:00 |
|
minecraft1024a
|
88ff6093b0
|
refactor(api): 优化撤回消息的函数调用
将 `adapter_command_to_stream` 的直接调用重构为使用更通用的 `command_to_stream` 函数。
此更改统一了命令分发逻辑,提高了代码的可维护性。
|
2025-11-19 22:58:49 +08:00 |
|
minecraft1024a
|
76d510200e
|
fix(api): 处理列表类型的 content 输入
在 `process_human_text` 函数中,增加了对 `content` 参数的类型检查。如果 `content` 是一个列表,它会被自动转换成字符串,以防止后续处理中出现 `ValueError`。这增强了函数的健壮性,使其能够处理更多样化的输入格式。
|
2025-11-19 22:58:47 +08:00 |
|
minecraft1024a
|
4b6b5d610c
|
docs(core): 为核心模块添加日志记录和文档字符串
为 `cycle_processor`, `response_handler`, `generator_api`, 和 `send_api` 等核心代码文件补充了日志记录器和详细的文档字符串(docstrings)。
本次更新旨在提高代码的可读性和可维护性,通过清晰的文档注释和日志输出,使其他开发者能更容易地理解代码逻辑和功能,并为未来的调试和功能扩展提供便利。
|
2025-11-19 22:58:42 +08:00 |
|
minecraft1024a
|
89fad16e0e
|
feat(chat): 实现发送错别字后自动撤回修正的功能
引入了一个新的聊天交互机制:当机器人发送了包含“错别字”的消息后,会在短暂延迟后自动撤回该消息,并发送正确的版本。此功能旨在模拟更真实的人类打字行为,增加交互的趣味性和拟人化程度。
主要变更:
- **错别字处理流程**:
- `ResponseHandler`现在会识别出带有错别字的消息,并在发送后创建一个异步任务来处理后续的修正。
- 新增`handle_typo_correction`方法,该方法会随机延迟2-4秒,然后调用新的`recall_message` API撤回原消息,并重新发送修正后的内容。
- **API扩展**:
- `send_api`中增加了`recall_message`函数,用于调用适配器执行消息撤回操作。
- `send_response`的返回值从单个字符串`reply_text`变更为元组`(reply_text, sent_messages)`,以便将已发送的消息信息(包括ID和类型)传递给上层调用者。
- **数据结构调整**:
- `process_llm_response`的返回类型从`list[str]`调整为`list[dict[str, str]]`,以支持更复杂的响应类型,如包含原文、错别字和修正建议的`typo`类型。
- **代码优化与重构**:
- 对`ChineseTypoGenerator`进行了大量的代码清理、注释补充和逻辑优化,使其代码更清晰、更易于维护。
- 修复了多处代码中的类型注解和潜在的空指针问题,提高了代码的健壮性。
|
2025-11-19 22:58:42 +08:00 |
|
minecraft1024a
|
02d8e7e5fc
|
rrrrrrrrrrrrrrrrruuuuuuuuuuuufffffffffffffffffffffffffffffffff x2
|
2025-11-19 22:58:39 +08:00 |
|
Windpicker-owo
|
03d1f7c57c
|
继续尝试迁移,但是组件获取插件配置存在问题
|
2025-11-19 22:58:34 +08:00 |
|