Gatekeeper 首次打开 FAQ
从 0.1.0-rc.16 起,Deskfolk 的 .dmg 用 Developer ID 签名并经 Apple 公证:双击即可打开,不会再被拦。spctl -a -vv /Applications/Deskfolk.app 显示 source=Notarized Developer ID。签名方式见公证。
本页其余部分适用于 0.1.0-rc.15 及更早的版本(ad-hoc 签名、未公证),以及没有 Developer ID 证书时自己打的包。
旧版本为什么会被拦
未带 Developer ID + 公证的下载会被系统视为不可信。那些版本未签名,是因为签名路径当时还没走通,并不代表应用会回传或偷偷装后台。在「关于」里更新到 0.1.0-rc.16 或更新的版本后就不会再有。
旧版本首次打开(两步)
- 在 Finder 里对
Deskfolk.app右键(或 Control-点击)→ 打开。 - 在对话框里确认 打开。

如果已经双击被拦过,仍可用右键路径放行。
隔离属性(可选)
若右键 → 打开后仍被拦,可清除一次下载隔离属性:
xattr -dr com.apple.quarantine "/Applications/Deskfolk.app"
然后再打开应用。这只去掉隔离标记,不会关闭系统级 Gatekeeper。
应用内更新不会再被拦一次
第一次放行之后,「关于」里的「下载并安装」是应用自己下载并替换自己:字节不经过浏览器,因此不会被打上下载隔离属性,也就不会再走一次右键 → 打开。这也意味着这条路的信任完全来自下载地址——它被限定在本仓库 releases 的 .dmg,并且安装前会校验镜像里那份应用的 identifier 和版本号。装不了的情况(别人装的那份、从源码跑的)仍然给浏览器下载,那一份下载回来照常按上面两步放行。
打开之后:昂贵动作仍会先问你
越过 Gatekeeper 不等于应用内权限全开。在 Deskfolk 里:
- 新建模型端点 / MCP、改内置提示词会停在批准卡上;写文件、跑命令要不要问看 Bot 的权限模式(ADR 0092)。
- 高成本或不可逆的工具调用需要你明确放行——Bot 不会在未批准时静默「稍后发送」或空转烧额度。
- API 密钥进钥匙串,不进聊天。
Gatekeeper 管的是 系统是否信任这个二进制;批准卡管的是 你是否信任每一次昂贵或危险动作。
第一次更新到公证版本时钥匙串会再问一次
钥匙串过去只按一个每次发版都会变的哈希认旧版本,所以每次更新都要再输一次登录密码。公证版本按 Team ID 记录:第一次更新到公证版本时再问一次,之后的更新不再问。