ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

给你的 AI Agent 一台“电脑”:Cloudflare Computer 深度解读与 TaoToken 接入实践

给你的 AI Agent 一台“电脑”:Cloudflare Computer 深度解读与 TaoToken 接入实践 1. 为什么你的 Agent 需要一个“持久化工作台”如果你写过稍微复杂一点的 AI Agent大概率经历过这种尴尬Agent 上一轮刚把代码文件写到/tmp/workspace下一轮对话它却一脸无辜地问你“文件在哪”。这不是模型笨而是你给它的运行环境本身就是一次性的——每次请求结束沙箱销毁文件系统跟着蒸发。传统的解法是给 Agent 挂一个 Docker 容器。听起来很美好但真跑起来问题一堆。冷启动动辄三五秒一个会话一个容器成本蹭蹭往上涨容器一销毁里面辛苦生成的中间产物全没了更别扭的是很多任务其实只是读写几个 Markdown、跑一段几十行的脚本却要为此拉起一个完整的 Linux 用户态典型的“杀鸡用牛刀”。Cloudflare Computer 想解决的就是这件事。它的核心判断很朴素Agent 真正需要的不是容器而是一台“电脑”——一套持久化的文件系统加上一个可以按需切换的执行单元。容器只是这台电脑众多可能的“CPU”之一而不是必需品。文件系统是主角执行方式是插件。这篇文章我会带你把这套思路跑通并且把模型调用这一环用 TaoToken 统一 Key/API 通道接上。你最终会得到一个可复制的配置片段、一套 Agent 工具链对接步骤以及一次端到端的调用验证。适合正在做 Coding Agent、自动化脚本 Agent或者单纯想给 Agent 一个“能记住事”的工作目录的开发者。2. Cloudflare Computer 架构拆解与 TaoToken 前置准备先把 Cloudflare Computer 的骨架讲清楚不然后面配置会一头雾水。它的持久化底座是 Durable Object状态存在 SQLite 里通过workspace.runtime暴露一个可插拔的执行接口。你可以把它理解成文件系统是常驻的、权威的、不依赖某个具体运行环境而存在执行后端是临时的、可替换的。目前官方给了三种后端Container 后端把 SQLite 状态投影进沙箱容器形成真正的 FUSE 挂载容器内的computerd守护进程负责挂载并通过 capnweb RPC 把变更同步回去。它有完整的 Linux 用户态、真实二进制和网络访问适合跑 pandoc、编译工具链这类重活。Isolate Shell 后端在 Dynamic Worker 里跑 just-bash通过 Workers RPC 直接访问权威 Workspace没有容器、没有额外同步启动快适合轻量 shell 操作。Isolate JavaScript 后端在全新的 Dynamic Worker 里跑一个 ECMAScript 模块支持结构化输入输出、持久化相对路径导入、基于 Workspace 的node:fs/promises适合纯逻辑计算。一个 Workspace 可以同时注册多个后端统一入口是workspace.runtime.exec(source, { backend })用哪个后端由调用者按任务决定后端首次使用时才懒连接。甚至可以不挂任何后端这时它就是一个纯文件系统。现在说模型调用这一环。Agent 要自主决定读文件、写文件、执行代码背后必须有一个支持 Tool Use 的模型在驱动。这里我用 TaoToken 作为统一的模型通道好处是你不用在项目里散落一堆不同厂商的 Key 和 Base URL一个 Key 走天下切换模型只改一个 Model ID。前置准备很简单去 TaoToken 官网注册后在控制台创建一个 API Key。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 控制台入口在 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsoleutm_campaignrewrite API Key 管理页在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi-keysutm_campaignrewrite 。API 的基础地址统一用 https://taotoken.net/api 注意这个地址不带任何查询参数。拿到 Key 之后先别急着写 Agent我们下一节先把配置片段落地。3. 可复制的 Base URL 与 Key 配置片段这一节是全文最该抄作业的部分。我按不同工具链给你三套配置路径和字段名都对齐真实文件你直接改 Key 就能用。第一套是给 Claude Code 用的。Claude Code 读取的是项目根目录或用户目录下的 settings 文件推荐放在项目里的.claude/settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: sk-你的TaoToken密钥, ANTHROPIC_MODEL: claude-sonnet-4-20250514 } }这里三个字段缺一不可Base URL 指向 TaoToken 的 API 地址AUTH_TOKEN 填你创建的 KeyMODEL 填你要用的 Model ID。Claude Code 的接入文档在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 遇到字段疑问可以对照。第二套是给 Cline 这类 VS Code 插件用的。Cline 的配置走的是 MCP 和模型 Provider 两条线模型侧在插件设置里选 “OpenAI Compatible”然后填{ provider: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥, modelId: claude-sonnet-4-20250514 }注意 Cline 里 Base URL 不要带/v1后缀TaoToken 的 API 地址已经处理好了路径。如果你用的是 Cline MCP 模式去挂 Cloudflare Computer 的工具MCP server 的启动命令单独配模型通道还是走上面这段。第三套是给 Codex 用的它读的是~/.codex/auth.json{ OPENAI_BASE_URL: https://taotoken.net/api, OPENAI_API_KEY: sk-你的TaoToken密钥, model: claude-sonnet-4-20250514 }三套配置的共同点是Base URL 固定https://taotoken.net/apiKey 固定你创建的那一个Model ID 按需替换。这就是统一通道的价值——你的 Agent 项目里只需要维护一份凭证。配置写完后建议先用一个最小请求验证通道是否通再往下接 Cloudflare Computer。验证命令curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的TaoToken密钥 \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 回复 ok}] }返回里能看到choices数组且内容正常说明通道没问题。这一步别跳过后面 Agent 报错时你能快速判断是模型通道的问题还是 Computer 的问题。4. Agent 工具链对接与端到端调用验证配置通了现在把 Cloudflare Computer 接进来。先在你的 Worker 或 Agent 项目里装核心包npm install cloudflare/computer然后在 Agent 的 Durable Object 里挂载 Workspace。官方博客给过一个 Bug 分诊 Agent 的典型场景我把它简化成可跟做的版本async startTask(report: { title: string; body: string; repoUrl: string }) { await this.workspace.fs.mkdir(/workspace, { recursive: true }); await this.workspace.fs.writeFile( /workspace/TASK.md, # ${report.title}\n\n${report.body}\n, ); await this.workspace.git.clone({ url: report.repoUrl, dir: /workspace/repo }); const result await this.workspace.runtime.exec( ls -la /workspace/repo cat /workspace/TASK.md, { backend: isolate-shell } ); return result; }这里workspace.fs提供和 Worker 绑定兼容的文件读写workspace.git、workspace.runtime是即插即用模块。runtime.exec的第二个参数指定后端轻量任务用isolate-shell需要真实 Linux 环境时换成container。如果你不想手搓工具官方打包了一套 AI SDK 工具read、write、edit、ls以及可选的exec和publish。你可以直接把这些工具丢给支持 Tool Use 的模型让它自主决定何时读、写、执行。模型这一侧就走我们上一节配好的 TaoToken 通道。现在做一次端到端验证。我建议从官方examples/tutorial入手它跑的是“Agent 写一份 Markdown 菜谱再到容器里跑 pandoc 转成 PDF”的完整链路。跑通它你就理解了 Workspace Runtime 的配合方式。验证时重点看三件事文件是否写进了持久化 Workspace、runtime.exec是否返回了预期输出、切换后端后同一份文件是否还在。一个容易忽略的点Workspace 甚至可以不挂任何执行后端单独使用这时它就是纯文件系统。如果你的 Agent 只需要读写文件、不需要跑代码直接这么用最省资源。5. 本篇常见报错排查接入过程中我踩过的坑集中在几个报错上逐个说。第一个是401 Unauthorized。九成是 Key 填错或 Base URL 带了多余路径。检查你的配置里 Base URL 是不是严格的https://taotoken.net/api不要自作主张加/v1。Key 注意有没有复制时带上空格。如果用的是 Claude Code确认字段名是ANTHROPIC_AUTH_TOKEN而不是ANTHROPIC_API_KEY这两个不通用。第二个是local proxy failed。这个报错通常出现在你本地起了代理层再转发到 TaoToken 的场景。先确认你的请求是直连https://taotoken.net/api中间不要再套一层本地转发。如果你在 Cline 里看到这个检查 Provider 是不是选成了需要本地代理的模式换成 OpenAI Compatible 直填 Base URL。第三个是reading choices相关报错比如cannot read property choices of undefined。这说明请求发出去了但返回体结构不对常见原因是 Model ID 写错服务端返回了错误对象而不是正常的 chat completion。把 Model ID 换成确认可用的值再试同时用第 3 节的 curl 命令单独验证通道。第四个是 OAuth 相关报错。如果你在 Claude Code 里看到 OAuth 流程被触发说明它没走 AUTH_TOKEN 而是想走交互式登录。确认 settings.json 里ANTHROPIC_AUTH_TOKEN已正确设置并且没有残留的 OAuth 凭证文件干扰。第五个是 Cloudflare Computer 侧的backend not registered。这通常是你调用了某个后端但没在 Workspace 初始化时注册。检查你的 Workspace 配置里是否把isolate-shell或container加进了后端列表后端是懒连接但前提是得先注册。排查顺序建议先用 curl 验证 TaoToken 通道再验证 Computer 的 Workspace 读写最后才验证两者串联。分层排查能省你大量时间。6. 把模型通道和运行环境都收拢到一处Cloudflare Computer 目前是预览版API 还会变动官方也明确说不建议直接上生产。但它的架构思路值得你现在就吃透文件系统与执行环境解耦持久化状态用 Durable Object SQLite 兜底执行后端按任务轻重切换。这套设计回应的是一个越来越明显的趋势——Coding Agent 需要的不是又一个隔离沙箱而是一台可以持续使用、按需伸缩的虚拟电脑。模型调用这一侧用 TaoToken 把 Base URL、Key、Model ID 三件套收拢成一份配置你的 Agent 项目里就不会散落一堆厂商凭证。需要长期跑编码任务或 Agent 工作流的话可以了解下 Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding-planutm_campaignrewrite 。想先验证模型对话效果模型对话入口在 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchatutm_campaignrewrite 。接入文档统一在 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 。我的建议是先把examples/tutorial跑通再把你的 Agent 工具链接进去最后用第 3 节的 curl 做一次回归验证。这套流程走完你就有了一个能记住事、能跑代码、模型通道统一的 Agent 工作台。
返回列表