言而有信 (PromiseKeeper) - AstrBot 插件
你是否也曾遇到朋友或自己在群里立下Flag,说过“马上就去”、“明天一定完成”,结果却悄无声息?你朋友说的“回头”、“待会”再也不会被忘记了!
言而有信 插件会自动检测聊天中的承诺性话语,进行记录,并在承诺到期时主动 @ 用户提醒,甚至还提供中点提醒、排行榜和先进的LLM上下文分析功能!
✨ 核心功能
✨ 特性
- 🤖 智能检测: 采用 AI 模型进行承诺识别,准确率远超传统正则表达式。
- 🧠 上下文感知: 能够理解对话的上下文,例如,对于 “你能帮我个忙吗?” -> “可以” 这样的对话,能准确识别出后者是一个承诺。
- 💾 承诺记录: 自动将识别到的承诺与用户和时间绑定,并持久化存储。
- 🖼️ 图片排行榜: 通过简单指令
/言而有信排行,生成精美的承诺次数排行榜图片。 - 🙋♀️ 个人查询: 使用
/言而有信 [@某人],可以方便地查询自己或他人的所有承诺记录。
🔧 安装与配置
- 下载插件: 从本仓库下载所有文件。
- 放置插件: 将整个
astrbot_plugin_promise_keeper文件夹放入您 AstrBot 的data/plugins/目录下。 - 安装依赖: 确保
requirements.txt文件位于插件目录中。AstrBot 在启动时会自动检测并安装所需的dateparser库。 - 配置LLM (重要):
- 重启 AstrBot,进入 Web 管理面板。
- 找到“言而有信”插件的设置。
- 在
llm_provider_id输入框中,填入您在 AstrBot 中已配置好的LLM提供商的ID(例如openai-gpt-4或您自定义的ID)。 - 如果留空,LLM分析功能将不会启用,但不影响其他功能。
- 重载插件: 在管理面板重载插件或重启 AstrBot 使所有配置生效。
💡 使用指南
1. 自动承诺识别 (被动触发)
本插件的核心功能是全自动的。只要您在聊天中发送了符合预设规则的话,机器人就会自动记录并回复。
例如:
你: 我现在就去写作业
机器人: 【言而有信】已记录承诺:就去写作业,预计完成时间:xx:xx
你: 我保证我明天不摸鱼了
机器人: 【言而有信】已记录承诺:不摸鱼了,预计完成时间:xx:xx
2. 指令列表 (主动触发)
| 指令 | 效果 |
|---|---|
/言而有信排行 |
生成并发送一张包含所有用户承诺次数的排行榜图片。 |
/言而有信 |
生成并发送一张包含您自己所有承诺历史和状态的图片。 |
/言而有信 @某人 |
生成并发送一张包含被@用户所有承诺记录的图片。 |
⚙️ 进阶配置
您可以直接修改插件目录下的 regex_config.json 文件来定制插件的行为。
例如,添加一个新的模糊词 "回头" 并设定为2小时 (120分钟) 后提醒:
- 打开
regex_config.json文件。 - 在
fuzzy_time_mappings对象中,加入"回头": 120。 - 在
rules数组的每个pattern中,找到(?P<time>...)部分,在里面加入|回头。 - 保存文件并重载插件即可。
🤝 贡献 & 许可
欢迎通过 Pull Requests 或 Issues 来为这个项目做出贡献!
本项目采用 MIT License 授权。