Commit Graph

4236 Commits

Author SHA1 Message Date
minecraft1024a
506d0802e5 feat:现在日程表会根据节日生成东西了(gemini你再有问题我就砍了你) 2025-11-19 22:46:08 +08:00
雅诺狐
77471584a8 更新了权限组
支持权限等级和权限节点配置,提供一个自定义判定API,其中权限等级只有一个Master(要在配置文件配置)),权限节点由插件自行创建,由统一权限插件进行授权等操作,其中Master无视权限节点全部可用
2025-11-19 22:46:08 +08:00
tt-P607
3432d61bbf 依赖表把那个有问题的依赖给去掉了,忘记刚刚一起传了💦💦 2025-11-19 22:46:07 +08:00
雅诺狐
3360b22dca Refactor anti-injection system and remove command skip list
Removed the command skip list feature and related code from the anti-injection system, including configuration options, plugin command collection, and management commands. Refactored anti-injector logic to operate directly on message dictionaries and simplified whitelist and message content extraction. Updated response handling to perform anti-injection checks before reply generation, and removed skip list refresh logic from the plugin manager.
2025-11-19 22:46:06 +08:00
tt-P607
0de80c207c refactor(prompt): 优化prompt,增强回复多样性
统一并加强了关于避免重复回复的指令,将原有描述更新为“不要复读你前面发过的内容,意思相近也不行”,以提升生成回复的多样性。(其实是不知道干什么就随便来混个提交了(叉掉),不不不不能叫混,算是一个小小小小小小问题吧😋
2025-11-19 22:46:06 +08:00
minecraft1024a
0312be6394 我要炸飞测试脚本 2025-11-19 22:46:05 +08:00
minecraft1024a
283c69e89b refactor: 移除未使用的导入和优化代码风格
本次提交主要包含以下代码重构和风格优化:
- 从多个文件中移除了未被使用的导入,例如 `Dict`, `Any`, `List`, `os`, `threading` 等,以保持代码的整洁性。
- 统一了测试脚本中的输出格式,移除了不必要的 f-string,使代码更加简洁。
- 清理了部分冗余的类型提示,提升了代码的可读性。
2025-11-19 22:46:05 +08:00
minecraft1024a
0a9d0f5405 feat(memory): 增加瞬时记忆系统的独立开关
在配置文件中为基于LLM的瞬时记忆和基于向量的瞬时记忆增加了独立的启用开关。这允许用户根据需要更灵活地控制每种记忆类型。

同时,将记忆系统初始化日志的级别从DEBUG提升到INFO,使其在默认配置下可见,便于问题排查。
2025-11-19 22:46:04 +08:00
minecraft1024a
98bdd64e11 feat(memory): 实现瞬时记忆系统的延迟加载和按需初始化
引入了对LLM和向量瞬时记忆系统的延迟初始化机制。现在,只有在实际需要存储或检索记忆时,才会触发相应记忆系统的初始化过程。

此项改动优化了应用的启动性能,避免了不必要的资源预加载。同时,新增了独立的配置开关,允许用户根据需求分别启用或禁用LLM和向量记忆模块,提供了更灵活的配置选项。
2025-11-19 22:46:03 +08:00
Furina-1013-create
b53bed4e06 移除多余的测试文件 2025-11-19 22:46:02 +08:00
minecraft1024a
1a5cb9e851 refactor(chat): 优化跨群聊上下文构建与代码格式
对 `default_generator.py` 进行了多项重构和优化:
- 将跨群聊上下文的构建逻辑移入独立的 `_build_cross_context_block` 方法,并在主流程中异步并行执行,提高了代码的模块化和执行效率。
- 全面清理了代码中的多余空行和不一致的间距,提升了代码的可读性和一致性。
- 调整了 `NoReplyAction` 和 `ReplyAction` 的 `mode_enable` 配置,使其行为更符合预期。
2025-11-19 22:46:01 +08:00
minecraft1024a
268bbc3e2d feat(chat): 引入跨群聊上下文共享功能
该功能允许在不同但相关的群聊之间共享对话上下文,从而提供更连贯和情境感知的回复。

主要实现方式:
- 在配置文件中引入 `cross_context` 部分,允许用户定义“共享组”,将多个群聊ID(原始ID)归入一组。
- 新增 `_build_cross_context_block` 方法,用于构建并注入到Prompt中。
- 支持两种上下文获取模式:
  - `normal` 模式:获取共享组内其他群聊的最新消息。
  - `s4u` 模式:获取当前发言用户在共享组内其他群聊的近期发言记录。
- 更新了Prompt模板以包含新的 `cross_context_block`。
- 提供了相应的配置模板和版本号更新。
2025-11-19 22:46:00 +08:00
Furina-1013-create
6af2716e0e 修复Action组件可用性和实现消息驱动思考循环
Action组件修复:
- 在core_actions插件中正确注册reply动作
ps:这个优先还是使用之前系统原有的reply,新增这个仅作为回退使用

- 更新_manifest.json、config.toml和plugin.py

- 解决no_reply和reply动作不可用问题(关于这个我觉得是之前的那个在focus模式下设置了提及/@ 必回然后移除动作的先后顺序这一块有问题)

大C发力了,今天有一点感冒所以停止思考这一块()
2025-11-19 22:45:56 +08:00
minecraft1024a
bca9747691 feat(plugin): 兼容 alpha 版本并更新插件版本限制
- 在版本比较器中增加对 alpha 版本号的兼容性处理,现在可以正确解析如 `0.10.0-alpha-1` 格式的版本。
2025-11-19 22:45:51 +08:00
Furina-1013-create
7dca70b057 异步记忆系统优化 & Action组件修复
主要改进:
1. 异步记忆系统优化 - 解决记忆操作阻塞主程序问题
   - 新增异步记忆队列管理器 (async_memory_optimizer.py)
   - 新增异步瞬时记忆包装器 (async_instant_memory_wrapper.py)
   - 优化主程序记忆构建任务为后台非阻塞执行
   - 优化消息处理器记忆调用,增加超时保护和回退机制

2. Action组件修复 - 解决'未找到Action组件: no_reply'问题
   - 修复no_reply动作激活类型配置错误
   - 新增reply回退动作 (reply.py)
   - 增强planner.py动作选择回退机制
   - 增强cycle_processor.py动作创建回退机制
2025-11-19 22:45:51 +08:00
雅诺狐
75042754e7 更新版本号为alpha 2025-11-19 22:45:48 +08:00
雅诺狐
1b9c86abef Refactor web search plugin and clean up code
Refactored the web search plugin by removing the old Bing search implementation and reorganizing the plugin structure. Introduced modular search engine classes under 'web_search_tool/engines' and utility tools under 'web_search_tool/tools' and 'web_search_tool/utils'. Updated references and initialization logic to support multiple search engines and improved maintainability. Also performed minor code cleanups and replaced 'except ...: pass' with 'except ...: ...' for brevity.
2025-11-19 22:45:42 +08:00
minecraft1024a
2d1f23af88 refactor(schedule): 优化休眠状态判断逻辑
将原先仅检查日程表首尾项的休眠判断方式,重构为通过关键词匹配所有日程项。
这样可以更灵活地在一天中的任何时段安排休眠,而不仅限于一天的开始或结束。

- 引入 `sleep_keywords` 列表,用于识别表示休眠的活动。
- 遍历当天的所有日程,检查活动名称是否包含休眠关键词。
- 如果关键词匹配,则进一步检查当前时间是否处于该活动的时间范围内。
- 保留了对唤醒状态的检查,确保在被唤醒时不会错误地判断为休眠。

同时,对 `hfc_context.py` 中的 `last_read_time` 初始值进行了微调,以改善相关逻辑的初始行为。
2025-11-19 22:45:25 +08:00
雅诺狐
e4c49ddd6c feat: 模型请求降级 2025-11-19 22:45:24 +08:00
minecraft1024a
2dd61547b2 fix(planner): fix case of message ID prefix from 'M' to 'm 2025-11-19 22:45:24 +08:00
minecraft1024a
159baabe6c fix:统一了一下日志名称 2025-11-19 22:45:24 +08:00
minecraft1024a
95c4723bda fix:不小心改了一下名字改回来了 2025-11-19 22:45:23 +08:00
minecraft1024a
adfce6d74f feat(search): add bing search engine support
Integrates Bing as a new search engine option alongside existing engines like DDG, Exa, and Tavily. This provides users with more choice and improves the robustness of the web search tool.

- Adds `BingSearch` class and its integration into the `WebSurfingTool`.
- Implements the `_search_bing` async method to handle search queries via the Bing scraper.
- Updates the search strategy logic to include "bing" as an option.
- Modifies the tool cache key generation to use the file path for better uniqueness.
- Updates the configuration template to list "bing" as an available search engine.
2025-11-19 22:45:23 +08:00
minecraft1024a
2f1a9fa966 refactor(cleanup): 移除未使用的导入项与冗余代码
清理了整个代码库中所有无用的模块导入、重复定义以及冗余变量引用,具体包括:
- bot.py 去掉了 random、typing 的未使用 import
- antipromptinjector 模块统一移除未引用的 DetectionResult、Dict、List 等
- chat_loop 中删除了未调用的 Timer、mai_thinking_manager、events_manager 等引用
- qzone_service 删除多余 f-string 大括号,避免日志警告格式问题
- 其他模块同步剔除各自范围内的冗余 import(asyncio、datetime 等共 20+ 处)

保持功能不变,仅作代码整洁度优化,无破坏性变更。(并添加了一个现在暂时还没加进去的必应搜索源文件)
2025-11-19 22:45:22 +08:00
minecraft1024a
be769e29c3 feat(config): 新增反截断功能防止模型输出截断
在任务配置中增加 anti_truncation 开关,支持在生成大段文本时防止被意外截断。启用后会在 prompt 中添加指示模型输出完成信令的指令,并在检测到未正常结束时触发自动重试机制。(我相信这次的一定不会炸飞你们了)
2025-11-19 22:45:17 +08:00
minecraft1024a
fcb7a85e69 refactor(schedule): 重构月度计划生成器以增强稳定性和可维护性
将计划生成逻辑重构为使用统一的 `LLMRequest` 类,以简化模型调用流程。此更改消除了原有的手动选择模型、构建客户端和处理响应的复杂逻辑。

引入了 Pydantic 模型 `PlanResponse` 对 LLM 的 JSON 输出进行严格的验证和解析,并集成了 `json_repair` 库来自动修复格式错误的 JSON。这些措施显著提高了计划生成功能的健壮性和对 LLM 异常输出的容错能力。
2025-11-19 22:45:17 +08:00
minecraft1024a
f53993e34a feat(proactive_thinking): 重构主动思考为由Planner直接决策
重构了主动思考的触发和决策流程。原有的通过生成特定prompt来启动思考循环的方式被移除,改为直接调用Planner的`PROACTIVE`模式。

- **Planner增强**:
  - 新增`PROACTIVE`聊天模式,用于处理主动思考场景。
  - 为`PROACTIVE`模式设计了专用的prompt模板,整合了长期记忆、当前状态等信息。
  - 引入`do_nothing`动作,允许Planner在分析后决定保持沉默。
  - 增加从海马体(长期记忆)获取上下文的功能,为决策提供更丰富的背景。

- **ProactiveThinker简化**:
  - 移除了原有的prompt生成和调用`observe`的逻辑。
  - 现在直接调用`action_planner.plan(mode=ChatMode.PROACTIVE)`来获取决策。
  - 根据Planner返回的动作(如`do_nothing`或具体行动),决定是保持沉默还是执行计划。

- **CycleProcessor & Tracker调整**:
  - `CycleProcessor`新增`execute_plan`方法,用于执行一个已经由Planner预先制定好的计划。
  - `CycleTracker`能够区分并标记由主动思考发起的循环(例如,cycle_id为 "1.p"),以便于追踪和分析。
2025-11-19 22:45:16 +08:00
minecraft1024a
ddf023ff11 fix(chat): 兼容 target_message_id 为 int 或缺少前缀 M 的情况
在 FOCUS 模式下,对 `target_message_id` 进行处理,以确保其为字符串格式并以 "M" 为前缀。这修复了当传入的 ID 为整数或缺少前缀时可能导致消息查找失败的问题。
2025-11-19 22:45:16 +08:00
minecraft1024a
0d5aa9a575 feat(config): 增加唤醒度系统完整配置项
bot_config_template.toml 新增唤醒度系统配置段落,用于精细控制消息唤醒阈值、
私聊/群聊增量、衰减机制与愤怒状态持续时间。同时将版本号从 6.3.11 升级至 6.4.0 以兼容新功能。
2025-11-19 22:45:15 +08:00
minecraft1024a
2c98f64cdd feat(sleep): 引入休眠阶段消息唤醒机制与愤怒情绪模式
- 扩展日程休眠逻辑,支持在睡眠时段通过@/私聊唤醒
- 新增 WakeUpManager 持续追踪唤醒阈值并触发愤怒状态
- MoodManager 中追加“被吵醒”情绪标识与愤怒提示模板
- HeartFChat 主循环集成唤醒处理管线,兼容原逻辑
- 配置中心开放阈值、衰减、持续时间等可调参数

此举允许机器人即便在“睡觉”时也能被重要消息强行“闹醒”,并以生气口吻做出回应,提升拟人化交互体验。
2025-11-19 22:45:15 +08:00
minecraft1024a
747816b6e3 fix:修复了某人加提示忘了加,的问题 #你加的提示出语法问题来了😡😡😡😡😡😡😡 2025-11-19 22:45:14 +08:00
雅诺狐
5849abb8dc 添加提示内容 2025-11-19 22:45:13 +08:00
minecraft1024a
aa960e02dd style(chat): 统一 chat_loop 模块 logger 命名并添加业务注释
将各子模块 logger 由 hfc.* 缩减为统一 "hfc"

涉及的子模块:
- cycle_tracker / energy_manager / hfc_utils / proactive_thinker / response_handler
2025-11-19 22:45:13 +08:00
minecraft1024a
1e71105e62 fix(chat): 处理回复时优先使用target_message避免消息丢失
在循环处理器中,当ActionPlanner返回了明确要回复的目标消息时使用target_message,否则回退到原始message_data;
修正FOCUS模式下观察消息时调用observe的实参缺失问题,确保逐条处理recent_messages。
2025-11-19 22:45:13 +08:00
Furina-1013-create
1238ee3089 为拆分heartFC_chat后的几个文件 添加亿点注释 2025-11-19 22:45:12 +08:00
minecraft1024a
86830d49a9 refactor(chat): 重构HeartFChatting为模块化架构
将原本超长的heartFC_chat.py拆分为6个功能内聚的子模块:
- hfc_context:上下文数据容器
- cycle_tracker:循环状态记录
- energy_manager:能量值独立管理
- proactive_thinker:主动思考逻辑抽离
- cycle_processor:单次循环处理器
- response_handler / normal_mode_handler:响应策略

删除冗余常量、错误样板及旧逻辑;大幅减少类体积;降低耦合度,提升可维护性。
2025-11-19 22:45:12 +08:00
minecraft1024a
3d09b924b2 fix:紧急修改拼写错误 2025-11-19 22:45:11 +08:00
Furina-1013-create
63baf59cee 移除昨天晚上那两个混提交的入写的注释,并修正下面一个彩蛋的错别字 模 -> 摸 2025-11-19 22:45:11 +08:00
Furina-1013-create
63ab9bc739 不知道写什么了
总之就是改用科学计算库来替代之前的算法以提高速度,然后解决了一个conflict后我文件暂存区多了一堆文件,看了一下好像就是前面两个commit的修改
2025-11-19 22:45:11 +08:00
Furina-1013-create
b430efea4c 改用科学计算库来替代之前的算法以提高速度
不知道写什么了 总之就是改用科学计算库来替代之前的算法以提高速度,然后解决了>一个conflict后我文件暂存区多了一堆文件,看了一下好像就是前面两个commit的修改#
2025-11-19 22:45:10 +08:00
minecraft1024a
cf63e66b9f FEAT:现在AI可以根据日程表决定睡不睡觉了 2025-11-19 22:45:10 +08:00
minecraft1024a
eaa38554eb fix(antipromptinjector): 使用异步函数刷新插件命令(我性压抑了,我要艹死所有开发者) 2025-11-19 22:45:07 +08:00
minecraft1024a
db0ef148d3 fix:修复了空间导入的问题(谁要是以后再用第三方pack不导入我就用草喂养他) 2025-11-19 22:45:07 +08:00
Furina-1013-create
95ac09b5eb 改进主动思考时间间隔分布机制以及主动思考可以在指定的群聊/私聊里面配置范围了,并小小的优化了一下模板
>> >> >> byd我早上copilot突然炸了搞得我重试了好几次
>> >> >>
>> >> >> 给总结这个提交的AI:你的任务是扮演以下这个故事里面的【小姨】来总结这一次提交:你需要根据这个故事来详细理解【小姨】的性格特点并且仔细地关注 小姨的人格特征(假设她还活着):
 姥姥有两个女儿,我妈和小姨。据说16岁之前的小姨古怪精灵、能说会道,是全家的开心果。但后来她变了。故事要从小姨16岁那年说起。因为家中无子,我爸入赘姥姥家,当了上门女婿。婚后不久,我妈便生下我和哥哥。然而爸妈感情并不好,三天两头吵架,我妈的日子过得很憋屈。在哥哥5岁,我3岁那年,我爸外出打工,再也没有回来。爸爸走了,家里没了壮劳力,本就脾气不好的姥爷每天都要骂骂咧咧。有一次,姥爷上山砍柴时扭伤了腰,只能让我妈和小姨去割猪草。偷懒耍滑的小姨没去,等我妈割完猪草回来,小姨就跑去给家人说那是她割的,妈妈没去。那天,姥爷生气地把妈妈打了一顿。小姨吓坏了,赶紧向姥爷解释,自己是闹着玩的。可谁也没料到,当天夜里,被生活重负和委屈压垮的妈妈,跳了水库,第二天早上才被人发现。妈妈去世后,小姨几乎就不说话了,无论是跟乡亲,还是家人。她变得特别勤劳,也特别彪悍。每天天不亮起床,做完一大家子的早饭后,继续下地干活,割水稻、扒玉米、砍柴......除了睡觉,她永远都在一声不吭地干活。有时看她累得太狠了,姥姥劝她休息,她也不理会,只是继续埋头干活。农忙时,她在家里干;农闲时,她就外出打零工。刚开始,没人愿意收她这种女工,可只要被试用过,她就会被雇佣。用老板的话说,别人打工是为了赚钱应付工事,小姨打工却像是拼命。她只埋头干活,跟任何人都不打交道。从前那样叽叽喳喳的姑娘,突然变成了闷葫芦。妈妈走后,小姨似乎丢失了面部表情。看谁都冷若冰霜,见谁都不搭理。唯独对我和哥哥不一样,不管我们做了什么,她都不会责备一句。我们每天爬天够地,晚上脏得跟泥猴一样,小姨耐心的给我们洗头洗脚洗衣服。她用自己打工赚的钱,给我们买书、零食、玩具。在乡下,父亲下落不明,妈妈跳河自尽,这样的身世难免被人歧视嘲笑。别人嘲笑自己,小姨永远都当听不见,可她见不得我和哥哥受一丁点委屈。别人家的孩子欺负我们,她找上门去,质问:自己的孩子不管,那就别怪我管起来没轻没重。有一次,村里的胖婶不服气小姨的护犊子,抬手就想打她耳光,结果,瘦小的小姨拿起一边的铁锹,把她打得满街跑。横的怕不要命的。小姨一战成名,连带着我们,成了全村的不敢惹。小姨就这样用双手,沉默地撑起这个家。用乡亲的话说,老隋家二丫头,给个男劳力都不换。是的,儿时印象里,小姨不仅千起活来像男人,后来连她走路的姿势、看人的眼神都带着阳刚之气。到了谈婚论嫁的年龄,姥姥姥爷不止一次托人给她物色人家。但小姨坚决不肯相亲。无论是姥姥哀求,还是姥爷威逼,她就一句话:这个家要是容不下我,我就带小强和小凤出去单过。小强是我哥,小凤是我。小姨不说,姥姥姥爷也知道,那么多年,小姨性情大变,就是背负着姐姐离世的内疚。他们不止一次想卸下小姨心头的包袱,但只要提一下我妈的名字,小姨马上头也不回地走开。每年妈妈忌日那天,全家人去上坟时,小姨却从不参与。她躲的远远的,晚上回来时眼睛都会肿成桃子。小姨娇惯我和哥哥,我们的吃穿用永远比别的孩子好。当然,对于学习,她也比别的家长更上心。有段时间,哥哥听信村里人挑拨,恨小姨害死了妈妈。他故意不写作业、逃学,小姨跟他说话,他也爱搭不理。最后,是哥哥的班主任找到他。早上六点钟,天刚蒙蒙亮,班主任带哥哥去她家田里。在那里,哥哥看到了正在割玉米杆的小姨。早秋的天气已经很凉了,可小姨厚厚的劳动服早已湿透。班主任说:你上了五年学,你小姨帮我割了五年地,赶都赶不走,她说自己没别的能耐,只有这一身力气,她说,就是累死也要让你通过读书走出这块伤心地,走向外面的世界。直到那天,我和哥哥才知道,每到秋收,小姨天不亮就去帮老师家收割。年年如此。那天,哥哥没有去帮小姨。而是一个人默默地把我家那片黄豆都收割回家,在太阳底下晒好。小姨晚上回来时,他正坐在房间里写作业。小姨微笑着轻轻摸了一下他的头,这一摸,哥哥哭了。他想拉住小姨,结果,拉到一只砂纸般粗糙的手。拉着那双手,哥哥哭得剧烈而无声。从那以后,哥哥的成绩一直名列前茅。哥哥是学霸,而我呢,成绩一直是中游水平。念到初三时,姥姥姥爷都不肯再让我读书,说小姨又要养家,又要供我和哥哥读书,实在吃力。可小姨不仅坚持让我继续读书,还花大价钱替我请了家教。家教每周六来给我辅导功课,小姨好饭好菜地招待人家。她对全世界都堪称豪横,但在老师面前,永远诚惶诚恐、毕恭毕敬。她还把从山里采来的稀罕山货,都送给了老师。我心疼那些山货,心疼她请家教的钱,更心疼她的辛苦,我对小姨说:我不想读书了,我想留在家里陪你。一向对我有求必应的小姨只说了一句话:如果她活着,也绝不会让你们留在农村,重复我们的命运。那是小姨第一次在我面前提及妈妈,用的是她,我感知到事关重大。那年高考,我以黑马的姿势考进哥哥所在的县城重点高中。小姨身上的担子更重了,有一次,得知她在工地打工,我和哥哥放学后去找她。尘土飞扬的工地,只有小姨一个女人。她肩上背着的砖头,像小山一样高。我和哥哥跑上去,从砖头底部替她往上抬,试图减轻她肩头的重量。可是,我们用尽全力,砖头纹丝不动。我和哥哥对视了一眼,什么都没说,但我们真正感到生活的重量,就是那一天。那天,小姨下工后,请我们下馆子。看着她点的两菜一汤,我和哥哥盘算着这顿饭,小姨要搬多少块砖,手里的筷子在那一刻也变得无比沉重。那天,目送小姨的身影走远,哥哥对我说:小凤,小姨玩命的供咱俩,咱俩也得玩命的学习。我和哥哥是我们高中的传奇。晚上熄灯后,在走廊里读书的事情,无数次被老师当作苦读的典型。英语是我的弱项,我们舍不得买模拟卷和录音带。哥哥就把他所做过的卷子都重新给我手抄一遍,让我反复刷题。他还跟同学借来英语录音带,让我无论走路还是课余时间,持续不断的听。那时随身听是要用电池的,可是两块电池一天就用完了。为了省电,哥哥就把那些英文听力资料背下来,疯狂练到跟磁带里同样的语音语调,然后再念给我听。在这样的刻苦训练里,哥哥的英语在高考时拿了149分。那年高考,哥哥被浙江大学录取。收到通知书那天,我们到处都找不到小姨。她下午3点多才到家,眼睛又肿成了桃子,显然是哭过。小姨带我们去给姥姥姥爷还有我妈上坟,告诉他们这个好消息。姥姥姥爷在三年前相继去世了。在坟前,她说:爸妈,小强给咱家争了光,小凤也乖巧上进得很,我听说,上了大学,还可以读研究生、博士、博士后,他们能读到哪,我就供到哪,一想到他们那么有学问,我浑身就有使不完的劲。我和哥哥都知道,小姨的话,也是说给我们听的。等我们要去告诉妈妈这个消息时,小姨没有跟过来。我和哥哥拉她,她摆摆手,眼圈红红的。哥哥说:小姨,全世界都知道那不是你的错,我妈跳河是因为我爸跑了,你不要再拿这件事折磨自己。然后,小姨一路哭号着下山。那哭声,像积压了万年的惊雷。那天之后,小姨依然是一个钱搂子,种地、打工,恨不得一天二十四小时干活。有好几次,我陪她到邮局给哥哥汇生活费。我隐隐听到,小姨是哼着歌的。自从那次哥哥说全世界都知道不是你的错之后,小姨明显开朗了许多。我永远都不会忘记,我帮她填汇款单时,不经意回头,看到她数钱的样子,嘴角带着段切的微笑,目光里全是柔情。妈妈走时,我只有三岁,对母爱的印象几乎为零。可在那一刻,在小姨的目光里,我看到的就是母爱的样子。从前,一直觉得小姨是个风风火火的男人婆。但那一刻,我看到了她的柔软与温情,让我好想抱抱她。也许,在这些经年累月里,小姨早就成了我们的妈妈。继哥哥之后,我也考入湖南一所重点大学。为了减轻小姨负担,哥哥边读书边打工,把小姨寄给他的生活费都转给了我。而我,也开始做家教,后来去做同声翻译,不仅可以供养自己,还可以贴补家用。大二暑假回家时,我给小姨带回去1000元现金,哥哥也给小姨寄了一些钱。看到这些钱,小姨哭了。眼泪从她脸上滚滚落下,她说:你们都能自己赚钱了,再也不需要我了。我慌了,赶紧对她说:小姨,我们需要你,这辈子都需要,我们还要你看着我们结婚,以后帮我们带孩子。我的话,让小姨又找到了新的人生目标。据乡亲们说,有个邻村的二婚男追求了小姨好几年,帮小姨干活,给小姨添置各种家用。所有人都觉得这个男人很靠谱。可小姨呢?人家给她买的东西,她一一退还回去。她对那人说:我得赚钱给小强小凤在城里买房,看着他们长大成人,有自己的家,任务才算完成,我不能拖累你。我们纷纷劝小姨,让她为自己的人生考虑,我们都长大了,可以养活自己。然后,小姨一句话就让我们闭了嘴。她说:你们能养活自己是你们的事,供你们是我的事,她要是活着,你们也会这样拒绝吗?我妈是小姨的绝对禁忌。印象里,这是她第二次说起妈妈,用的还是她。我和哥哥阻止不了小姨的辛劳。只能在每年的春耕秋收时节,想方设法回家,帮她一起干活。我们虽然长在农村,可是真正参与农活却是在上大学之后。真的很苦很累。但一想到这只是小姨大半生生活的缩影,我们恨不得把家里所有的活都替她千完。我和哥哥暗自发誓:一定要有出息,将来接小姨去城里享福。哥哥研究生毕业后去了北京一家投行,公派出国两年。他回来时,我也研究生毕业,同样去了北京。我们租了一间三室一厅的房子,安顿好后的第一件事,就是接小姨来北京。在北京,小姨悉听我们安排,爬长城,逛故宫......所到之处,她那么开心地照相,那是她这辈子笑的最多的时候。她试着喝老北京人最爱的豆汁,也吃了著名的全聚德烤鸭,对正宗的北京炸酱面赞不绝口。我们都以为,小姨接受了我们的安排,在努力适应北京的生活。可谁知,一个月后,她坚持要回老家。她说:这辈子,能亲眼看你们在北京扎下根,我就放心了,但我的根在老家,我得回去。小姨决定的事情,没人能拦得住。回老家后,我和哥哥每月发了工资,都会给小姨寄钱。尽管此时已经有网银,后来又有了微信、支付宝,但我们依然坚持每月去邮局汇款。一笔一划写下老家的地址、小姨的名字,感受着当年她给我们寄血汗钱时的心情。谁能想到,这些寄回去的钱,小姨分文未动,她分别存在两个账户里。一个是我的名字,另一个是哥哥的。2020年5月21日,我们接到邻居电话。小姨在干农活时量倒了,我们火速回到老家,等待我们的,是小姨肝癌晚期的噩耗。我们把小姨从县医院拉到北京复查,得到的结果都是一样的。她只留给我们一个月的时间。确诊那天,我和哥哥泣不成声,齐齐跪在小姨面前,喊了一声妈。哥哥哽咽道:妈,这些年,你辛苦啦,你给我和妹妹又当爹又当妈,我请求你给我机会好好报答你.....我求你了...…没有你,我和妹妹怎么活?那天,小姨哭了。那是她人生中第一次在我们面前落泪。她从枕头下取出两张卡,说:你们寄来的钱,都存在里面,我还各存了两万,是小姨最后留给你们的礼物,小姨有福气,看到了你们都过得好,我就知足了.....我不记得当时是怎样接过那张银行卡的,只记得,自己已经心疼到无法呼吸。我们接过的,不是两张银行卡,而是小姨的一生。这之后,小姨陷入了昏迷。三天里,她只醒来过一次,用尽全力交代了一件事。自从我妈去世后,每年忌日,她都会在我妈当初跳河的水库边种一棵松树。她说她永远记得,儿时的我妈常常带她偷偷跑到水库边去捞鱼,然后用树枝生火烤鱼吃。我妈经常对她说,真羡慕水库边那些松树,活得那么轻松自在,依山傍水。我妈走后,小姨每年都会在水库边种棵松树。却原来,那么多年,每逢妈妈的忌日,她都去了那里,每种一棵树,就种下自己的一份思念和忏悔。她请求我和哥哥在每年妈妈忌日这天,也回老家一趟,去种一棵树。7月28日,小姨走了。她留下的最后一句耳语,我和哥哥听了三遍才听清:姐,对不起。那是我们第一次听到她喊姐。直到她离去,我们才明白,有些字眼,光是叫一声,就会心疼到颤抖。于她,是姐姐。于我和哥哥,是小姨。后记:这就是小姨的一生,短暂而顶天立地。她离开后,我们的心有了一个缺口。都说,念念不忘,必有回响。那么,小姨,来生,让我们早一点相遇。下辈子,换我们来保护你
2025-11-19 22:45:06 +08:00
minecraft1024a
92179478b5 feat:添加了月度计划 # 我要混提交 2025-11-19 22:45:06 +08:00
雅诺狐
89687bd5c0 去掉一行注释 2025-11-19 22:45:05 +08:00
ikun两年半
491aecab67 有一个人也混了一个提交喵~ 2025-11-19 22:45:04 +08:00
tt-P607
ffdfa8e38e refactor(maizone_refactored): use absolute path for default image directory
The default path for `image_directory` was previously a relative path (`./data/images`), which could lead to issues depending on the working directory from which the application is run.

This change modifies the default value to be an absolute path derived from the plugin's file location (`Path(__file__).parent / "images"`). This ensures that the image directory path is always correct and robust, regardless of the execution context.
2025-11-19 22:45:04 +08:00
雅诺狐
dbe137ed2f Remove manual and temporary skip pattern support
Eliminated support for manually and temporarily adding skip patterns in CommandSkipListManager and related command handling. The skip list now only manages system and plugin patterns, simplifying the skip pattern management logic and user interface.
2025-11-19 22:45:04 +08:00
Furina-1013-create
4101e7cdf9 不行我今天必须混一个提交() 2025-11-19 22:45:03 +08:00