Skip to content

Releases: Ayleovelle/astrbot_plugin_volcengine_asr

v2.2.2 - ?? on_llm_request ?? req ??

08 May 18:12
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.2.2 - ?? on_llm_request ?? req ??

????

  • ?? AstrBot v4.24.2 ?? on_llm_request ?????? event ??VolcengineAsrPlugin.apply_voice_prompt_template() ??? req ?????? TypeError ????
  • apply_voice_prompt_template() ?? req=None?????????????? event.extras ?? provider_request / request / req / llm_request ???
  • ????? ProviderRequest ???????????????????? volcengine_asr_llm_prompt_applied??????? dict ?? provider request ???
  • ?????? 2.2.0 ? ASR?ffmpeg?LivingMemory?agent ????????????

????

v2.2.1 ??????? main?? GitHub ??? immutable release ??????????????????? v2.2.2 Release ???

??

  • py -3 -m pytest tests\test_helpers.py tests\test_voice_workflow.py -q?98 passed
  • py -3 -m py_compile astrbot_plugin_volcengine_asr\main.py tests\test_voice_workflow.py scripts\build_release_zip.py
  • py -3 scripts\build_release_zip.py

??

  • astrbot_plugin_volcengine_asr.zip
  • SHA256?25E568A39ABF99C47E05F5F178F305F8334A5DC20DFFE4539BEC2A8E04360CB0

v2.2.0

07 May 16:58
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.2.0 正式版

这是由 2.1.12-pr2 LivingMemory 实测适配版本整理升格的正式版。

关键更新

  • 将实验版本号正式升为 2.2.0,同步插件元数据、主 README 与插件内 README。
  • 保留并正式化 LivingMemory 适配保护:兼容 event.get_message_str() 以及 provider content part 对象形态,减少 'dict' object has no attribute ... 一类跨插件上下文错误。
  • 测试服 WebChat Record -> 火山 ASR -> LLM -> LivingMemory conversation 链路已通过。
  • 本地回归:scripts/run_local_iteration_tests.py 通过 95 项。

安装包

  • 文件:�strbot_plugin_volcengine_asr.zip
  • SHA256:$sha256

本版本仍建议在 AstrBot / NapCat Docker 场景中确认共享卷、Record 文件可读性与 ffmpeg 状态。LivingMemory 适配结果来自指定测试环境,其他模型、上下文长度或插件组合下仍建议先做小流量验证。

v2.1.12-pr2.2

07 May 16:12
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.12-pr2.2 Pre-release
Pre-release

v2.1.12-pr2.2

这是 v2.1.12-pr2 的发布附件补发 tag。插件包内版本仍为 2.1.12-pr2。

原因:v2.1.12-pr2 与 v2.1.12-pr2.1 在附件上传前被 GitHub 标记为 immutable release,不能再补传附件,因此本 tag 使用 draft-first 流程重新发布同一提交的正式 zip 包。

主要变更

  • 修复部分插件通过 stale get_message_str() 读取消息时拿不到 ASR 注入文本的问题。
  • 保留 provider content part 对象形态,降低与依赖 model_dump_for_context() 的插件发生兼容错误的风险。
  • 补充 LivingMemory 适配与 provider request 清理相关测试。

验证

  • py -3 -m pytest tests/test_helpers.py tests/test_voice_workflow.py
  • 95 passed
  • 测试服 WebChat Record -> 火山 ASR -> LLM -> LivingMemory conversation 实测通过。

附件

  • astrbot_plugin_volcengine_asr.zip
  • SHA256: 1090284DD58654A61FA0933B3F7EC793017D6869C3E184250347EBB534E5B1B9

v2.1.12-pr2.1

07 May 16:10
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.12-pr2.1 Pre-release
Pre-release

v2.1.12-pr2.1

这是 �2.1.12-pr2 的发布附件补发 tag。插件包内版本仍为 2.1.12-pr2。

原因:�2.1.12-pr2 release 在附件上传前被 GitHub 标记为 immutable,删除后同 tag 仍不能重建 release,因此使用 �2.1.12-pr2.1 补发同一提交的正式 zip 包。

