Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计未展示

lovstudio%3afinder-actionlovstudio%3afinder 动作

Agent Skill

lovstudio%3afinder-action 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

470

周安装

20

GitHub Stars

45

下载量

165
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:lovstudio%3afinder-action(lovstudio%3afinder 动作)
来源仓库:https://github.com/lovstudio/skills
仓库路径:skills/lovstudio%3Afinder-action
安装命令:
npx skills add https://github.com/lovstudio/skills --skill lovstudio:finder-action
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/lovstudio/skills --skill lovstudio:finder-action

简介

lovstudio%3afinder-action 用于查找、检索和筛选相关信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词或任务场景快速定位候选结果。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装并使用该技能。
  • 安装前需确认权限范围和维护状态,注意可能触发联网、命令执行或文件读写操作。
  • 建议结合原始 README 和仓库内容进一步核验具体功能和用法边界。

SKILL.md

finder-action — Mac Finder 右键菜单动作生成器

根据用户描述生成 Finder 右键菜单动作,自动判断模式:

场景模式技术方案
右键文件/文件夹Quick ActionAutomator workflow
右键空白处Finder ExtensionSwift + xcodegen

参数格式

<动作名称> [触发描述]

示例:

  • pdf2png.pdf 将PDF所有页面纵向拼接成一张PNG → Quick Action
  • 新建md文件 在空白处右键创建markdown文件 → Finder Extension

模式判断

关键词命中 → Finder Extension 模式:

  • 提到「空白处」「背景」「目录背景」「新建文件」「blank space」「background」
  • 动作不需要选中文件即可触发

其他情况 → Quick Action 模式


Mode A: Quick Action(Automator workflow)

Step 1: 分析需求

收集(缺失时 AskUserQuestion):

  • 动作名称:右键菜单显示名
  • 触发文件类型.pdf.md.jpg
  • 核心命令:用什么工具做什么

Step 2: 检查依赖

which <所需工具>

不存在则提示 brew install <tool>

Step 3: 生成 shell 脚本

#!/bin/bash
for f in "$@"; do
  [[ "$f" == *.<ext> ]] || continue
  output="${f%.<ext>}.<out_ext>"
  <具体命令> "$f" -o "$output"
done
  • 工具路径用绝对路径(Quick Action 环境没有 $PATH
  • "$@" 接收文件参数(inputMethod=1)

Step 4: 创建 Automator workflow

创建 ~/Library/Services/<动作名称>.workflow/Contents/document.wflow

模板见 references/automator-template.xml

关键配置:

  • inputMethod: 1
  • serviceInputTypeIdentifier: com.apple.Automator.fileSystemObject
  • workflowTypeIdentifier: com.apple.Automator.servicesMenu

Step 5: 验证注册

plutil -lint ~/Library/Services/<动作名称>.workflow/Contents/document.wflow
/System/Library/CoreServices/pbs -update
killall Finder

Step 6: Automator 保存(关键)

open -a Automator ~/Library/Services/<动作名称>.workflow

必须在 Automator 中 Cmd+S 保存一次才会正式注册。


Mode B: Finder Sync Extension(Swift app)

Step 1: 检查工具链

which xcodegen && which xcodebuild

缺 xcodegen 则 brew install xcodegen

Step 2: 创建项目结构

<ProjectName>/
├── project.yml
├── <ProjectName>/
│   └── AppDelegate.swift
└── FinderExtension/
    └── FinderSync.swift

Step 3: 生成 project.yml

模板见 references/xcodegen-template.yml。替换 APP_NAMEBUNDLE_ID

关键点:

  • 宿主 App: LSUIElement: true(无 Dock 图标)
  • Extension: NSExtensionPointIdentifier: com.apple.FinderSync
  • 签名: CODE_SIGN_IDENTITY: "-"(ad-hoc)
  • 沙盒必须开启app-sandbox: true),否则扩展不会被系统加载
  • 文件写入需用 temporary-exception.files.absolute-path.read-write: [/]files.user-selected.read-write 无效

Step 4: 生成 AppDelegate.swift

import Cocoa

