1. 从 Playwright 脚本到可分发 EXE中间断了一截Claude Code 辅助 RPA 脚本生成这件事真正卡住人的地方往往不是能不能写出脚本而是脚本写完之后怎么变成一个双击就能跑、还能控制谁能用的 EXE。我见过太多人用 Claude Code 生成一段 Playwright 代码在开发机上跑得挺顺结果交给业务同事就傻眼对方电脑没有 Python、没有浏览器驱动、更不会配环境变量。于是又回到远程协助装环境的老路AI 省下来的时间全还回去了。这篇要解决的就是这段工程化链路以 Playwright 脚本为起点经蓝印RPA 封装成可视化流程最后打包成带授权管理的 EXE同时用 TaoToken 统一管理模型调用的 Key 和 API 通道让 Claude Code 生成脚本、RPA 引擎执行脚本这两件事共用一套配置不用在多个平台之间来回切换 Key。适合正在做跨系统数据同步、后台批量操作、需要把自动化交付给非技术同事的个人开发者和中小企业团队。核心检索词先摆清楚Claude Code 是 AI 编码助手负责生成和修改 Playwright 脚本蓝印RPA 是执行引擎负责把脚本落地成稳定流程并打包 EXETaoToken 是统一的模型 API 通道负责把模型调用的 Key 和地址收敛到一处。三者分工明确缺了中间任何一环链路都会断。2. TaoToken 前置把模型调用配置收敛到一处在讲配置之前先说清楚为什么需要 TaoToken 这一层。Claude Code 生成脚本时会调用模型蓝印RPA 里如果用到 AI 能力比如元素自愈、OCR 识图也会调用模型。如果每个工具各自配一套 Key、各自记一个地址时间一长就是灾难换 Key 要改五个地方排查问题不知道是哪个通道出的错。TaoToken 的作用就是把这些调用统一到一个 API 通道上。你只需要在 TaoToken 控制台创建一个 API Key然后在各个工具里填同一个地址和 Key。官网入口在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 基础地址是 https://taotoken.net/api 注意这个地址后面不加任何 UTM 参数配置时直接填这个就行。具体操作路径先到控制台创建 Key地址是 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 创建完在 API Keys 页面复制页面地址 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。如果你只是想先验证模型通不通可以用模型对话页面发一条测试消息地址 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。长期做编码和 Agent 的话Coding Plan 页面值得看一眼https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。注意API 地址统一用 https://taotoken.net/api 不要自己拼接路径也不要在末尾加斜杠否则部分客户端会报 404。3. 可复制配置config.toml 与 settings.json 骨架这一节给两份可以直接抄的配置。第一份是 Claude Code 侧的 config.toml第二份是蓝印RPA 或 CC Switch 侧的 settings.json。两份配置里的 Key 都指向同一个 TaoToken Key这样模型调用就统一了。3.1 config.toml 骨架# Claude Code 模型通道配置 # 统一走 TaoTokenKey 只维护这一份 [model] provider openai-compatible base_url https://taotoken.net/api api_key sk-你的TaoTokenKey model claude-3-7-sonnet timeout 120 [model.params] max_tokens 8192 temperature 0.2 # 生成 Playwright 脚本时的默认输出目录 [workspace] script_dir ./rpa_scripts export_dir ./rpa_export这里 base_url 填 https://taotoken.net/api api_key 填你在控制台创建的那串。temperature 建议压到 0.2 左右生成脚本时更稳定不容易出现天马行空的定位写法。3.2 settings.json 骨架{ api: { baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoTokenKey, defaultModel: claude-3-7-sonnet }, rpa: { engine: lanyin, scriptImportDir: ./rpa_scripts, exportFormat: exe, enableElementSelfHeal: true }, switch: { profiles: [dev, prod], active: dev } }enableElementSelfHeal 打开后蓝印RPA 在元素定位失效时会尝试自动修复这对付供应商网站改版特别有用。switch.profiles 是给 CC Switch 用的下面单独讲。3.3 CC Switch 切换配置片段CC Switch 的价值在于开发时用一套配置打包交付时切到另一套不用手动改文件。下面是一个可复制的切换片段。{ profiles: { dev: { baseUrl: https://taotoken.net/api, apiKey: sk-开发用Key, model: claude-3-7-sonnet, logLevel: debug }, prod: { baseUrl: https://taotoken.net/api, apiKey: sk-生产用Key, model: claude-3-7-sonnet, logLevel: warn } } }切换命令按 CC Switch 的实际 CLI 来通常是cc-switch use prod这种形式。切换后确认一下当前生效的 profile避免打包时误用了开发 Key。4. 验证请求与成功结果从脚本生成到 EXE 打包配置填完不能直接上生产得先验证链路通不通。这一节给一套动作清单按顺序做每步都有明确的成功标志。4.1 验证模型通道先用模型对话页面发一条消息确认 Key 有效。地址 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。成功标志是能正常收到回复没有 401 或 403。4.2 验证 Claude Code 生成脚本在 Claude Code 里给一句自然语言让它生成一段 Playwright 脚本。比如打开订单后台点击导出按钮等待下载完成。成功标志是生成的脚本里元素定位用的是 get_by_role 或 get_by_label 这类语义定位而不是硬编码的 xpath。from playwright.sync_api import sync_playwright with sync_playwright() as p: browser p.chromium.launch(headlessFalse) page browser.new_page() page.goto(https://example.com/orders) page.get_by_role(button, name导出数据).click() page.wait_for_event(download) browser.close()4.3 验证蓝印RPA 导入把生成的脚本导入蓝印RPA走AI 生成脚本一键转流程的入口。成功标志是脚本被拆成可视化节点而不是一整块黑盒代码。这一步很关键如果导入后还是纯代码块那可视化编排的意义就没了。4.4 验证元素自愈故意改一下页面元素的 class 或 id再跑一次流程。成功标志是流程没有直接崩而是触发了元素自愈自动找到新的定位路径继续执行。这一步能验证 enableElementSelfHeal 是否真的生效。4.5 验证 EXE 打包与授权在蓝印RPA 里选择打包导出 EXE设置授权方式和有效期。成功标志是导出的 EXE 在没装 Python 的机器上能直接双击运行且授权过期后无法启动。如果还支持在线推送更新再验证一次版本检测。验证项成功标志失败常见原因模型通道正常收到回复Key 错误或地址带斜杠脚本生成语义定位为主temperature 过高流程导入拆成可视化节点脚本含不支持的语法元素自愈改版后仍能跑自愈开关未打开EXE 打包无环境机器可运行缺少运行库或授权配置错5. 本篇常见错排查链路跑通之前大概率会踩几个坑。这里按出现频率排一下。第一个坑是 API 地址写错。很多人习惯在 base_url 末尾加/v1或斜杠结果请求 404。TaoToken 的地址就是 https://taotoken.net/api 不要自己拼路径。如果客户端强制要求/v1先确认客户端是否支持自定义完整路径。第二个坑是 Key 混用。开发用 Key 和生产用 Key 没分开打包出去的 EXE 里带着开发 Key一旦泄露影响面很大。用 CC Switch 的 profile 机制隔离打包前确认当前 profile 是 prod。第三个坑是脚本导入后节点丢失。Claude Code 生成的脚本如果用了蓝印RPA 不支持的库或语法导入时会丢节点。解决办法是生成脚本时限定只用 Playwright 标准 API不要引入额外的第三方库。第四个坑是元素自愈没生效。检查 settings.json 里 enableElementSelfHeal 是否为 true以及蓝印RPA 版本是否支持该功能。部分老版本需要手动在流程设置里开启。第五个坑是 EXE 打包后运行报缺少 DLL。这通常是打包时没勾选运行库依赖。在打包设置里把常用运行库勾上或者用静态编译模式。提示排查时优先看日志。config.toml 里 logLevel 设成 debug能看到每次模型请求的完整地址和返回码定位问题比猜快得多。6. 把 Key 和通道管好链路才跑得久回到最开始的问题Claude Code 生成脚本快但脚本到 EXE 这段工程化链路才是决定能不能交付的关键。这段链路里模型调用的 Key 和 API 通道如果散落在各个工具里维护成本会随着工具数量线性上升。用 TaoToken 把通道收敛到一处config.toml 和 settings.json 里只维护一份 KeyCC Switch 负责开发和生产环境的切换蓝印RPA 负责执行和打包分工就清楚了。如果你现在正卡在脚本能跑但交付不了的阶段建议先把 TaoToken 的 Key 建好把 config.toml 和 settings.json 按上面的骨架填一遍然后按第 4 节的验证清单逐项过。模型通道验证用模型对话页面最快地址 https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content Key 管理在 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 接入细节看文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 。长期做编码和 Agent 的话Coding Plan 页面 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content 可以对比一下成本。最后留一个实操建议打包 EXE 之前先在干净的虚拟机里跑一遍确认没有依赖开发机的环境变量。这一步能挡掉大部分在我电脑上好好的问题。
