AI Coding Agent 有一个根本缺陷:不知道自己不知道什么。没有访问最新文档的渠道,它们就会猜测——推荐不存在的 API、跑错误的 CLI 命令、省略掉开启 RLS 这类关键步骤。

Supabase 给出了一个很聪明的解法:把文档做成一个 SSH 服务器。

什么是 supabase.sh

supabase.sh 是一个公开的 SSH 服务器,给 AI Coding Agent 直接的 bash 访问权限来浏览 Supabase 文档。完全免费,现在就能用:

ssh supabase.sh

文档以虚拟文件系统的形式存在,路径在 /supabase/docs。Agent 可以搜索主题、列出页面、按需读取任何页面——完全复用它们处理代码时的那套工作流。

为什么这个思路值得注意

观察一个 Coding Agent 跑代码的过程,你会发现它们反复使用同一套工具:grepfindlscat。这些模型在 bash 上训练得很重,文件系统是它们探索的主要界面。

Supabase 做的就是把文档塞进这个界面。

有两种现有方案,但各有局限:

  • MCP Server:已经提供了 search_docs 工具,支持混合关键词和语义搜索。但 Agent 必须预先知道自己该问什么——它无法浏览、略读,或者意外发现有用的东西。
  • Bash 式的文档访问:Agent 可以列出某个主题下的所有页面、同时搜索多个文件、读取部分页面再决定是否相关。这是探索式的,不是查询式的。

对比很清晰:搜索是黑箱——Agent 提问,拿到结果,无法探索也无法导航;Bash 则让 Agent 自己决定要看什么、读多少、用什么节奏。

怎么用

直接接入 AGENTS.md:

ssh supabase.sh agents >> AGENTS.md

这条命令把推荐的 Supabase 指令追加到项目的 AGENTS.md,让 Agent 在处理 Supabase 相关工作前先查文档,避免幻觉。

让 Agent 自己设置:

ssh supabase.sh setup | claude

技术实现

ssh supabase.sh 运行在 just-bash 上——Vercel 开源的 TypeScript 编写的 Bash 模拟器。命令运行在沙箱化的 JavaScript 运行时里的虚拟文件系统上,所以可以完全公开、无需认证,不会真的在服务器上开一个 shell。

这意味着它是真正安全的公开实验——没有真实的 shell 访问,没有执行任意系统命令的风险。

技术上不是首创。Charm 团队之前用 Wish 库探索过这个方向,ssh terminal.shop 也是知名的 SSH 实验。Supabase 把同样的模式应用到了文档——通过 SSH 服务的 markdown 源文件和通过浏览器访问的是同一套内容。

开源

代码在 github.com/supabase-community/supabase-s3,可以自行部署、修改,或者贡献更多功能。