来提交你的插件吧!
有疑问?来看看呗!

插件详情

历史工具调用清除

在 LLM 请求前,将先前轮请求中 LLM 发出的工具调用请求以及调用返回结果从请求体中移除,减少 token 浪费,提高对话效率

版本v1.3.0
作者zz6zz666
Star2
更新2025/12/15

插件说明

工具调用清洗器 (astrbot_plugin_tool_use_cleaner)

这是一个AstrBot的插件,用于在LLM请求前,将先前轮请求中LLM发出的工具调用请求以及调用返回结果从请求体中移除,减少token浪费,提高对话效率。

这是一个过渡插件,作者已向上游提交了将此功能作为 enhancement 整合进 AstrBot 框架的 issue。若在未来的版本中被整合,将不再使用本插件。

功能特点

  • 自动过滤对话历史中的工具调用请求和响应
  • 可配置的功能开关,灵活控制清洗行为
  • 减少LLM请求中的无用token,提高效率并节省成本
  • 保持对话上下文的连贯性和相关性

工作原理

插件通过AstrBot的事件系统,在每次向LLM发送请求前(on_llm_request事件)拦截请求,然后:

  1. 过滤掉tool角色的消息(工具调用返回结果)
  2. 过滤掉assistant角色中仅包含tool_calls而没有实际内容的消息(LLM发出的工具调用请求)
  3. 保留其他所有相关的对话内容

配置选项

插件提供以下配置选项,可在AstrBot的插件配置界面中修改:

配置项 类型 默认值 说明
enable_function_call_cleaner 布尔值 true 控制是否清除LLM发出的工具调用请求(调用响应默认一定清除)

安装方法

  • 在 AstrBot 的插件市场中搜索本插件直接安装
  • 通过 Astrbot WebUI 的插件安装按钮从链接或文件安装

使用方法

  1. 启用插件后,它会自动工作,无需额外操作
  2. 根据需要,可以在插件配置中调整enable_function_call_cleaner选项

调试信息

插件会在日志中记录以下信息:

  • 插件初始化和卸载的状态
  • 上下文清洗前后的消息数量变化
  • 清洗过程中移除的工具调用及其响应消息数量

版本历史

v1.1.0

  • 当存在llm响应存在tool_calls字段且content不为空时,依然保留该assistent字段,但剔除tool_calls内容。

v1.0.0

  • 初始版本发布
  • 支持过滤工具调用请求和响应
  • 提供可配置的功能开关

作者

@zz6zz666

许可证

GNU Affero General Public License v3.0

AstrBot LogoAstrBot 插件市场社区

AstrBot 插件市场 是一个开放的插件分享平台,欢迎开发者们贡献优质插件。本站致力于为 AstrBot 用户提供高质量扩展,帮助您快速找到喜欢的插件,并鼓励社区伙伴分享使用心得、提出改进建议。

相关链接

官方项目主站 官方插件市场 官方项目仓库 侧边展示主站

开发相关

插件开发文档 快速提交插件 官方项目文档

© 2026 AstrBot 插件市场 Made with by Community