给 coding agent 用的 Tofu

在你做 app 的对话里,
直接上线

接上你​常用的 agent,​让它把 app 上线。​它会上传、​检查、​发布,​以后有​改动,​也是​更新同一个 Tofu 项目。​部署、​花钱​或删除​之前,​它会按 Tofu 的要求​先问你。

01 / 连接

把 Tofu 接入你的 agent

选你用的 agent,​复制​对应的​设置​提示词,​粘贴​过去。agent 会下载 Tofu 客户端和 skill,​两个都校​验通过后​再安装。​接着你在​浏览器里​批准​连接,agent 就等你说​下一步做​什么。​全程​不用粘贴任何 API key。

客户端 0.2.153 · Node.js 22+

Pasting asks your agent to install the Tofu client and skill, connect it to your Tofu account, and then wait for you (if the folder it works in holds an app, it first asks whether to put that app online). It does not authorize a deploy, an upload, a database, a purchase, a sign-up or any DNS change: Tofu’s instructions tell your agent to wait for your yes to each of those, later in the conversation, and to check with you before each one.

选好你​用的 agent,​对应的​设置​提示词​就会出现。​复制​下来,​再粘贴给这个 agent。

02 / 批准

只需核对​一个验证码

你的 agent 会打开 Tofu 登录页。​只批准你​刚发起的​那次​请求,​并确认​页面上的​验证码和 agent 里显示的​一致。​连接 7 天有效,​随时可以断开。

在 coding agent 页面查看连接 →
03 / 构建与发布

接着聊就行

连上​之后,​像平时​聊天​一样让 agent 把 app 上线,​或者更新 Tofu 上已有的 app。​它会先检查​代码,​部署前按 Tofu 的要求问​你一声,​完成后​告诉你​结果。​需要​修复时,​也是​在同一个项目里​改。

你批准的内容与 agent 会安装的东西

This connection can upload your app’s source or import it from a public GitHub repository, download your app’s code into a new folder on your computer when the agent runs there, get the link that opens your app in Tofu’s builder, which you open yourself, run the safety check, deploy it — its build runs any migration step it has — once you have a hosting plan, save and remove your app’s public settings — an address, a feature flag, a key meant to be public — when the agent runs on your computer, but never a hidden value, which you type yourself in Keys & settings, create the app’s managed database, on its own or in the same call as a deploy, which Tofu runs and pays for as part of your plan, read the app’s build and runtime diagnostics, restore a previous deployment, connect, verify, release or withdraw the authorization for a domain you already own, read domain quotes and prepare a dashboard link for you to review a fresh price, agreements and payment when the agent runs on your computer — it cannot place an order or submit payment, read the stored status of domains you bought through Tofu and ask the registrar to send its confirmation email again to the registrant, without seeing your owner details or changing renewal settings, read and add DNS records on a domain you bought through Tofu, and delete one of yours — never its mail (MX) or verification (TXT) records, which stay with you, read your app’s own traffic — the first read for an app that has no counter yet issues its key — and turn that counter on or off, read whether your app is answering its visitors, and turn Tofu’s emails about it on or off, change how your app’s users sign in and how its sign-in email is sent, see who has an account in your app, add a person by email or remove one — which signs them out — choose whether anyone can sign up or only the people you add, and make the app private — only people with a link can open it — or open to everyone again, send a short message to up to ten of your app’s users, from your app’s own email address, get an invite link that lets one person into your private app — you hand the link out yourself, and the first person who opens it gets in for up to 30 days — list the links you made and turn one off again, choose who can open your app — anyone with the link, only people you list by email, or anyone with a code you share, which puts a sign-in page in front of the whole app — add or remove those people, make a new code, sign everyone out, and keep exact paths open for services like webhooks, connect your app to your own Stripe account when the agent runs on your computer — you install Tofu’s app on Stripe’s own page — then create payment links there, pass their payment events to the app or disconnect it, with the money going straight to you and nothing in its reach that moves money out of your account, set up email your app sends from its own address, pause it, give it a new key or remove it, when the agent runs on your computer — Tofu writes the app’s sending key into its settings, and nothing is sent until the app sends email itself, restore an archived database into a new one Tofu runs and pays for as part of your plan, and hand you a short-lived link to download its archive, keep a database Tofu warned you about from being archived for going unused, list your database’s daily backups and ask a person at Tofu to put it back to one, which loses what was saved after it, see which of your app’s database setup steps are done, choose whether Tofu runs them for an app, and mark one as done so it never runs, when the agent runs on your computer, delete an app — the source you uploaded is kept until you ask Tofu to erase it — or its database, with nothing kept, send Tofu’s team a problem report you approved word for word, with your app’s status attached, sign in to Tofu, read the account’s id and email address, report the plan and the account’s GitHub state, and turn automatic updates off.