@main
class AppDelegate: NSObject, NSApplicationDelegate {
    func applicationDidFinishLaunching(_ notification: Notification) {}
}

Step 5: 生成 FinderSync.swift

模板见 references/finder-sync-template.swift

核心 API:

  • FIFinderSyncController.default().directoryURLs = [URL(fileURLWithPath: "/")] — 监控所有目录
  • menu(for:.contextualMenuForContainer) — 空白处右键菜单
  • FIFinderSyncController.default().targetedURL() — 获取当前目录

常见 action 模式:

  • 创建文件FileManager.default.createFile + 自动递增文件名
  • 打开终端:AppleScript 控制 iTerm2/Terminal(见 references/applescript-iterm.swift
  • 执行脚本Process() 启动 shell 命令

AppleScript 自动化需要在 entitlements 中添加:

com.apple.security.automation.apple-events: true

Step 6: 构建安装

xcodegen generate
xcodebuild -project APP_NAME.xcodeproj -scheme APP_NAME -configuration Debug build
cp -R ~/Library/Developer/Xcode/DerivedData/APP_NAME-*/Build/Products/Debug/APP_NAME.app /Applications/
open /Applications/APP_NAME.app
pluginkit -e use -i BUNDLE_ID.FinderExtension

Step 7: 验证

pluginkit -m -i BUNDLE_ID.FinderExtension

不出现时指引:系统设置 → 通用 → 登录项与扩展 → 已添加的扩展 → 勾选。

沙盒限制与 Helper App 方案

Finder Sync Extension 的沙盒限制非常严格:

操作是否允许说明
写入 /tmp即使添加 temporary-exception 也被阻止
Process() 子进程无法启动外部命令
NSAppleScript无法控制其他应用
NSWorkspace.open(file)无法打开文件/目录
NSWorkspace.open(app)可以打开应用
NSPasteboard可以读写剪贴板

推荐方案:创建一个非沙盒的 Helper App,Extension 把命令放入剪贴板后打开 Helper App,由 Helper App 执行实际操作。

Helper App 示例

mkdir -p "/Applications/OpenCCHelper.app/Contents/MacOS"
cat > "/Applications/OpenCCHelper.app/Contents/Info.plist" << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleExecutable</key><string>run.sh</string>
    <key>CFBundleIdentifier</key><string>com.lovstudio.OpenCCHelper</string>
    <key>LSUIElement</key><true/>
</dict>
</plist>
EOF

cat > "/Applications/OpenCCHelper.app/Contents/MacOS/run.sh" << 'EOF'
#!/bin/bash
CMD=$(pbpaste)
osascript << APPLESCRIPT
tell application "iTerm"
    activate
    tell current window
        create tab with default profile
        tell current session
            write text "$CMD"
        end tell
    end tell
end tell
APPLESCRIPT
EOF
chmod +x "/Applications/OpenCCHelper.app/Contents/MacOS/run.sh"

Extension 中调用:

let command = "cd '\(targetPath)' && claude"
NSPasteboard.general.clearContents()
NSPasteboard.general.setString(command, forType: .string)
NSWorkspace.shared.open(URL(fileURLWithPath: "/Applications/OpenCCHelper.app"))

其他已知限制

  • Bundle ID 不能含下划线:使用连字符或驼峰命名(OpenCC 而非 open_cc
  • NSHomeDirectory() 返回容器路径:沙盒中返回 ~/Library/Containers/<bundle-id>/Data/,监控目录需硬编码真实路径
  • NSMenuItem 必须设置 targetitem.target = self,否则 action 不会触发
  • Finder Extension 菜单项位置由系统决定,无法排在「新建文件夹」之前
  • Quick Action 环境没有 $PATH,工具路径必须用绝对路径
  • Automator workflow 需在 Automator 中打开保存才能注册
  • Extension 使用 ad-hoc 签名,仅限本机使用

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.82%
按下载量换算62

Claude

27.09%
按下载量换算45

Cursor

20.16%
按下载量换算33

Gemini CLI

9.57%
按下载量换算16

安全审计

暂无安全审计结果可展示。

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/lovstudio/skills --skill lovstudio:finder-action 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills