Buzz 如何通过 zip 链接添加社区插件并调整插件执行顺序?
2026-09-12 15:41:51作者:郦嵘贵Just
Buzz 从 1.4.5 版本开始提供插件系统:插件可以扩展转写流程(在转写前处理音频、修改转写结果、或在转写保存后执行自定义动作),而无需改动核心代码。当你想安装社区分享的外部插件、并让多个插件按你期望的先后顺序执行钩子时,本文给出完整的操作路径:通过 zip 链接添加插件,以及在插件列表中调整执行顺序。以下操作均在 Buzz 图形界面内完成,不涉及命令行。
打开插件管理窗口
在 Buzz 主界面中,点击菜单 Help → Plugins(帮助 → 插件),打开插件管理窗口。窗口顶部有一条警告:"Plugins run with full access to your system. Only install plugins from sources you trust."——插件对你的系统拥有完整访问权限,只安装你信任的来源。
通过 zip 链接添加社区插件
- 在插件管理窗口右侧,点击 Add by URL...(通过 URL 添加)按钮。
- 弹出的对话框标题为 "Plugin URL (.zip):",在输入框中粘贴指向插件
.zip文件的链接,点击 Ok。 - Buzz 会显示 "Installing plugin..." 进度条,此时它在后台完成下载、解压、校验和安装。
这个 zip 包需要满足什么结构
根据 buzz/plugins/loader.py 中的解析逻辑和 插件开发指南 的 Packaging & distribution 一节,zip 包必须满足:
- 归档根目录,或唯一一个包装目录内(GitHub 下载的源码 zip 这种结构是支持的),存在
plugin.py入口文件; plugin.py中恰好定义 一个BuzzPlugin子类,且其metadata.id非空(插件 id 稳定、唯一,约定与文件夹名一致);- 可选地携带
locale/文件夹存放<locale>.json翻译文件;可选地在metadata.pip_dependencies中声明 pip 依赖。
一个可分发的插件包的最小布局(摘自 buzz/plugins/AGENTS.md):
my_plugin/
plugin.py # 必需:定义一个 BuzzPlugin 子类
locale/ # 可选:<locale>.json 翻译文件
lv_LV.json
如何判断安装成功或失败
- 成功:进度条自动关闭,插件列表刷新,新插件出现在列表中并且默认处于启用状态(勾选框已勾选,见 buzz/plugins/manager.py 中
add_from_url的自动启用逻辑)。安装后插件文件位于用户缓存目录<user_cache_dir>/Buzz/plugins/<plugin_id>/。 - 失败:会弹出 "Add plugin failed" 警告框,内容为 "Could not install the plugin:" 加具体错误。常见错误原因(来自
loader.py抛出的PluginLoadError消息)包括:Failed to download plugin: ...——下载失败;Downloaded file is not a valid zip: ...——链接指向的不是有效 zip;Archive does not contain a plugin.py at its root or in a single folder——zip 结构不符合上述要求;No BuzzPlugin subclass found in plugin.py或Multiple BuzzPlugin subclasses found ...——入口文件没有定义恰好一个插件子类。
失败时不会留下半成品安装。
调整插件执行顺序
多个插件同时启用时,钩子(check_skip、before_transcription、after_transcription、on_complete)按列表中用户的定义顺序依次执行,单个插件钩子里的异常会被记录日志,不会中断其他插件的执行(见 buzz/plugins/AGENTS.md 与 buzz/plugins/manager.py 中的 enabled_plugins_in_order)。
调整顺序有两种等价方式:
- 拖拽:直接用鼠标拖动列表中的插件项改变位置(docs/docs/usage/7_plugins.md 中的说明)。
- 移动按钮:选中一个插件后,点击右侧的 Move Up 或 Move Down 按钮逐位移动;位于首位的插件 Move Up 不可用,位于末位的插件 Move Down 不可用。
顺序和启用状态都会持久化保存,重启 Buzz 后依然生效。
配置与移除插件
- 配置:选中插件后点击 Settings... 按钮(或列表项旁的设置图标),打开为该插件生成的设置对话框。插件通过
config_fields声明的配置项(文本、多行文本、复选框、密码)会出现在这里;其中密码类字段存储在操作系统 keyring 中,而不是明文设置文件。 - 移除:选中插件后点击 Remove 按钮,确认提示 "Remove plugin '<plugin_id>'?" 后删除。移除会删除插件目录、其已保存的配置和密码字段。
限制与注意事项
- 插件系统要求 Buzz 1.4.5 及以上版本。
- 插件声明的
pip_dependencies会在首次加载时安装到用户缓存的plugins_deps目录;如果依赖安装失败,该插件会记录警告,其余插件照常加载。 - 如果安装后插件的翻译不显示,属于该社区插件自身缺少对应
locale/文件,不影响功能。 - 更多插件编写与打包细节(钩子线程模型、本地化规则、内置插件
ai_summary参考实现)见 buzz/plugins/AGENTS.md;对话框交互逻辑见 buzz/widgets/plugins_dialog/plugins_dialog.py。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust4.22 K638- DDeepSeek-V4.1-FlashDeepSeek-V4.1-Flash 是一个多模态混合专家(MoE)模型,拥有 5520 亿骨干参数,并支持最多一百万 token 的上下文长度。该模型原生支持图像和文本输入,并以自回归方式生成文本Python430
cherry-studio🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端TypeScript2.01 K146
hello-agents📚 《从零开始构建智能体》——从零开始的智能体原理与实践教程Python48868
new-apiAI模型聚合管理中转分发系统,一个应用管理您的所有AI模型,支持将多种大模型转为统一格式调用,支持OpenAI、Claude、Gemini等格式,可供个人或者企业内部管理与分发渠道使用。🍥 A Unified AI Model Management & Distribution System. Aggregate all your LLMs into one app and access them via an OpenAI-compatible API, with native support for Claude (Messages) and Gemini formats.Go21143
JeecgBoot🔥企业级低代码平台集成了AI应用平台,帮助企业快速实现低代码开发和构建AI应用!前后端分离架构 SpringBoot,SpringCloud、Mybatis,Ant Design4、 Vue3.0、TS+vite!强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领AI低代码开发模式: AI生成->OnlineCoding-> 代码生成-> 手工MERGE,显著的提高效率,又不失灵活~Java34551
热门内容推荐
最新内容推荐
深入 MyBatis StatementHandler:参数绑定、SQL 执行与结果映射的核心枢纽(source-code-hunter 源码剖析)Renovate 自定义正则管理器(customManagers regex)完全指南:用命名捕获组发现内置管理器无法识别的依赖Playwright CLI 工作流实战指南:从标准交互循环到会话隔离与故障排查Haystack 加载含自定义组件的管道报 DeserializationError 怎么排查并配置模块允许列表深入解析 lo 库 FanIn:基于 Go 泛型的多路通道合并工具从源码剖析 AbstractQueuedSynchronizer:J.U.C 锁与同步组件的底层基石KiloClaw 集成 Brave Search API:为你的 AI Agent 赋予实时联网搜索能力如何为 Cherry Studio 构建 Linux x64 与 arm64 安装包?better-sqlite3 预构建流程Prime Agent REPL 运行时协议深度解析:基于 JSON-lines 的 CPython 内核通信规范verl FSDP-Turbo 后端实战:基于单一 DeviceMesh 融合 FSDP/EP/CP 的高性能混合并行训练
项目优选
收起
deepin linux kernel
C
34
18
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.16 K
2.79 K
暂无描述
Markdown
904
5.83 K
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
936
1.86 K
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
863
1.36 K
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
535
606
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.38 K
1.47 K
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
4.1 K
1.03 K
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
549
400
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.09 K
540