全部文章

FourA Digest (2026年5月29日至6月5日)

本周创建的 API key 现已支持显示。Dashboard 会记住它们,playground 的 curl 复现器会自动填入它们,你还可以取消慢速 request。

Highlights

API key 现已支持显示。在你的 Dashboard 中生成一个,然后离开,下周回来,该 key 依然在那里,只需点击即可查看。我们还优化了 API playground 的三处细节,使 curl 复现器能够真正运行。

What's New

API keys you can see again

大多数 SaaS API 只会向你展示一次 key。丢失了,就重新生成。更新每一个使用旧 key 的服务。重新部署。你懂的。

我们不喜欢这种模式。所以我们改变了它。

从现在开始创建的 key 都带有一个可显示的副本。打开你的 Dashboard,点击任何 key 旁边的眼睛图标,确认后,完整的 pk_live_... 值就会呈现在你面前。15 秒后,它会自动隐藏并从页面中清除。每次显示都会记录在审计日志中。

一些对我们而言很重要的细节:

  • 用于验证你的 request 的路径仍然是单向哈希,未作改动。可显示的副本是保存在其旁边的第二个加密产物 (AES-256-GCM)。即使我们轮换了加密 key,验证仍会正常工作。
  • 在此更改之前创建的 key 无法被显示。它们没有可供读取的加密副本。它们将通过哈希路径永久保持工作。Dashboard 会显示一个小的锁标记和 "重新生成以启用" 的提示,以便你了解哪些 key 具备新功能,哪些不具备。
  • 访问控制与 key API 的其余部分一致。你可以显示你自己的 key。组织管理员可以显示组织内的任何 key。团队写入成员可以显示团队 key。只读角色则无法显示。
  • 组织管理员代表团队成员创建的 key 同样可以显示,规则相同。该功能存在于 key 本身,而不是创建它的界面。

如果你一直在密码管理器中囤积 FourA 的 key,现在可以停止了。

The curl reproducer is real curl now

你在 playground 中构建的每个 request 侧边都带有一个可复制粘贴的 curl。这个想法很简单:在 UI 中调好 request,复制 curl,然后将其放入脚本、同事的终端或 Bug 报告中。

在本周之前,curl 中有一个用于放置 key 的占位符 (PASTE_PLAINTEXT_FOR_my-key),你必须在运行前手动填写它。这个复现器当时并不是真正的复现器。它只是一个模板。

现在不同了。对于任何可显示的 key,playground 的 curl 面板上都有一个 Reveal 按钮。点击它,真实的明文就会填入 curl 中,复制整个内容,粘贴到你的终端,它就能运行。再次点击即可隐藏。显示仅在当前会话的内存中进行,绝不会写入磁盘,并且 curl 面板会跟踪 key 下拉菜单,因此切换 key 绝不会导致泄露。较旧的不可显示 key 仍会显示占位符,因为我们无法找回它们的明文。

Cancel button on in-flight requests

如果你针对一个慢速目标网站发起 playground request,以前唯一的选择就是等待超时。我们在加载面板上添加了一个 Cancel 按钮。点击它,request 就会干净利落地中止,并且 response 区域会返回到空闲状态,显示 "Request canceled.",而不是可怕的错误。

虽然是件小事。但现在的 playground 感觉像是一个真正的工具,而不仅仅是一个演示。你可以探测一个不稳定的网站,中止,调整 request,然后重试,而无需一直坐着等待。

Under the Hood

在最初发布后,针对 curl Reveal 按钮进行了三次小的后续跟进:错误 toast 显示友好信息而不是机器错误代码,如果其他地方抛出异常,按钮不会卡在 "Revealing…" 状态,以及一个导致该按钮在不支持显示的 key 上保持可见的 CSS 特异性 Bug 已被修复。

如果你遇到了上述任何问题,它们现在应该已经修复。如果你没遇到,那你也没错过什么。

生成、复制、粘贴、遗忘。稍后再回来。Dashboard 会记住。