Plugin Development & Implementation
Build a Plugin with an AI Agent
Replace the requirement placeholder below, then give the complete instruction to your coding agent:
Read and follow the Seer plugin development guide at https://raw.githubusercontent.com/ccseer/Seer-Plugins/refs/heads/master/plugin_development_guide.md. Treat it as the source of truth for architecture, plugin.json, implementation, validation, and packaging. If the guide is unavailable, stop and report that before proceeding.
Before doing any work, inspect the Requirement below. If it is missing, unchanged placeholder text, or too ambiguous to implement, ask one clarifying question and wait. Do not infer the missing requirement.
Once clear, choose Convert or DLL and briefly justify the choice, then implement a complete, installable plugin in the current workspace. Do not modify Seer itself or stop at a plan or code snippets.
Follow every applicable validation step in the guide and report the actual results. Run an in-app Seer preview test when possible; otherwise explicitly state that runtime verification was not performed.
Requirement: [REPLACE THIS PLACEHOLDER with the plugin request.]
Convert Plugins
Seer treats convert plugins as external executors. When a file is triggered, Seer executes the configured program, passing file paths via placeholders.
Placeholder Variables
${input_file}: Absolute path of the source file.${output_file}: Base output file path where the plugin should save the processed output (append desired extension, e.g.,${output_file}.json).${use_backslash}: Optional flag to format path separators using Windows native backslashes (\).${seer_dir}: Directory path whereSeer.exeresides.${seer_exe}: Absolute path toSeer.exe.${7z}: Absolute path to7z.exebundled with Seer.
Execution Workflow
- Trigger: User presses
SPACEon a file. - Resolution: Seer identifies the plugin associated with the file extension.
- Execution: Seer runs the executable (e.g.,
ApkMetaInfo2Json.exe "${input_file}" "${output_file}.json"). - Display: Once the process exits, Seer reads the generated file matching
${output_file}.*and renders it using the internal viewer corresponding to the output extension.
Supported Executable & Script Types
A convert plugin can be any executable capable of handling input/output via CLI:
- Scripts:
- CMD script: cmd_rename
- BAT script: bat_epub
- PowerShell script:
.ps1(supported out-of-the-box viapowershell.exe)
- Third-party Tools:
dll_lib_exports: Windows system utility tool- ImageMagick
- exiftool
- Custom Binaries:
Temporary File Management
Plugins often generate intermediate files.
- Auto-Cleanup: Seer automatically purges temp files older than 21 days by default.
- Forced Removal: Append
${no_cache}to your command parameters to instruct Seer to bypass conversion caching and save temporary output to the auto-delete directory (autodel/), which is automatically cleaned up when Seer exits.
DLL Plugins
For high-performance or deep integration, Seer supports DLL-based plugins written in C++/Qt compiled into dynamic libraries.
Reference Projects
Refer to these official repositories for the plugin interface implementation:
| Project | Purpose |
|---|---|
| F3DViewer | 3D file preview |
| OfficeViewer | Office documents |
| FontViewer | Font rendering |
| JsonTreeViewer | JSON structural view |
| Collections | All |