主要变更

  • 修复部分插件通过 stale get_message_str() 读取消息时拿不到 ASR 注入文本的问题。
  • 保留 provider content part 对象形态,降低与依赖 model_dump_for_context() 的插件发生兼容错误的风险。
  • 补充 LivingMemory 适配与 provider request 清理相关测试。

验证

  • py -3 -m pytest tests/test_helpers.py tests/test_voice_workflow.py
  • 95 passed
  • 测试服 WebChat Record -> 火山 ASR -> LLM -> LivingMemory conversation 实测通过。

附件

  • astrbot_plugin_volcengine_asr.zip
  • SHA256: 1090284DD58654A61FA0933B3F7EC793017D6869C3E184250347EBB534E5B1B9

v2.1.12

06 May 20:27
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.12 - 修复 AstrBot 上传安装包目录结构

主要变更

  • 修复 Release zip 顶层平铺 CHANGELOG.mdmain.pymetadata.yaml 时,AstrBot v4.24.2 上传安装器可能报 [Errno 20] Not a directory: .../CHANGELOG.md 的问题。
  • Release zip 现在固定以 astrbot_plugin_volcengine_asr/ 作为唯一顶层目录,插件文件放在该目录内,兼容 AstrBot 的 updator.unzip_file() 解压逻辑。
  • scripts/build_release_zip.py 和旧 _pack.py 均改为生成单目录包裹结构,并校验 zip 第一项、顶层目录、必需文件和内置 ffmpeg 可执行权限。
  • README 同步修正上传安装说明:WebUI 上传 Release zip 要用单目录包裹结构;仓库安装仍使用仓库根目录的轻量入口文件。
  • 新增回归测试锁定 Release zip 结构,避免后续又打出平铺包。
  • 本版本不改变 v2.1.11 的 ASR、ffmpeg、ProviderRequest 活对象保护、agent 缓存清理和情绪权重接口逻辑。

SHA256

6b318095bed00868f115c49e91ce2c82bb080fca5892bf1db8caf167f5aeabd0

v2.1.11

06 May 19:27
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.11

修复 AstrBot v4.24.2 agent request 阶段缓存残留导致的两类问题:

  • Error occurred while processing agent request: not a valid file: xxx.amr
  • 'dict' object has no attribute 'model_dump_for_context'

主要变化

  • event.extras / message_obj.extras 中的 requestreqllm_request 等 ProviderRequest 别名会被原地净化,不再被跳过。
  • model_dump_for_context() 的 AstrBot 请求对象会被识别并保留对象身份,避免被序列化成普通 dict 写回缓存。
  • run_context 支持 dict/mapping 形态清理,扩展 cached_contentcached_messageshistoryinput_messagesconversationsession 等缓存字段。
  • 普通 URL、普通 files/path 和普通 extras 会继续保留;只有确认含音频引用、Record.amr/.silk 等音频痕迹时才净化。

验证

  • py -3 -m py_compile astrbot_plugin_volcengine_asr\\main.py tests\\test_voice_workflow.py tests\\test_helpers.py
  • 手动加载 tests.conftest 后执行 70 条零参数回归:全部通过。

安装提醒

请下载本 Release 附件里的 astrbot_plugin_volcengine_asr.zip,不要使用 GitHub 自动生成的 Source code zip。

v2.1.10

06 May 18:45
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.10 - ?? v2.1.9 ????? immutable release ?

v2.1.10 ???????? v2.1.9 ? agent ?????? run_context ??????? GitHub ????? v2.1.9 Release ?? immutable release ???????? Release ????? zip ?????????????? v2.1.10?

????

  • ?? v2.1.9 ? on_agent_begin ????? run_context.messages?stage_data?cache?payload ????????
  • ?? extras / run_context ????? record/audio/file/path ?????????????????????
  • ?? ProviderRequest ???????????? run_context.event?
  • ?????????? astrbot_plugin_volcengine_asr.zip????? GitHub ????? Source code zip?

