Repository navigation
Releases: landamao/astrbot_plugin_onebot_toolkit
Releases · landamao/astrbot_plugin_onebot_toolkit
Release list
v2.1.0
v2.1.0
get_raw_message新增参数message_id:指定消息 ID 时返回该条消息的原始 JSON,不传则仍返回当前消息get_group_msg_history新增参数show_time:开启后在每条消息前显示时间,格式[月-日 时:分:秒],默认 falseget_user_recent_msgs新增参数show_time:同上,时间显示在每条发言前,默认 false- 时间格式化抽为公共方法
_format_ts,两处工具共用同一格式 - 配置与行为完全向后兼容,无破坏性变更
安装
WebUI → 插件 → ldm插件 → ➕ → 从链接安装 → 安装即可;已安装用户在插件管理中更新
v2.0.0
- 新增「平台设置」配置分组:
- 「注入系统提示词」(默认开启):在 LLM 请求前向 system prompt 注入平台提示词,告知模型当前运行在 OneBot 平台、不支持渲染 Markdown 文本,请勿在正文输出 Markdown
- 「系统提示词」:注入内容可自定义,留空使用内置默认;仅当「注入系统提示词」开启时生效并在 WebUI 中显示
- 注入仅对 OneBot(aiocqhttp)平台的消息生效,其他平台不受影响;每次主聊天 LLM 请求前注入一次,不随工具调用轮次重复
- 「/AI解答」与 ai_solve 走独立的 agent 调用,不经过该注入;其内置默认提示词已同步加入「平台不支持渲染 Markdown」提醒,两条路径行为一致
- 配置完全向后兼容,无破坏性变更
v1.14.0
更新内容
- 「/AI解答」与 ai_solve 自动获得与正常对话一致的内置工具,注入条件与主配置各开关联动:
- 网页搜索:开启「网页搜索」后按所选提供商注入对应工具组(tavily/bocha/brave/firecrawl/baidu/exa)
- 生图:开启「启用生图工具」且存在生图提供商时注入
ldmbot_generate_image与模型列表工具 - 识图:配置「默认图片转述模型」后注入
ldmbot_image_caption - 音视频转写:开启「语音转文本」并配置模型后注入
ldmbot_transcribe_media send_message_to_user:平台支持主动消息时注入(生图结果的发图依赖此工具)
- 修复「/AI解答」路径未排除 ai_solve 的问题,避免在解答循环内递归调用自身
- 「AI解答排除工具」通配符现在对上述内置工具同样生效
- 空回复不再显示为字面 "None"
完整变更: https://github.com/landamao/astrbot_plugin_onebot_toolkit/blob/main/CHANGELOG.md
v1.13.1
更新内容
- 新增配置项「需要指令触发」:默认关闭,群内直接发送
AI解答 xxx即可触发 AI解答(无需/指令);开启后仅/AI解答指令可触发 /AI解答参数越界处理:数字小于 1 时使用默认条数并提示,大于 100 时取 100 并提示- 修复
/AI解答发出「请稍候…」后无响应的问题:event.stop_event()在请求前调用会触发核心 agent 的停止信号,LLM 请求被立即中止;现改为请求结束后(finally)再停止事件传播 - 新增配置项「AI解答系统提示词」:自定义「/AI解答」与 ai_solve 的系统提示词,留空使用各场景内置默认
完整变更: https://github.com/landamao/astrbot_plugin_onebot_toolkit/blob/main/CHANGELOG.md
v1.13.0
- 新增配置项「AI解答模型」:可为「/AI解答」与 ai_solve 指定专用对话模型(WebUI 下拉选择),留空使用全局默认对话模型
- AI解答 不再读取全局回退模型列表:仅使用配置的模型,请求失败直接报错结束
- 修复模型请求失败时错误文本被当作正常结果发送的问题(核心 tool_loop_agent 失败时返回 role="err" 响应而非抛异常)
get_group_msg_history新增参数show_raw_message:开启后直接输出原始 raw_message(含完整 CQ 码),不简化不截断,供 LLM 在必要时使用- 新增配置项「AI解答排除工具」:支持 * 通配符(如 file、shell*),从 AI解答 可用的工具集中排除匹配项
- AI解答 配置项归入「AI解答设置」分组(配置键由平铺改为嵌套,已有配置需在 WebUI 重新设置一次)
v1.12.2
v1.12.1
修复 get_group_msg_history 早停取到旧消息
NapCat 返回通常是旧→新时,中途按 count 早停会拿到最旧消息而非最新消息。
变更
- 无锚点/无时间过滤:直接按
count拉取最新窗口,再按时间倒序截取 - 有锚点/时间过滤:整页收集后再截取,避免半页早停
- 同步修复
_fetch_group_messages的同类早停问题
Full Changelog: v1.12.0...v1.12.1
v1.12.0
新增 LLM 工具 ai_solve
LLM 在聊天时可调用此工具独立解答用户问题:
- 使用 tool_loop_agent 启动独立 agent 循环,可使用搜索等已注册工具
- 不影响当前对话上下文
- return_result 参数(默认 false):
- false:工具自行发送解答结果(合并转发)并结束对话,降低上下文开销
- true:返回解答结果文本,由 LLM 继续处理
- 工具集排除自身避免递归调用
- 主模型失败逐个回退
/AI解答 指令优化
- 结果改用合并转发发送(send_group_forward_msg),失败回退普通消息
- 合并转发回复触发指令的那条消息
- 修复获取历史消息过旧问题(无锚点模式直接请求 count 条,不分页)
Full Changelog: v1.11.1...v1.12.0
v1.11.1
修复与优化
获取历史消息修复
- 无锚点模式:直接请求 count 条最新消息,一次API调用,不分页。修复了之前分页翻到很早消息的问题
- 有锚点模式:分页每批请求 count 条而非 100 条,避免多取
合并转发发送
- AI解答结果改用 合并转发发送,失败自动回退普通消息
- 合并转发第一个节点回复触发指令的那条消息(非锚点引用的消息)
- 获取机器人QQ通过
其他改进
- 聊天记录格式带 ,每行显示
- prompt 中说明消息格式
- 获取聊天记录打印 info 日志
Full Changelog: v1.11.0...v1.11.1
v1.11.0
新增功能
/AI解答 指令
引用群聊消息后调用 LLM 分析解答,两种用法:
- 引用消息:以引用的消息为锚点,向前获取 n 条消息作为上下文,LLM 解答锚点消息所涉及的问题
- 未引用:获取最近 n 条消息,LLM 识别对话中可能的问题并解答,无明确问题时总结讨论要点
- 参数支持:数字→获取n条记录;文本→直接提问
tool_loop_agent
使用 tool_loop_agent 替代 llm_generate:
- 可调用所有已注册LLM工具(网页搜索、群消息查询等)
- 独立于主聊天上下文运行,不影响对话历史
- LLM调用读取
cmd_config.json主模型+回退模型列表,主模型失败逐个回退
新增配置项
| 配置项 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| AI解答消息条数 | int | 10 | /AI解答指令获取的上下文消息条数,范围1-100 |
Full Changelog: v1.10.3...v1.11.0