It cannot buy, renew or transfer a domain, submit a payment, read domain owner details, an environment value or a database password or connection string, change your plan or billing, or import a private repository from GitHub. Those stay with you.

A saved credential alone is not proof of connection: the client checks with Tofu. When a host has not picked up a new MCP server in the session it is already in, the installed client’s own command line does the same work without one — see the skill’s *Installation and CLI fallback* — and the connection is there the next time that host starts.

The client runs locally over stdio. This release is downloaded directly from Tofu; no npm package installation or Tofu repository checkout is required. The browser cannot inspect your local MCP settings.

聊天 app

用的是聊天 app?

Claude、ChatGPT 这类聊天 app 可以用网址​添加连接器,​不用安装​任何东西,​也不用粘贴 token 或密钥,​就能连上 Tofu。​把下面的​网址添加​为按地址​连接的​连接器,​聊天 app 会打开 Tofu 自己的页面,​你在那里​批准连接​就行。

Tofu 的网址

https://app.trytofu.ai/mcp

这个链接​会打开 claude.ai 的添加​连接器​窗口,Tofu 的名称​和网址​都已​填好(iPhone 上不会自动​填好)。

你的 agent 能做什么

想要什么,​直接说 调用工具的事,​交给你的 agent

支持 MCP 的 agent,​用的​都是同一套 Tofu 工具。​有些步骤​要你自己来,​比如到 DNS 服务商​那里批准​一次、​同意​回滚。​碰到​这些,agent 会停下来​问你。

你可以这样说

>Put the booking app online, with a database.
tofu - ingest (MCP)(~/franks-kitchen)
uploaded · .env files left out
tofu - setFramework (MCP)(nextjs)
confirmed
tofu - deploy (MCP)(database: true)
managed database ready · Postgres
DATABASE_URL + 5 more · write-only
HTTP 200 · publicly reachable
Live at franks-kitchen-3f9a1c07b2e4.trytofu.app

示例对话,​已加速播放。​点一句你想​说的话,​开始播放。

控制台的​全部功能

一次连接,整个控制台都能用