??

  • py -3 -m py_compile astrbot_plugin_volcengine_asr\main.py tests\test_voice_workflow.py tests\test_helpers.py
  • ???? 66 ????????????
  • ?? Release zip ????? metadata.yaml ?? 2.1.10 ? bin/linux-x86_64/ffmpeg?ffmpeg ??? 0o100755?
  • ??? AstrBot v4.24.2 ????????????? 2.1.9 ?????????????

SHA256: dc947032015788be4d65bc8029105779e9187378c6fa1012a5d700ef141f1b26

v2.1.7

06 May 15:15
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.7 - 加固异形缓存 Record 发现

v2.1.7v2.1.6 修复内容的正常发布版,用新 tag 绕开 GitHub immutable release 导致 v2.1.6 无法补传资产的问题。运行时主链路与 v2.1.6 一致。

修复内容

  • _find_records() 现在会额外扫描 event.extrasmessage_obj.extras_extrasextra 以及常见 request / input / messages / content 缓存字段,避免异形适配器缓存里的 Record(file="xxx.amr") 漏进官方 agent 后段。
  • 主消息链替换仍不改写 extras 缓存,只在识别与残留清理阶段读取这些缓存,降低对 AstrBot / 其它插件私有数据的破坏风险。
  • README / CHANGELOG 同步说明:preprocess_stageVoice processing failed: not a valid file: xxx.amr 仍属于 AstrBot 官方前置预处理阶段,插件侧只能处理后段可接管的 Record 残留。

校验

  • py -3 -m py_compile .\main.py .\astrbot_plugin_volcengine_asr\main.py
  • 手动加载 tests.conftest 后运行 tests.test_helperstests.test_voice_workflow:共 59 个测试通过
  • scripts\build_release_zip.py 已校验 zip 内 bin/linux-x86_64/ffmpeg0o100755

下载

  • astrbot_plugin_volcengine_asr.zip
  • SHA256: 43fd23d388b2c34267bb485846ef85099088d21e5ba863791b9a65de72c48465

v2.1.5

06 May 12:50
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.5 - Docker / NapCat / 官方预处理排障增强

这次发布不改变语音识别主链路,重点增强排障可见性,帮助区分三类问题:

preprocess_stage warning = AstrBot 官方预处理在插件之前读不到 Record 文件
agent_sub_stages error = 官方 agent 后续仍扫到旧 Record
本插件 ffmpeg 失败 = 插件自己的转码链路无法启动或转码失败

主要变更

  • /volc_asr_status 增加插件版本、仓库地址和官方 preprocess_stage 责任边界提示。
  • README 在常见问题中新增 preprocess_stage 提示 Voice processing failed: not a valid file: xxx.amr 排障章节。
  • 文档说明 Ubuntu 宝塔面板 Docker / NapCat / OneBot 场景下,xxx.amr 可能只是 NapCat 容器临时文件名或 OneBot file id,不一定是 AstrBot 容器内真实路径。
  • 文档补充官方 STT 配置、platform_settings.path_mapping、Docker 共享卷、NapCat get_record 与插件 submit_mode=base64 的推荐排查顺序。

重要说明

AstrBot v4.24.2 的官方 PreProcessStage 会在插件 handler 之前尝试处理 Record

event.get_messages()
  -> 找到 Record
  -> component.convert_to_file_path()
  -> ensure_wav(original_path)
  -> 写回 component.file / component.path

所以,如果关闭本插件后仍看到:

[preprocess_stage.stage:81]: Voice processing failed: not a valid file: xxx.amr

这不是本插件 ffmpeg 没启动,也不是火山 ASR 失败,而是 AstrBot 官方前置预处理读不到 NapCat / OneBot 的裸语音文件引用。

v2.1.4 已经修复插件开启后官方 agent 后续继续扫旧 Record 的问题。v2.1.5 进一步把这个责任边界写入 README 和状态命令,便于部署在 Docker 中时判断问题属于哪一层。

建议配置

如果不使用 AstrBot 官方 STT,请检查:

{
  "provider_stt_settings": {
    "enable": false,
    "provider_id": ""
  }
}

插件侧建议保持:

submit_mode = base64
enable_transcode = true
prefer_bundled_ffmpeg = true

若 NapCat 和 AstrBot 分别运行在不同容器,建议让两边共享同一个数据目录,例如都能访问 /AstrBot/data

