功能
从“做出来了”到“上线了”,中间的麻烦事都交给 Tofu
一个 Tofu 账号全部接好:app 托管、数据库、自己的域名、登录和验证邮件、访问统计、收款,你的 coding agent 都能直接操作。每项能做什么、有什么限制、还有哪些功能没做,都写清楚了。
app 需要的服务,都替你接好了 每一项都是你的 agent 能调用的工具
它们各有一页:怎么运作、你的 agent 怎么调用、能做到什么程度。
上线了,改坏了也能一键回到旧版本
每次上线都先检查、再构建,确认新版本能正常打开才发布,每个版本都有记录。想回到之前正常的版本,点一下“恢复”就行。
deployrollbackgetRuntimeLogs
现成的数据库,不用自己搭
Tofu 给你一个托管的 Postgres 数据库,上线时一起建好。连接密钥直接配进你的 app,写入后不外露,你不用经手。数据库也可以转到你自己名下的 Supabase 账号,跟 Tofu 说一声就行。
databaseCreatedatabaseStatus
用你自己的域名,HTTPS 证书自动配好
如果域名在 Cloudflare,授权一次,Tofu 就替你配好 DNS 记录。域名在别家,Tofu 会把要填的记录一字不差地列给你,你填好后它再帮你检查。
domainConnectdomainAuthorizedomainVerify
Google 登录,不用碰 Google Cloud
给你的 app 加上 Google 登录和邮箱登录。等你自己的域名验证好,注册时发的验证邮件就从这个域名发出。不用建 Google Cloud 项目,不用配 OAuth 客户端,也不用管密钥。
appAuthConfigureappAuthEmailConnect
访问量看得见,不追踪访客
每个 app 的浏览量、热门页面、访客主要从哪些网站来,都在 Tofu 自己的服务器上统计。不用 Cookie,不存 IP 地址,也不用另开统计账号。
siteAnalyticssetSiteAutoInject
跟你的 agent 说一句,就能上线
Tofu 有个装在你电脑上的客户端,任何支持 MCP 的 coding agent 都能用。在浏览器里授权一次就行,项目和上线记录跟控制台里的是同一份。
loginingeststatus
收款,钱直接到你账上。
买家在 Stripe 官方结账页付款,钱直接进你自己的 Stripe 账号。Tofu 帮你建好收款链接,一次性付款和定期订阅都行,还会让你的 app 知道是谁付的钱。不用你复制粘贴任何密钥,Tofu 也不抽成。
appPaymentsConnectappPaymentsSetupappPaymentsLinkCreate
免费套餐可以上线 1 个 app,包括页面背后的代码,还附带 1 个托管数据库。只要 app 在线,这个数据库就一直保留。哪些套餐可以绑定自己的域名,具体看定价页。买域名另算。查看定价
把你的 Stripe 账号连到 app 上,需要付费套餐,app 也要在服务器上运行。第一笔套餐费支付成功后,就能正式收款。收款是怎么运作的
把你手上的 app 带过来 怎么交给 Tofu 都行
不管 app 从哪个入口进来,到了 Tofu 都一样:构建前过同一道检查,用同一种方式上线。
你的 coding agent
推荐这种方式。把接入提示词粘给任何 coding agent,它会装好 Tofu 的客户端,你在浏览器里确认一下验证码就行。之后只有你开口,它才会在对话里上传、检查、部署。更新只替换代码,还是同一个 app,设置、地址和版本历史都保留。
agent 与命令行❯ setup prompt pasted · code approvedGitHub 分支
用只读授权导入一个分支,代码停在导入时的那次提交。任何套餐都能开自动更新,之后每次推送,最新提交照样先检查,通过了再部署。
main · push → deploy命令行
独立客户端在终端或云端沙箱里同样能上传、检查、部署。只要有 Node.js 22 或更高版本,在浏览器里确认一次就行,全程不用粘贴密钥。
$ node tofu-agent.mjs login
有人访问才运行的 web app 用你选好的技术栈就行
构建好的网站、web 框架做的 app、Python / Go / JavaScript 后端服务,或者你自己的容器,运行方式都一样:有人访问就运行,没人访问就停下。Tofu 会自动识别 app 类型、推荐部署设置,你来确认。
- 网站与 Web 框架
- Next.js
- Vite
- Astro
- SvelteKit
- Nuxt
- React Router
- Gatsby
- Static HTML
按框架自己的方式构建,已经构建好的静态网站就原样发布。
- Python
- FastAPI
- Flask
- Django
- Python
按 app 自带的依赖清单构建,作为 HTTP 进程启动,响应发到 app 地址的请求。
- Go
- Go
按 app 自带的 go.mod 构建,作为 HTTP 进程启动,app 需要监听环境变量 PORT 指定的端口。
- JavaScript 服务器
- Express
- Hono
- NestJS
- Node.js server
按文件名自动找到入口文件,作为 HTTP 进程启动,服务器要能响应根路径 / 的请求。
- 容器
- Dockerfile (container)
按 app 自带的容器文件(比如 Dockerfile)构建镜像,再作为服务运行。
Tofu 不托管需要一直运行的程序:后台 worker、处理队列任务的程序、一直开着的调度器,哪个套餐都跑不了。托管与部署
先读一遍,再构建 读了什么,实话实说
每次构建之前,Tofu 都会按一套固定的规则,检查这次要上传的文件。查的是:写在代码里的真实密钥、没开行级安全(RLS)的数据库表、允许任何人写入的权限设置,还有已知的恶意软件特征。可能危害别人的问题(恶意软件特征、钓鱼、密钥泄露)会拦下这次构建,已上线的版本照常运行。只影响你自己 app 的设置(比如对外开放的表)会标成警告,但从不拦下构建。
每份检查结果都会列出读了哪些文件,也会写明规则不查哪些东西。只说查过的,从不夸大。
目前不支持
替你买域名。 搜索域名、查看报价、交给域名注册商处理,这几步都已经做好了,只是购买入口还没开放。
预览部署。 没有 pull request 预览。每个项目的 GitHub 自动更新只跟踪一个分支、一个 app 根目录,也不跟踪 tag。
深度安全检查的逐项报告、数据库密码轮换、访问统计导出、消息通知和团队协作。
SQL 控制台。 这是特意不做的:Tofu 不默认信任上传的代码,而 SQL 控制台要用的管理凭据,一个就能管到所有托管项目。
任何需要一直运行的程序。 后台 worker、处理队列任务的程序、一直开着的调度器,或者非 HTTP 服务。app 自己在
vercel.json里配置的定时任务也不会生效。
说说你想做什么 app,或者带上 agent 已经做好的 app。Tofu 帮你上线。
任何 coding agent 都能用
© 2026 Tofu
trytofu.ai
本页由英文翻译;如有内容冲突,请以英文原版为准。