控制台​能做的,​你的 agent 都能做:​可以调​用工具,​也可以​在装好的​客户端​命令行里​运行​同样的​命令。​例外的事,​每一项都写​明了​原因。​你批准​连接​之后,​分工是​这样的:

  • upload your app’s source or import it from a public GitHub repository

    • ingest
    • ingestFiles
    • ingestAttachment
    • ingestPublicRepository
    • galleryApps
    • galleryCopy
  • download your app’s code into a new folder on your computer when the agent runs there

    • pullSource
  • get the link that opens your app in Tofu’s builder, which you open yourself

    • builderLink
  • run the safety check

    • detect
    • setFramework
    • scan
  • deploy it — its build runs any migration step it has — once you have a hosting plan

    • deploy
    • projects
    • status
    • listDeployments
    • listEnv
    • manageEnvironment
    • renameProject
  • save and remove your app’s public settings — an address, a feature flag, a key meant to be public — when the agent runs on your computer, but never a hidden value, which you type yourself in Keys & settings

    • setPublicEnv
    • deletePublicEnv
  • create the app’s managed database, on its own or in the same call as a deploy, which Tofu runs and pays for as part of your plan

    • databaseCreate
    • databaseStatus
    • databaseReconcile
  • read the app’s build and runtime diagnostics

    • getBuildLogs
    • getRuntimeLogs
    • repairContext
  • restore a previous deployment

    • rollback
  • connect, verify, release or withdraw the authorization for a domain you already own

    • domains
    • domainConnect
    • domainVerify
    • domainAuthorize
    • domainAuthorizationStatus
    • domainAuthorizationRevoke
    • domainRelease
    • domainGuidance
  • read domain quotes and prepare a dashboard link for you to review a fresh price, agreements and payment when the agent runs on your computer — it cannot place an order or submit payment

    • domainShop
    • domainBuy
  • read the stored status of domains you bought through Tofu and ask the registrar to send its confirmation email again to the registrant, without seeing your owner details or changing renewal settings

    • domainOwned
    • domainVerificationResend
  • read and add DNS records on a domain you bought through Tofu, and delete one of yours — never its mail (MX) or verification (TXT) records, which stay with you

    • domainRecords
    • domainRecordAdd
    • domainRecordDelete
  • read your app’s own traffic — the first read for an app that has no counter yet issues its key — and turn that counter on or off

    • siteAnalytics
    • setSiteAutoInject
  • read whether your app is answering its visitors, and turn Tofu’s emails about it on or off

    • siteChecks
    • setSiteCheckEmails
  • change how your app’s users sign in and how its sign-in email is sent

    • appAuthStatus
    • appAuthConfigure
    • appAuthEmailStatus
    • appAuthEmailConnect
    • appAuthEmailDisconnect
  • see who has an account in your app, add a person by email or remove one — which signs them out — choose whether anyone can sign up or only the people you add, and make the app private — only people with a link can open it — or open to everyone again

    • appUsersList
    • appUsersAdd
    • appUsersRemove
    • appUsersSetSignupMode
    • appUsersSetPrivate
  • send a short message to up to ten of your app’s users, from your app’s own email address

    • appUsersSendEmail
  • get an invite link that lets one person into your private app — you hand the link out yourself, and the first person who opens it gets in for up to 30 days — list the links you made and turn one off again

    • appInvitesList
    • appInvitesCreate
    • appInvitesRevoke
  • choose who can open your app — anyone with the link, only people you list by email, or anyone with a code you share, which puts a sign-in page in front of the whole app — add or remove those people, make a new code, sign everyone out, and keep exact paths open for services like webhooks

    • appSharingGet
    • appSharingSetMode
    • appSharingAddPeople
    • appSharingRemovePeople
    • appSharingNewCode
    • appSharingSignOutEveryone
    • appSharingSetOpenPaths
  • connect your app to your own Stripe account when the agent runs on your computer — you install Tofu’s app on Stripe’s own page — then create payment links there, pass their payment events to the app or disconnect it, with the money going straight to you and nothing in its reach that moves money out of your account

    • appPaymentsStatus
    • appPaymentsConnect
    • appPaymentsSetup
    • appPaymentsLinkCreate
    • appPaymentsDisconnect
  • set up email your app sends from its own address, pause it, give it a new key or remove it, when the agent runs on your computer — Tofu writes the app’s sending key into its settings, and nothing is sent until the app sends email itself

    • appEmailStatus
    • appEmailSetup
    • appEmailSetSending
    • appEmailNewKey
    • appEmailRemove
  • restore an archived database into a new one Tofu runs and pays for as part of your plan, and hand you a short-lived link to download its archive

    • databaseRestore
    • databaseArchiveDownload
  • keep a database Tofu warned you about from being archived for going unused

    • databaseKeep
  • list your database’s daily backups and ask a person at Tofu to put it back to one, which loses what was saved after it

    • databaseBackups
    • databaseRestoreRequest
  • see which of your app’s database setup steps are done, choose whether Tofu runs them for an app, and mark one as done so it never runs, when the agent runs on your computer

    • databaseMigrations
    • databaseMigrationsSwitch
    • databaseMigrationsSkip
  • delete an app — the source you uploaded is kept until you ask Tofu to erase it — or its database, with nothing kept

    • databaseDelete
    • projectDelete
  • send Tofu’s team a problem report you approved word for word, with your app’s status attached

    • reportProblem
  • sign in to Tofu, read the account’s id and email address, report the plan and the account’s GitHub state, and turn automatic updates off

    • login
    • finishLogin
    • connectionStatus
    • account
    • hostingStatus
    • githubStatus
    • githubSyncDisable