验证

  • python3 -m py_compile main.py astrbot_plugin_volcengine_asr/main.py tests/conftest.py tests/test_helpers.py tests/test_voice_workflow.py
  • 手动测试 runner:manual tests passed: 58
  • _conf_schema.json 双份 JSON 校验通过
  • README / CHANGELOG / metadata / schema 双份同步校验通过
  • Release zip 构建通过,包内 metadata.yaml 版本为 2.1.5,并包含 repo

v2.1.4

06 May 12:24
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

v2.1.4 - AstrBot 更新器与官方 agent 兼容修复

这次发布修复两个 AstrBot 侧交接问题。

第一,修复 AstrBot 插件页更新时报错:

Plugin astrbot_plugin_volcengine_asr does not specify a repository URL.

第二,修复官方 agent 在插件成功识别后仍可能按旧 Record(file="xxx.amr") 消息链重新构造请求,并继续报:

Error occurred while processing agent: not a valid file: xxx.amr

问题原因

旧版本发布包里的 metadata.yaml 写着:

repo: ""

因此 AstrBot 更新器不知道应该从哪个 GitHub 仓库检查和拉取新版。这个问题不影响 ASR 运行逻辑,但会影响 AstrBot WebUI 插件页里的“更新”功能。

另外,AstrBot 官方 ProcessStage 对插件 handler 返回的 ProviderRequest 有专门处理:如果插件直接 yield ProviderRequest,官方 agent 会使用这个请求;如果没有显式 yield,后续默认 LLM 流程可能继续从 event.message_obj.message 构造请求,并再次扫描旧 Record

主要修复

  • 根目录 metadata.yaml 补充:
repo: "https://github.com/Ayleovelle/astrbot_plugin_volcengine_asr"
  • 发布包目录 astrbot_plugin_volcengine_asr/metadata.yaml 同步补充同一仓库地址。
  • 版本升级到 2.1.4,重新构建 Release zip。
  • README 和 CHANGELOG 补充更新器排障说明。
  • 成功识别和未听清注入路径现在会直接向 AstrBot ProcessStage yield 干净 ProviderRequest
  • 写入 provider_request 后会调用 event.should_call_llm(True),避免默认 LLM 流程在插件提供请求之后再次重入。

关于 preprocess_stage 的 warning

你可能仍会看到类似:

[preprocess_stage.stage:81]: Voice processing failed: not a valid file: xxx.amr

这条 warning 来自 AstrBot 官方预处理阶段,发生在插件 handler 之前;即使关闭本插件,官方预处理也会尝试把 Record(file="xxx.amr") 当本地文件转换。这个 warning 不代表本插件 ffmpeg 没启动。

本版本重点解决的是插件开启后不应再继续进入 agent_sub_stages 的旧 Record 媒体扫描。如果你希望连 preprocess warning 也消失,需要关闭 AstrBot 官方 STT/语音预处理,或让 OneBot/NapCat 提供官方预处理可读取的真实语音文件路径。

升级建议

如果你已经安装的是 2.1.3 或更早版本,并且 AstrBot 更新时报这个错误,请先手动下载并上传本页面附件:

astrbot_plugin_volcengine_asr.zip

安装 2.1.4 后,插件元数据里就会带上仓库地址,后续 AstrBot 插件页更新器才能正常找到仓库。

运行逻辑说明

本版本不改变以下核心 ASR 运行逻辑:

  • QQ / NapCat AMR 语音取回
  • OneBot get_record 兜底
  • ffmpeg 转码链路
  • 干净 ProviderRequest 注入
  • LivingMemory 友好两阶段注入
  • 情绪判断 LLM

验证

  • python3 -m py_compile main.py astrbot_plugin_volcengine_asr/main.py tests/conftest.py tests/test_helpers.py tests/test_voice_workflow.py
  • 手动测试 runner:manual tests passed: 58
  • _conf_schema.json 双份 JSON 校验通过
  • README / CHANGELOG / metadata / schema 双份同步校验通过
  • Release zip 构建通过,包内 metadata.yaml 已包含 repo