插件开发与实现
使用 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绝对路径。
执行工作流
- 触发: 用户对文件按
空格键。 - 解析: Seer 识别与文件扩展名相关联的插件。
- 执行: Seer 运行可执行程序(例如
ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json")。 - 显示: 进程退出后,Seer 读取与
${output_file}.*匹配的生成文件,并使用输出扩展名对应的内置渲染器进行展示。
支持的可执行文件与脚本类型
转换类型插件可以是任何能够通过 CLI 处理输入/输出的可执行文件:
- 脚本:
- CMD 脚本:cmd_rename
- BAT 脚本:bat_epub
- PowerShell 脚本:
.ps1(通过powershell.exe开箱即用支持)
- 第三方工具:
dll_lib_exports:Windows 系统实用工具- ImageMagick
- exiftool
- 自定义程序:
临时文件管理
插件通常会生成中间文件。
- 自动清理: 默认情况下,Seer 会自动清理超过 21 天的临时文件。
- 强制删除: 在命令参数中追加
${no_cache}可指示 Seer 绕过转换结果缓存,并将临时输出保存至自动删除目录(autodel/),该目录会在 Seer 退出时自动清空。
DLL 类型插件
对于高性能或深度集成,Seer 支持基于 C++/Qt 编写并编译为动态库的 DLL 插件。
参考示例项目
有关插件接口的实现,请参阅以下官方仓库:
| 项目 | 目的 |
|---|---|
| F3DViewer | 3D 文件预览 |
| OfficeViewer | Office 文档 |
| FontViewer | 字体渲染 |
| JsonTreeViewer | JSON 结构视图 |
| Collections | 所有 |