恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
TRAE 跑 Builder 模式生成 Flask 项目骨架:Key 用 TaoToken
首页
资讯中心
/
TRAE 跑 Builder 模式生成 Flask 项目骨架:Key 用 TaoToken
TRAE 跑 Builder 模式生成 Flask 项目骨架:Key 用 TaoToken
发布时间:2026/9/20 18:36:00
1. 从一句中文需求到可运行骨架TRAE Builder 模式复现记TRAE 的 Builder 模式是什么简单说它接收一句中文需求后能直接生成一个可运行的 Flask 项目骨架包含路由、数据库配置和模块划分。它适合谁适合正在做课程设计、毕业设计或者想快速验证一个后端想法的学生开发者。我这次要复现的场景很具体用一句中文描述“校园二手交易平台后端”让 Builder 模式生成 Flask 骨架再用 Work 模式修正商品列表接口的分页统计和驼峰命名问题。整个过程是一个典型的 Agent 任务编排——需求描述、代码生成、问题发现、口令修正、验证请求每一步都对应真实开发中的动作。但这里有个关键前提Builder 和 Work 模式都需要调用大模型而模型调用需要一把 API Key。原文里用的是 TRAE 内置模型但如果你想统一计量 Token 消耗、或者想换用其他模型通道就需要把 Base URL 指向一个兼容 OpenAI 协议的接口。我这次用的是 TaoToken 这条统一通道下面会把创建 Key、配置 Base URL、生成骨架、修正接口、验证请求的完整过程走一遍。你跟着做应该能在半小时内跑通。2. 前置准备在 TaoToken 创建 Key 并配置 TRAE 模型通道2.1 为什么需要单独配 KeyTRAE 基础版自带模型额度日常补全够用。但 Builder 模式生成完整项目骨架、Work 模式做多轮迭代修正时Token 消耗会明显上升。如果你想把这两类 Agent 任务的消耗统一计量或者想在同一把 Key 下切换模型就需要在 TRAE 的模型设置里手动配置 Base URL 和 API Key。TaoToken 提供的就是这样一个兼容 OpenAI 协议的通道Base URL 填https://taotoken.net/apiKey 在控制台创建。2.2 创建 API Key 的步骤打开https://taotoken.net/?utm_sourcetaotoken_aicg_blog_end进入控制台注册或登录后找到 API Keys 页面。点击创建新 Key给它起个名字比如trae-builder-test方便后面区分用途。创建完成后复制 Key注意它只显示一次丢了就得重新建。这里有个小坑不要把 Key 直接写进代码文件里后面我会讲怎么在 TRAE 里配置环境变量或模型设置。2.3 在 TRAE 里配置 Base URL打开 TRAE 的设置找到模型配置区域。把 Base URL 改成https://taotoken.net/apiAPI Key 粘贴刚才复制的那串。模型名称按你实际要用的填比如gpt-4o或claude-3-5-sonnet这类兼容模型标识。配置完成后Builder 和 Work 模式都会走这条通道调用模型。你可以先在模型对话里发一句“你好”测试连通性确认返回正常再进 Builder。注意Base URL 末尾不要多加/v1或斜杠直接填https://taotoken.net/api即可TRAE 会自动拼接路径。3. 可复制配置Builder 模式生成 Flask 校园二手交易骨架3.1 用中文描述需求在 TRAE 里新建一个空项目文件夹打开 Builder 模式。输入下面这句中文需求尽量把模块和约束说清楚帮我搭建一个基于 Flask 的校园二手交易平台后端框架包含商品、用户、订单三个模块要有基本的路由结构和 SQLite 数据库配置商品列表接口需要支持分页。Builder 模式会开始生成项目结构。实测下来大概两三分钟就能看到文件树出现。生成的核心文件包括app.py、models.py、routes/目录下的product.py、user.py、order.py以及一个config.py。数据库默认用 SQLite文件名为market.db。3.2 生成后的目录结构生成完成后目录大概长这样flask-campus-market/ ├── app.py ├── config.py ├── models.py ├── routes/ │ ├── __init__.py │ ├── product.py │ ├── user.py │ └── order.py └── requirements.txtapp.py里注册了蓝图config.py里写了数据库路径和分页默认值。routes/product.py里已经有一个商品列表接口的初版实现但分页统计和字段命名需要修正。这正是原文里提到的典型问题Builder 生成的骨架能跑但细节需要 Work 模式迭代。3.3 安装依赖并启动在终端里执行cd flask-campus-market pip install -r requirements.txt python app.py如果看到Running on http://127.0.0.1:5000说明骨架已经能跑起来。此时访问/products会返回一个 JSON但total字段是当前页数量不是数据库总条数字段名也是下划线风格。接下来用 Work 模式修正。4. 验证请求Work 模式修正分页统计与驼峰命名4.1 修正口令的写法在 TRAE 的 Work 模式里选中routes/product.py输入下面这段修正口令商品列表字段改成驼峰命名id、productName、price、originalPrice、sellerId、publishTime分页要统计数据库总条数异常处理要加自定义错误码分页最大不能超过100条。Work 模式会基于当前文件内容做迭代而不是重新生成整个项目。这一点很关键它保留了 Builder 生成的路由结构和数据库连接逻辑只改你指定的部分。4.2 修正后的关键代码修正后get_products函数和路由大概是这样from flask import Blueprint, request, jsonify import sqlite3 product_bp Blueprint(product, __name__) def get_products(page1, page_size10): conn sqlite3.connect(market.db) cursor conn.cursor() cursor.execute(SELECT COUNT(*) FROM products) total cursor.fetchone()[0] offset (page - 1) * page_size cursor.execute( SELECT id, product_name, price, original_price, seller_id, publish_time FROM products LIMIT ? OFFSET ?, (page_size, offset) ) raw_products cursor.fetchall() conn.close() products [] for p in raw_products: products.append({ id: p[0], productName: p[1], price: p[2], originalPrice: p[3], sellerId: p[4], publishTime: p[5] }) return products, total product_bp.route(/products, methods[GET]) def list_products(): try: page int(request.args.get(page, 1)) page_size min(int(request.args.get(page_size, 10)), 100) if page 1: return jsonify({code: 4001, msg: 页码不能小于1}), 400 if page_size 1: return jsonify({code: 4002, msg: 每页数量不能小于1}), 400 products, total get_products(page, page_size) return jsonify({ code: 0, data: { list: products, total: total, page: page, pageSize: page_size }, msg: success }) except ValueError: return jsonify({code: 4000, msg: 参数格式错误}), 400 except Exception as e: return jsonify({code: 5000, msg: f服务器内部错误: {str(e)}}), 500注意LIMIT ? OFFSET ?用了参数化查询避免拼接 SQL。分页上限用min(..., 100)限制防止一次拉太多数据。4.3 用 curl 验证返回重启 Flask 后执行curl http://127.0.0.1:5000/products?page1page_size5返回的 JSON 里data.total应该是数据库总条数data.list里的字段名是驼峰风格。如果total还是 5说明修正没生效检查 Work 模式是否真的改写了get_products函数。你可以再发一次请求把page_size改成 200看是否被限制到 100以此验证上限逻辑。5. 本篇常见错排查5.1 401 或 403Key 没配对如果 Builder 或 Work 模式报 401先检查 TRAE 模型设置里的 API Key 是否粘贴完整Base URL 是否写成https://taotoken.net/api。有时候复制 Key 会带上空格手动删掉首尾空白再试。如果还是 401去控制台确认 Key 是否被禁用或额度用完。5.2 分页 total 不对SQL 没改到Work 模式有时只改了路由层没改get_products里的COUNT(*)查询。打开routes/product.py确认cursor.execute(SELECT COUNT(*) FROM products)这一行存在并且total是从fetchone()[0]取的。如果还是当前页数量说明 Work 模式没选中正确文件重新选中product.py再发一次修正口令。5.3 字段名还是下划线转换逻辑缺失检查products.append里的字典键名是否写成了productName而不是product_name。如果数据库查询用了SELECT *字段顺序可能和预期不一致建议显式写出列名。另外如果前端仍然报 undefined用浏览器开发者工具看实际返回的 JSON 键名确认是驼峰后再排查前端解析逻辑。5.4 数据库表不存在没建表Builder 生成的骨架可能只建了连接没建表。你需要在app.py启动前执行建表语句或者手动用 SQLite 命令行创建products表。表字段至少包含id、product_name、price、original_price、seller_id、publish_time。没有表的话COUNT(*)会报错接口返回 5000。5.5 端口被占用换端口启动如果python app.py报Address already in use说明 5000 端口被占。可以在app.py里改app.run(port5001)或者先杀掉占用进程。这个错误和模型配置无关但会挡住验证步骤先解决再测接口。6. 把 Agent 任务编排固定成可复用流程这套流程跑通后你可以把它固定成自己的 Agent 任务编排模板Builder 负责从零生成骨架Work 负责按口令迭代修正TaoToken 这条通道统一计量 Token 消耗。下次做新项目时只需要换一句中文需求重复“生成、修正、验证”三步。如果你主要做长期编码或 Agent 类任务可以看看 Coding Plan 的额度方案如果只是想先验证模型对话是否通模型对话页面就能直接试。接入文档里有更详细的 Base URL 和参数说明配 Key 遇到问题可以先翻 API Keys 页面确认状态。整套流程里最值得保留的习惯是每次修正都写清楚字段名、分页规则和错误码这样 Work 模式才能一次改对少走回头路。