插件系统
插件系统是 Saber Translator 当前版本中非常重要的扩展能力。它允许您在不修改主程序的前提下,为翻译流程添加自己的处理逻辑;如果您不想手写代码,还可以直接使用内置的 AI Agent 自动生成或修改插件。
功能概述
插件系统主要解决两类需求:
- 扩展翻译流程:在检测、OCR、翻译、修复、渲染等阶段插入自定义逻辑
- 增强个性化:按自己的习惯调整文本处理、样式处理或流程控制
- 集中管理:在界面中统一查看、启用、禁用、导入、导出和配置插件
- 自动生成插件:通过 AI Agent 用自然语言创建或修改插件
适合什么人
- 想要增强现有翻译流程,但不想直接改主程序
- 有固定文本清洗、术语后处理、渲染修正需求
- 想尝试用自然语言快速生成一个小型功能插件
入口位置

插件系统的入口位于翻译页面顶部的设置窗口中。
使用方式:
- 进入翻译页面
- 点击顶部的设置
- 切换到插件管理标签
- 在这里完成插件的查看、管理和自动生成
如果您已经熟悉软件的设置结构,也可以把插件管理理解为“翻译设置的一部分”,而不是单独的独立页面。
插件系统能做什么
当前插件系统围绕翻译主链工作,常见适用场景包括:
- 在 OCR 之后清洗识别结果
- 在普通翻译之后统一替换某些词
- 在高质量翻译或 AI 校对之后做后处理
- 在渲染之前统一修改样式
- 在整次翻译任务开始或结束时记录信息
从使用者角度看,您不必先理解每个底层 Hook 的名字,只需要知道:插件可以在翻译流程的不同阶段接管一部分工作。
插件管理界面
在插件管理界面中,您通常会看到以下信息:
| 区域 | 作用 |
|---|---|
| 插件列表 | 查看当前已加载的插件 |
| 启用/禁用 | 控制插件是否参与后续翻译流程 |
| 刷新插件 | 重新扫描插件目录并热重载 |
| 配置 | 编辑插件自己的可配置项 |
| 导入/导出 | 分享插件或导入别人提供的插件包 |
| 默认启用状态 | 设置该插件在后续启动时是否默认开启 |
启用与禁用
启用插件后:
- 它会立即参与后续翻译请求
- 不需要重启软件
禁用插件后:
- 插件保留在列表中
- 但不会继续影响后续流程
这意味着您可以很方便地做 A/B 对比,例如先关闭某个插件看原始结果,再打开插件查看增强后的效果。
刷新插件
当您新增、删除或修改插件文件后,可点击刷新插件让系统重新扫描插件目录。
这个按钮通常适用于:
- 新增了一个插件目录
- 修改了现有插件代码
- 导入了新的插件包
- 想确认当前列表与磁盘中的插件是否一致
插件配置
部分插件会提供自己的配置项。常见情况包括:
- 自定义替换词
- 文本前后缀
- 是否启用某种处理规则
- 渲染相关参数
如果某个插件带有配置按钮,说明它支持通过界面调整参数,而不需要您手动编辑文件。
推荐做法:
- 先启用插件
- 用默认配置跑一遍
- 根据结果再微调配置
插件导入与导出
插件系统支持把单个插件打包导出,也支持导入别人分享给您的插件压缩包。
导出插件
适用场景:
- 备份自己写好的插件
- 分享给朋友或团队成员
- 在多台设备之间迁移插件代码
导入插件
导入后系统会先校验结构,再尝试加载插件。若本地已经存在同名插件,系统通常会提示您是否替换。
注意
插件本质上仍然是代码。请尽量只导入可信来源的插件,不要随意运行来路不明的插件包。
默认启用状态
插件除了“当前是否启用”以外,还可以设置“默认是否启用”。
区别如下:
- 当前启用状态:影响现在这次运行
- 默认启用状态:影响以后再次启动软件时的初始状态
如果某个插件是您长期使用的固定功能,可以把它设为默认启用。
自动生成插件
如果您不想手写插件代码,可以使用内置的自动生成插件功能。它本质上是一个专门面向插件系统的 AI Agent,能够根据您的自然语言描述生成或修改插件。

入口位置
- 进入设置 → 插件管理
- 打开自动生成插件
- 进入插件 Agent 界面
两种工作模式
| 模式 | 说明 |
|---|---|
| 新建插件 | 从零创建一个新插件 |
| 修改现有插件 | 在已有插件基础上继续修改 |
基本使用流程
- 选择模式:新建或修改现有插件
- 配置 Agent 的服务商、API Key、模型和相关参数
- 用自然语言描述您的需求
- Agent 先给出方案说明
- 确认并锁定目标插件
- 点击开始执行
- 等待生成、校验和刷新完成
如何描述需求更容易成功
比较推荐的描述方式是:
要做什么 + 作用在哪个阶段 + 具体规则
例如:
- 帮我新建一个插件,在普通翻译后把某些词统一替换
- 帮我做一个 OCR 后处理插件,去掉首尾空格
- 帮我修改现有插件,保留原逻辑,只额外统一描边颜色
这样写的好处是,Agent 更容易一次就生成接近预期的结果。
提示
第一次使用时,建议先做一个简单的小插件,例如“把译文中的某个词替换成另一个词”。先确认流程跑通,再逐步增加复杂需求。
适合用插件解决的问题
适合
- 对 OCR 结果做清洗
- 对翻译结果做统一替换
- 对渲染样式做统一修正
- 在流程开始或结束时记录额外信息
- 做一些具有重复性的固定规则处理
不适合
- 想彻底替换整套软件工作流
- 想把书架、阅读器、分析系统改成完全不同的逻辑
- 想用插件承担与主程序无关的大型功能
简单理解:插件更适合“在现有流程上插入一小段能力”,而不是重写整个软件。
推荐使用流程
对于第一次接触插件系统的用户,推荐这样开始:
- 先打开插件管理,熟悉界面结构
- 查看已有插件列表,理解“启用/禁用/刷新/配置”的基本操作
- 如果只是想试用,先启用一个简单插件观察效果
- 如果想自定义功能,优先尝试自动生成插件
- 生成完成后先在少量图片上测试,再投入正式翻译
如果您已经明确知道自己要实现什么规则,再考虑逐步深入到插件配置甚至手写插件。
想自己开发插件?
如果您不只是想“使用插件”,而是准备:
- 自己手写一个插件
- 深入理解 Hook 的输入输出结构
- 给团队写可复用的流程扩展
- 更高效地使用自动生成插件功能
建议继续阅读“高级 → 插件开发”板块:
这个板块会更偏向开发者视角,重点讲插件目录结构、元数据、步骤 Hook、输入输出字段,以及如何让 AI Agent 更稳定地帮您生成插件代码。
常见问题
启用插件后为什么没有效果?
常见原因包括:
- 插件虽然存在,但当前没有启用
- 插件只在特定翻译模式下生效
- 插件需要先配置参数
- 插件代码刚被修改,但还没有点击“刷新插件”
为什么自动生成插件需要先锁定目标?
这是为了避免 Agent 在执行过程中误操作其他插件目录。锁定目标后,它会只围绕当前插件工作,行为更稳定也更安全。
生成完成后为什么还要校验?
因为插件是代码,生成后需要确认结构和实现是否符合当前插件系统的要求。通过校验后再刷新,最终更不容易出错。
我可以把插件分享给别人吗?
可以。您可以直接使用导出功能打包分享,但仍建议对来源和用途保持基本的安全判断。
