OpenYoink README

The project's README from github.com/MuQY1818/OpenYoink. As one markdown file: README.md.

OpenYoink 图标

OpenYoink

随手一拖,先放一下。

原生 macOS 拖拽暂存架。把文件、文本、图片和链接暂存在屏幕边缘或 Mac 刘海, 切换到目标位置后再继续拖。


最新版本 下载量 macOS 15+ Swift 6 MIT 许可证

下载 · 官网 · 使用文档 · English


OpenYoink — 随手一拖,先放一下

[!NOTE] 当前稳定版 v1.6.6 默认不再让文件拖拽靠近顶部时展开灵动岛,避免干扰浏览器标签页操作;右侧暂存架仍可由真实文件靠近屏幕边缘时展开,也可在设置中单独开启顶部触发。完整教程见使用文档。

它解决什么问题

在 Finder、浏览器、邮件等应用之间搬东西时,目标窗口往往不在眼前。OpenYoink 给内容一个临时落脚点:先拖进屏幕边缘或 Mac 刘海,切换窗口后再拖到目标位置。

OpenYoink 常驻菜单栏,不显示 Dock 图标。需要时出现,用完后收起。

核心亮点

安装

系统要求:macOS 15 Sequoia 或更高版本。 Release 构建同时面向 Apple Silicon 与 Intel Mac。

Homebrew(推荐)

brew install --cask muqy1818/tap/openyoink

Homebrew cask 下载对应版本的 GitHub Release DMG,并在安装后移除这一应用的隔离属性,通常不会出现 Gatekeeper 拦截。该步骤不改变安装包签名,也不等同于 Apple 公证。安装后可由 Sparkle 检查后续更新。

手动安装

  1. 从 GitHub Releases 下载最新 DMG。
  2. 打开 DMG,将 OpenYoink 拖入 Applications。
  3. 首次启动若被 macOS 拦截,在 Finder 中右键 OpenYoink 并选择“打开”,或前往 系统设置 → 隐私与安全性 允许打开。

[!NOTE] GitHub Releases 中的免费社区构建使用 ad-hoc 签名,未经过 Apple 公证,因此首次手动安装可能触发系统提示。Sparkle EdDSA 签名保护的是更新包完整性,不能替代首次下载校验或 Apple 公证。

仍然无法打开?

仅在确认应用来自上面的 OpenYoink 官方 Release 地址后使用。可以先运行 shasum -a 256 OpenYoink-VERSION.dmg(把 VERSION 换成实际版本号),并与同版本 Homebrew cask 中的 sha256 比对。下面的命令会明确绕过这一个应用的 Gatekeeper 隔离检查:

xattr -dr com.apple.quarantine /Applications/OpenYoink.app

快速上手

操作 方式
显示 / 隐藏 ⌘⇧Space、菜单栏菜单,或单击屏幕边缘的拉环
添加内容 拖到暂存架或边缘拉环上
移动而非引用 按住 ⌘ 拖入文件或文件夹
暂存剪贴板 连按两次 ⌘⇧Space
Quick Look 选中卡片后按 Space,或双击卡片
多选 按住 ⌘ 点选,或在空白处拖动框选
移除 悬停后点 ×、按 Delete,或右键菜单
调整位置 沿屏幕边缘拖动拉环,或在设置中选择位置
开启 / 关闭 Island 设置 → 通用 → OpenYoink Island

支持的内容

内容 OpenYoink 的处理方式
文件与文件夹 默认保留对原位置的 sandbox bookmark,不复制到暂存架
纯文本与链接 直接记录在暂存架数据中
图片、HTML 与 RTF 在应用沙箱的托管目录中物化为文件
联系人、日历事件与邮件 来源应用提供可读数据时,物化为 .vcf、.ics、.eml

拖出普通文件时,OpenYoink 提供文件 URL 与 Chromium 兼容的文件名表示,兼容 Finder、Safari 和常见 Chromium 浏览器上传区域;托管移动项目使用可确认落盘的 file promise,交付成功后才离架。是否接受最终仍由目标应用或网站决定。

文件安全与生命周期

隐私与设计

从源码构建

开发环境需要 macOS 15+ 与 Xcode 26+。

git clone https://github.com/MuQY1818/OpenYoink.git
cd OpenYoink

xcodebuild \
  -project Open-Yoink.xcodeproj \
  -scheme OpenYoink \
  -destination 'platform=macOS' \
  build

xcodebuild \
  -project Open-Yoink.xcodeproj \
  -scheme OpenYoink \
  -destination 'platform=macOS' \
  test \
  -only-testing:OpenYoinkTests

本地构建无需设置 DEVELOPMENT_TEAM。项目使用 SwiftUI 渲染界面,以 AppKit 管理窗口、拖放和全局事件;测试覆盖持久化、拖入拖出、快捷键、触发器和布局等核心行为。

维护者可通过 Scripts/make-release.sh 生成 Developer ID + 公证的正式构建,或显式使用 --adhoc 生成免费社区构建。脚本不会在签名失败时静默降级发布模式。

参与项目

欢迎提交 Issue 和 Pull Request。

Roadmap

Roadmap 表示探索方向,不承诺具体版本或时间;优先级会根据稳定性和用户反馈调整。

致谢与许可

OpenYoink 是独立的开源实现,与商业应用 Yoink 及其开发者没有隶属、授权或背书关系。自动更新由 Sparkle 提供。

第三方组件与许可证见 THIRD_PARTY_NOTICES.md。项目基于 MIT License 开源。


© 2026 weijue · MIT License

OpenYoink (MuQY1818/OpenYoink)

sparkle
Searching Database…

What is this?OpenYoink is a free, open-source macOS utility that lets you drag files, images, text, and links onto a temporary shelf at the screen edge or into the Mac's Dynamic Island, then drag them out again once you've switched to the target window. It's built with SwiftUI + AppKit and lives in the menu bar without a Dock icon.
Is this the same thing as the commercial Yoink app?No — OpenYoink is an independent open-source reimplementation of the shelf-and-dock-stash idea popularized by commercial apps like Yoink and Dropover, with no affiliation to either.
What macOS version does it need?OpenYoink requires macOS 15 Sequoia or later, and the Release builds support both Apple Silicon and Intel Macs.
Will macOS block the first launch?The free community builds on GitHub Releases are ad-hoc signed and not Apple-notarized, so a manual first install can trigger a Gatekeeper warning — you'll need to right-click and choose 'Open' or allow it in Privacy & Security settings. Installing via Homebrew avoids this by stripping quarantine automatically.
Any licensing concerns given the Yoink-inspired name?OpenYoink is released under the MIT License and explicitly states it has no affiliation, licensing, or endorsement relationship with the commercial Yoink app or its developer.
Does it copy my files or just reference the originals?By default OpenYoink only keeps a sandbox bookmark pointing to the original file — nothing is copied. Holding Cmd while dragging switches to a managed move, which copies the file into the app's sandbox and then trashes the original.
What's the difference between the sidebar shelf and the Island?They're two independent entry points sharing the same stash: the classic side shelf expands when files approach the screen edge, while the Island integrates with the Mac's notch (or shows a floating capsule on external/non-notch displays) and can also host modules like battery, now-playing, and quick access to favorite folders.
What kinds of content can I put on the shelf besides files?It accepts files, folders, plain and rich text, images, links, plus contacts, calendar events, and emails when the source app exposes readable data for them.
Creator
MuQY1818
Size
29.2 MB
Stars
231
Age
2mo
Commits · 90 Days