用途:根据用户描述生成 macOS Finder 右键菜单动作,并自动判断实现模式。右键文件或文件夹时用 Quick Action(Automator workflow);右键空白处、新建文件等无需选中文件的场景用 Finder Sync Extension(Swift + xcodegen)。参数格式为「<动作名称> [触发描述]」。
主要能力:模式判断(命中「空白处」「背景」「新建文件」「blank space」「background」等关键词走 Extension,否则走 Quick Action);Quick Action 流程包括分析需求、用 which 检查依赖、生成 shell 脚本、创建 ~/Library/Services/<动作名称>.workflow/Contents/document.wflow、用 plutil -lint 与 pbs -update 验证注册,并需在 Automator 中 Cmd+S 保存一次才正式注册;Extension 流程包括检查 xcodegen/xcodebuild、生成 project.yml 与 AppDelegate.swift、FinderSync.swift、构建安装并验证。
必要用法:Quick Action 脚本用 "$@" 接收文件参数,工具路径须用绝对路径(该环境无 $PATH)。Extension 构建安装命令为 xcodegen generate、xcodebuild -project APP_NAME.xcodeproj -scheme APP_NAME -configuration Debug build,复制 .app 到 /Applications 后 open,再用 pluginkit -e use -i BUNDLE_ID.FinderExtension 启用,pluginkit -m -i 验证。
限制:Finder Sync Extension 沙盒严格,禁止写入 /tmp、Process() 子进程、NSAppleScript、NSWorkspace.open(file),仅允许 NSWorkspace.open(app) 与 NSPasteboard;推荐用非沙盒 Helper App 配合剪贴板执行实际操作。Bundle ID 不能含下划线;NSHomeDirectory() 返回容器路径;NSMenuItem 必须设置 target;菜单项位置由系统决定;Extension 为 ad-hoc 签名,仅限本机使用。其他细节暂未提供。