Skip to content

插件系统

插件系统是 Saber Translator 当前版本中非常重要的扩展能力。它允许您在不修改主程序的前提下,为翻译流程添加自己的处理逻辑;如果您不想手写代码,还可以直接使用内置的 AI Agent 自动生成或修改插件。

功能概述

插件系统主要解决两类需求:

  • 扩展翻译流程:在检测、OCR、翻译、修复、渲染等阶段插入自定义逻辑
  • 增强个性化:按自己的习惯调整文本处理、样式处理或流程控制
  • 集中管理:在界面中统一查看、启用、禁用、导入、导出和配置插件
  • 自动生成插件:通过 AI Agent 用自然语言创建或修改插件

适合什么人

  • 想要增强现有翻译流程,但不想直接改主程序
  • 有固定文本清洗、术语后处理、渲染修正需求
  • 想尝试用自然语言快速生成一个小型功能插件

入口位置

Plugin-entrance

插件系统的入口位于翻译页面顶部的设置窗口中。

使用方式:

  1. 进入翻译页面
  2. 点击顶部的设置
  3. 切换到插件管理标签
  4. 在这里完成插件的查看、管理和自动生成

如果您已经熟悉软件的设置结构,也可以把插件管理理解为“翻译设置的一部分”,而不是单独的独立页面。


插件系统能做什么

当前插件系统围绕翻译主链工作,常见适用场景包括:

  • 在 OCR 之后清洗识别结果
  • 在普通翻译之后统一替换某些词
  • 在高质量翻译或 AI 校对之后做后处理
  • 在渲染之前统一修改样式
  • 在整次翻译任务开始或结束时记录信息

从使用者角度看,您不必先理解每个底层 Hook 的名字,只需要知道:插件可以在翻译流程的不同阶段接管一部分工作。


插件管理界面

在插件管理界面中,您通常会看到以下信息:

区域作用
插件列表查看当前已加载的插件
启用/禁用控制插件是否参与后续翻译流程
刷新插件重新扫描插件目录并热重载
配置编辑插件自己的可配置项
导入/导出分享插件或导入别人提供的插件包
默认启用状态设置该插件在后续启动时是否默认开启

启用与禁用

启用插件后:

  • 它会立即参与后续翻译请求
  • 不需要重启软件

禁用插件后:

  • 插件保留在列表中
  • 但不会继续影响后续流程

这意味着您可以很方便地做 A/B 对比,例如先关闭某个插件看原始结果,再打开插件查看增强后的效果。

刷新插件

当您新增、删除或修改插件文件后,可点击刷新插件让系统重新扫描插件目录。

这个按钮通常适用于:

  • 新增了一个插件目录
  • 修改了现有插件代码
  • 导入了新的插件包
  • 想确认当前列表与磁盘中的插件是否一致

插件配置

部分插件会提供自己的配置项。常见情况包括:

  • 自定义替换词
  • 文本前后缀
  • 是否启用某种处理规则
  • 渲染相关参数

如果某个插件带有配置按钮,说明它支持通过界面调整参数,而不需要您手动编辑文件。

推荐做法:

  1. 先启用插件
  2. 用默认配置跑一遍
  3. 根据结果再微调配置

插件导入与导出

插件系统支持把单个插件打包导出,也支持导入别人分享给您的插件压缩包。

导出插件

适用场景:

  • 备份自己写好的插件
  • 分享给朋友或团队成员
  • 在多台设备之间迁移插件代码

导入插件

导入后系统会先校验结构,再尝试加载插件。若本地已经存在同名插件,系统通常会提示您是否替换。

注意

插件本质上仍然是代码。请尽量只导入可信来源的插件,不要随意运行来路不明的插件包。

默认启用状态

插件除了“当前是否启用”以外,还可以设置“默认是否启用”。

区别如下:

  • 当前启用状态:影响现在这次运行
  • 默认启用状态:影响以后再次启动软件时的初始状态

如果某个插件是您长期使用的固定功能,可以把它设为默认启用。


自动生成插件

如果您不想手写插件代码,可以使用内置的自动生成插件功能。它本质上是一个专门面向插件系统的 AI Agent,能够根据您的自然语言描述生成或修改插件。

Auto-generate-plugin

入口位置

  1. 进入设置 → 插件管理
  2. 打开自动生成插件
  3. 进入插件 Agent 界面

两种工作模式

模式说明
新建插件从零创建一个新插件
修改现有插件在已有插件基础上继续修改

基本使用流程

  1. 选择模式:新建或修改现有插件
  2. 配置 Agent 的服务商、API Key、模型和相关参数
  3. 用自然语言描述您的需求
  4. Agent 先给出方案说明
  5. 确认并锁定目标插件
  6. 点击开始执行
  7. 等待生成、校验和刷新完成

如何描述需求更容易成功

比较推荐的描述方式是:

要做什么 + 作用在哪个阶段 + 具体规则

例如:

  • 帮我新建一个插件,在普通翻译后把某些词统一替换
  • 帮我做一个 OCR 后处理插件,去掉首尾空格
  • 帮我修改现有插件,保留原逻辑,只额外统一描边颜色

这样写的好处是,Agent 更容易一次就生成接近预期的结果。

提示

第一次使用时,建议先做一个简单的小插件,例如“把译文中的某个词替换成另一个词”。先确认流程跑通,再逐步增加复杂需求。


适合用插件解决的问题

适合

  • 对 OCR 结果做清洗
  • 对翻译结果做统一替换
  • 对渲染样式做统一修正
  • 在流程开始或结束时记录额外信息
  • 做一些具有重复性的固定规则处理

不适合

  • 想彻底替换整套软件工作流
  • 想把书架、阅读器、分析系统改成完全不同的逻辑
  • 想用插件承担与主程序无关的大型功能

简单理解:插件更适合“在现有流程上插入一小段能力”,而不是重写整个软件。


推荐使用流程

对于第一次接触插件系统的用户,推荐这样开始:

  1. 先打开插件管理,熟悉界面结构
  2. 查看已有插件列表,理解“启用/禁用/刷新/配置”的基本操作
  3. 如果只是想试用,先启用一个简单插件观察效果
  4. 如果想自定义功能,优先尝试自动生成插件
  5. 生成完成后先在少量图片上测试,再投入正式翻译

如果您已经明确知道自己要实现什么规则,再考虑逐步深入到插件配置甚至手写插件。


想自己开发插件?

如果您不只是想“使用插件”,而是准备:

  • 自己手写一个插件
  • 深入理解 Hook 的输入输出结构
  • 给团队写可复用的流程扩展
  • 更高效地使用自动生成插件功能

建议继续阅读“高级 → 插件开发”板块:

这个板块会更偏向开发者视角,重点讲插件目录结构、元数据、步骤 Hook、输入输出字段,以及如何让 AI Agent 更稳定地帮您生成插件代码。


常见问题

启用插件后为什么没有效果?

常见原因包括:

  • 插件虽然存在,但当前没有启用
  • 插件只在特定翻译模式下生效
  • 插件需要先配置参数
  • 插件代码刚被修改,但还没有点击“刷新插件”

为什么自动生成插件需要先锁定目标?

这是为了避免 Agent 在执行过程中误操作其他插件目录。锁定目标后,它会只围绕当前插件工作,行为更稳定也更安全。

生成完成后为什么还要校验?

因为插件是代码,生成后需要确认结构和实现是否符合当前插件系统的要求。通过校验后再刷新,最终更不容易出错。

我可以把插件分享给别人吗?

可以。您可以直接使用导出功能打包分享,但仍建议对来源和用途保持基本的安全判断。

Saber Translator - AI 驱动的漫画翻译工具