AstrBot Command2LLM 插件
这个插件允许大语言模型在聊天过程中自动判断并调用当前所有插件的命令作为工具,实现智能化的交互体验。
功能特点
- 🤖 自动判断: 智能判断用户消息是否需要调用命令
- 🛠️ 实时调用: 在聊天过程中实时调用插件命令,无需手动输入命令
- 🔍 命令发现: 自动发现和识别所有已激活插件的命令
- 📋 帮助系统: 提供命令帮助信息查询功能
- ⚙️ 灵活控制: 支持启用/禁用AI自动调用功能
工作原理
插件会拦截所有用户消息,通过以下方式工作:
- 消息拦截: 拦截所有非命令消息(不以/或#开头的消息)
- 智能判断: 使用关键词和LLM双重判断是否需要调用命令
- 命令发现: 自动扫描所有已激活插件的命令
- 工具执行: LLM根据用户需求选择合适的工具执行
- 结果返回: 将执行结果返回给用户
安装方法
- 将插件文件夹放置到 AstrBot 的插件目录
- 重启 AstrBot 或重新加载插件
使用方法
自动调用(主要功能)
直接发送消息,插件会自动判断是否需要调用命令:
帮我查看天气
请搜索一下今天的新闻
能否设置一个提醒
控制命令
/ai_enable # 启用AI自动调用命令功能
/ai_disable # 禁用AI自动调用命令功能
/ai_status # 查看AI功能状态
/refresh_commands # 刷新命令缓存
智能判断机制
插件使用双重判断机制:
关键词匹配: 检测消息中是否包含调用关键词
- 帮我、请、能否、可以、能不能、如何、怎么、怎样
- 查看、搜索、找、获取、设置、配置、启动、停止
- 天气、时间、日期、新闻、音乐、视频、图片
LLM精确判断: 使用LLM进一步判断消息意图
技术实现
- 使用 AstrBot v4.5.7+ 的 Tool 和 Agent API
- 支持命令过滤器和命令组过滤器
- 集成对话管理系统
- 支持多轮对话和上下文记忆
- 智能消息过滤和判断机制
配置选项
插件支持以下配置:
- 启用/禁用AI自动调用功能
- 命令缓存刷新
- 状态查询
注意事项
- 需要配置好 LLM 提供商才能使用
- 插件会自动跳过以/或#开头的命令消息,避免与现有命令冲突
- 某些需要特定权限的命令可能无法通过AI调用
- 建议在测试环境中先验证功能
兼容性
- 兼容 AstrBot v4.5.7+
- 支持所有标准的命令过滤器
- 兼容多平台适配器
- 支持群聊和私聊场景
开发者
- 作者: vmoranv
- 仓库: https://github.com/vmoranv/astrbot_plugin_command2llm
许可证
本项目遵循 LICENSE 文件中的许可证。