插件开发与实现

使用 AI 助手构建插件

替换下方的需求占位符,然后向您的编程助手发送完整指令:

请阅读并遵循位于 https://raw.githubusercontent.com/ccseer/Seer-Plugins/refs/heads/master/plugin_development_guide.md 的 Seer 插件开发指南。将其视为架构、plugin.json、实现、验证和打包的唯一事实来源。如果该指南不可用,请在继续之前停止并报告。

在开始任何工作之前,请检查下方的 Requirement(需求)。如果其缺失、为未更改的占位符文本或过于模糊而无法实现,请提出一个澄清问题并等待。请勿推测缺失的需求。

明确后,选择 Convert 或 DLL 并简要说明理由,然后在当前工作区中实现一个完整的、可安装的插件。请勿修改 Seer 本身,也不要仅停留在计划或代码片段上。

遵循指南中所有适用的验证步骤并报告实际结果。尽可能运行应用内 Seer 预览测试;否则请明确说明未进行运行时验证。

Requirement: [将此占位符替换为插件请求。]

转换类型插件

Seer 将转换类型插件视为外部执行程序。当触发文件时,Seer 执行配置的程序,并通过占位符传递文件路径。

占位符变量

  • ${input_file}: 源文件的绝对路径。
  • ${output_file}: 插件保存处理后输出的基础文件路径(须追加目标后缀名,例如 ${output_file}.json)。
  • ${use_backslash}: 可选标志,将路径分隔符格式化为 Windows 原生反斜杠 (\)。
  • ${seer_dir}: Seer.exe 所在的目录路径。
  • ${seer_exe}: Seer.exe 的绝对路径。
  • ${7z}: Seer 随附的 7z.exe 绝对路径。

执行工作流

  1. 触发: 用户对文件按 空格键
  2. 解析: Seer 识别与文件扩展名相关联的插件。
  3. 执行: Seer 运行可执行程序(例如 ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json")。
  4. 显示: 进程退出后,Seer 读取与 ${output_file}.* 匹配的生成文件,并使用输出扩展名对应的内置渲染器进行展示。

支持的可执行文件与脚本类型

转换类型插件可以是任何能够通过 CLI 处理输入/输出的可执行文件:

临时文件管理

插件通常会生成中间文件。

  • 自动清理: 默认情况下,Seer 会自动清理超过 21 天的临时文件。
  • 强制删除: 在命令参数中追加 ${no_cache} 可指示 Seer 绕过转换结果缓存,并将临时输出保存至自动删除目录(autodel/),该目录会在 Seer 退出时自动清空。

DLL 类型插件

对于高性能或深度集成,Seer 支持基于 C++/Qt 编写并编译为动态库的 DLL 插件。

参考示例项目

有关插件接口的实现,请参阅以下官方仓库:

项目 目的
F3DViewer 3D 文件预览
OfficeViewer Office 文档
FontViewer 字体渲染
JsonTreeViewer JSON 结构视图
Collections 所有