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 跑代码的过程,你会发现它们反复使用同一套工具:grep、find、ls、cat。这些模型在 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,可以自行部署、修改,或者贡献更多功能。
这不是一个功能,这是一个接口范式的转换——把"文档查询"变成"文件系统操作"。对于 Agent 来说,能够用 `grep` 在文档里搜、用 `cat` 按需读内容、用 `ls` 探索结构,是它们最熟悉的工作方式。Supabase 把文档去 API 化、去搜索化,重新放回文件系统——这个思路对任何有大量开发者文档的产品都有参考价值。未来的 Agent 工具链里,"文档即文件系统"可能会成为标配。