怎么分辨批准​请求的真假

A real Tofu approval happens only at /dashboard/agent?code=, on the same Tofu address you signed in to, and only when a code arrives as XXXX-XXXX-XXXX printed by a coding agent you started yourself — or at /oauth/consent, on that same address, when an app you are connecting to Tofu sends you there and the page names where the sign-in returns. Refuse anything else. Nobody from Tofu, and no other site, needs an approval code, a password, a provider key or a token — and Tofu never asks for one.

任何 coding agent 都能用

用哪个 agent 做 app 都行 换了 agent,​工具和项目​都不变

  • Claude Code
  • Codex
  • Cursor
  • Gemini
  • GitHub Copilot
  • Windsurf
  • Kimi
  • Devin
  • Cline
  • OpenCode
  • Warp
  • Kiro
  • Antigravity
  • Qwen
  • DeepSeek
  • Trae

Claude Code、Codex、Cursor 和 Kimi Code 各有各的​设置​步骤。​其他支持 MCP 的 agent,​用的客户​端和设置​跟它们​一样。

常见问题

粘贴之前,​先看看​这几个问题

哪些 agent 能用、​要不要粘贴​密钥、agent 加载不了​新工具​怎么办,​下面都有​答案。

哪些 agent 能用?

支持 MCP 或能运行​命令的 agent 都能用。Tofu 客户端由 agent 安装,​需要 Node.js 22 或更高​版本。​上面​列表里没有你的 agent,​就选​“其他 agent”。

Claude Code、Codex 和 Cursor,​我们​都实际​测试过。Kimi Code 和其他​支持 MCP 的 agent,​用的客户​端和设置​跟它们​一样,​只是还没逐​个测试过。

Claude、ChatGPT 这类聊天 app 可以用网址​添加连接器,​不用安装​任何东西​就能连上 Tofu。​详见在 Claude 或 ChatGPT 里用 Tofu。

需要粘贴​密钥吗?

不用。​你复制的​那段​设置里​没有任何密钥或 token。​连接时,​在浏览器里​核对​验证码,​批准一下​就行。​数据库、​登录​和邮件的​设置,Tofu 会替你的 app 配好。

如果你的 app 需要​自己的密钥​(比如​第三方 API key),​就在浏览器里​打开这个 app 在 Tofu 上的​“密钥​与设置”​页面,​自己填​进去。​填的时候​记得打开​“保存后​隐藏​这个值”。​你的 agent 只看得到​名字,​永远看不到​值。

我的 agent 在对话中途加载​不了新工具,​怎么办?

就在这个对话里​继续。​你的 agent 装好的​客户端​自带命令行。​让 agent 直接运行​客户端的​命令,​就能马上做​同样的事,​账号​和项目​都不变。​下次 agent 启动,Tofu 工具​就有了。

即将支持

  • 让 agent 也能用 builder 修复 app 控制台上的“在 builder 里修复”​按钮​会在浏览器里​打开 Tofu builder,agent 用不了,​但可以用 repairContext 拿到​一份修复​说明,​直接​在你的代码里​把问题​修好。

  • 只让 agent 管一个 app,​或设成只读 现在 agent 连上 Tofu,​就能管你​所有的 app,​上面​这些事​都能做。​还不能只让它​管其中一个 app,​也不能设成​只读。

  • 让 agent 从 GitHub 导入代码 导入需要​你本人​在浏览器里​允许 Tofu 访问你的 GitHub 账号。agent 现在​能查看 app 和 GitHub 的连接​情况,​也能关掉​自动​更新。

粘贴​一段提示词。10 分钟上线

用你​已经在用的 agent,10 分钟,​把 app、​数据库、​域名和​登录​都弄好。

免费开始