不手写 API 文档用 Trae Agent 从 docstring 一路生成 OpenAPI【免费下载链接】trae-agentTrae Agent is an LLM-based agent for general purpose software engineering tasks.项目地址: https://gitcode.com/gh_mirrors/tr/trae-agent发版前好几个接口的入参改了名字README 里的示例却还停在上个迭代——你大概也遇过这种代码和文档各过各的局面。Trae Agent 的文档生成工具链就是冲着这件事来的用 LLM 把 docstring 变成 OpenAPI让 API 文档跟着代码走而不是追着代码改。先看到结果一条命令生成 OpenAPI 文档先别关心内部机制跑一条命令看产出trae run 扫描 src/api/users.py 的 docstring生成 /docs/api_spec.jsonOpenAPI 3.0 \ --working-dir /path/to/your/repo30 秒后你会在docs/下拿到类似这样的骨架{ openapi: 3.0.0, info: { title: Users API, version: 1.0.0 }, paths: { /users: { post: { summary: 创建新用户, operationId: create_user } } } }一句话能生成带paths的 OpenAPI 骨架这就是它想替你干的活。分清两个编辑工具怎么分工 工具能干活靠的是底下两个编辑引擎。理解它们的差别就看一句类比str_replace_based_edit_tool像拿着唯一锚点做外科手术你给一段确定能精确命中的原文old_str它原样换掉json_edit_tool则像对着结构图JSONPath往节点里塞数据、删节点。前者管纯文本——Markdown、HTML、代码文件都归它定位靠多行精确匹配old_str必须在整份文件里唯一否则它宁可不改。它暴露了view、create、str_replace、insert几个子命令还有个view_range能按行号区间看文件适合排错。后者只管 JSON靠 JSONPath 表达式定位$.paths[/users].post、$..key这种写法都支持操作是view、set、add、remove。改 OpenAPI 规范、配置文件这种结构化东西用它比整段文本替换稳得多。一句话概括两者边界见下维度str_replace_based_edit_tooljson_edit_tool处理对象纯文本Markdown/HTML/代码JSON 结构化文件定位方式多行精确匹配old_str须唯一JSONPath 表达式主要操作view / create / str_replace / insertview / set / add / remove想细看这两个工具的定义可以翻 trae_agent/tools/ 下的edit_tool.py和json_edit_tool.py。跑通从 docstring 生成 OpenAPI上面那条命令背后其实是三段接力。源头是一份符合 Google 风格的 docstringdef create_user(username: str, email: str) - dict: 创建新用户 Args: username: 用户登录名4-20 个字符 email: 用户邮箱需符合 RFC 5322 Returns: dict: 含 user_id 与 created_at Raises: ValueError: 用户名已存在或邮箱格式非法 Agent 先把这份注释解析成 OpenAPI 的字段再用json_edit_tool落一个空骨架trae run 用 json_edit_tool 在 /docs/api_spec.json 建 OpenAPI 3.0 骨架含 info 和空 paths骨架就位后往具体节点里填内容就交给 JSONPath 的addtrae run 用 json_edit_tool 对 /docs/api_spec.json 执行 addjson_path 为 $.paths[/users].post写入 summary、parameters、responses填充的 value 大致长这样{ summary: 创建新用户, parameters: [ { name: username, in: query, required: true, schema: { type: string } } ], responses: { 200: { description: 用户创建成功 } } }从注释到骨架再到填值整条链不用你手动拼 JSON这也是 docs/tools.md 里两个工具配合的典型用法。让文档和代码不再各过各的改完接口文档还没同步这正是下面这套标记机制要解决的。它把多版本共存和代码示例自动刷新合并成一条工作流。版本层面用注释标记给文档分区!-- VERSION: 2.0 -- ## 快速开始 安装命令pip install trae-agent2.0之后只要说把VERSION: 2.0那段安装命令换成2.1工具就会定位到那个标记区做替换别的版本不动。代码示例层面用SNIPPET标记把文档块和真实文件绑起来!-- SNIPPET: examples/create_user.py --一旦examples/create_user.py变了监听端就会比对指纹发现不一致再回头刷新文档里对应的代码块流程如下版本标记管哪段正文SNIPPET 管哪块代码两个加起来正文和示例都能自动跟上源码。接进 CI文档维护就不用盯了 ⚡本地跑通之后最后一步是让它自己转。把文档生成挂进 GitHub Actions每次 push 自动更新name: 文档自动生成 on: [push] jobs: generate-docs: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - run: pip install . - run: trae run 从 trae_agent/cli.py 提取命令参数更新 /docs/cli_reference.md - uses: stefanzweifel/git-auto-commit-actionv5 with: commit_message: docs: 自动更新 API 文档 file_pattern: docs/*.md这样 docs/ 下的文档就是代码即文档的 CI 产物不用人盯。批量编辑难免翻车所以工具链带事务回滚改完先校验校验不过就整批回滚。核心就这几行try: edit_tool.str_replace(path/docs/guide.md, old_str旧内容, new_str新内容) if not validate_docs(): raise ValidationError(文档校验失败) edit_tool.commit_transaction() except ValidationError: edit_tool.rollback_transaction()校验这一步能挡住大部分把格式改坏的操作配合上面的自动提交就是文档维护流水线的闭环。让大文档不卡、格式不崩 大文件怎么处理看规模分档如果文档小于 100KB直接全量加载内存占用很小。如果在 100KB 到 1MB 之间按章节分块处理。如果超过 1MB走流式避免一次性吃进内存。对应到排查动作几条经验格式乱了先用view配view_range把行号框出来比如[15, 20]看清再改。出现重复段落用str_replace匹配去重标记删掉。版本冲突时给对应区域上锁再单独处理别整份重写。原文给出的数据是文档维护成本能降 72%我自己的体感是省了差不多七成时间。还能往哪些方向玩这条链子现在还能往几个方向长结合图像描述自动补流程图和架构图、基于文档内容搭 RAG 问答、以及多语言翻译并保持术语一致。这些还在路上不必现在就上。现在就接上把仓库拉下来装上跑一条trae run试试git clone https://gitcode.com/gh_mirrors/tr/trae-agent cd trae-agent pip install .【免费下载链接】trae-agentTrae Agent is an LLM-based agent for general purpose software engineering tasks.项目地址: https://gitcode.com/gh_mirrors/tr/trae-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
企业数字化 ERP 产品动态
相关推荐
阅读书源导入三步搞定:22个书源开箱即用 阅读书源导入三步搞定:22个书源开箱即用 【免费下载链接】Yuedu 📚「阅读」自用书源分享 项目地址: https://gitcode.com/gh_mirrors/yu/Yuedu
这篇文章带你完成Yuedu书源导入。书源是一套小说网站的解析规则,导入后「阅读」APP即可在… · 2026/11/4 2:05:03
从 0 到 1 搭好一套 WMS:开源仓库管理系统 ModernWMS 快速上手指南 从 0 到 1 搭好一套 WMS:开源仓库管理系统 ModernWMS 快速上手指南 【免费下载链接】ModernWMS The open source simple and complete warehouse management system is derived from our many years of experience in implementing erp projects. We stripped the o… · 2026/11/4 2:04:03
高效学习日记:提升知识留存与认知迭代的实践指南 1. 项目概述"学习日记(2026年3月26日)"这个标题看似简单,实际上蕴含着一个高效学习者的完整知识管理体系。作为一名坚持写学习日记7年的实践者,我发现这种记录方式远比普通笔记更能提升学习效果。2026年3月26日这天的学… · 2026/11/4 2:54:20
智能汽车安全威胁全景:从API滥用、AI投毒到跨域攻击 1. 智能汽车与泛终端安全威胁全景解析作为一名在汽车电子安全领域摸爬滚打十年的老兵,我亲眼见证了车载系统代码量从百万行激增到上亿行的过程。记得2016年参与某德系品牌ECU开发时,我们还在为CAN总线加密算法争得面红耳赤,如今却要面对整车数… · 2026/11/4 2:54:20
软考数据库系统工程师复习:三层知识地图与易漏点清单 简介:面向软考数据库系统工程师考试的复习资料完全版,适合备考中级资格的在职开发者与计算机专业学生系统梳理考点。全书以单一 docx 文档整合十五章内容,压缩包约 2.93MB、共 1 个文件,按章节顺序编排,并附页码目录&a… · 2026/11/4 2:54:20
MySQL数据查询实验训练2:六类SQL查询骨架与避坑 简介:这份PDF实验指导书对应国家开放大学MySQL数据库应用课程实验训练2,聚焦数据查询操作,适合正在学习SQL基础、需要按实验步骤完成课堂练习与课后复盘的初学者。内容围绕字段查询、多条件筛选、DISTINCT去重、ORDER BY排序、GROUP BY分组及… · 2026/11/4 2:54:20
2026实时录音转文字工具实测与优化指南 1. 录音转文字技术现状与需求分析2026年的实时录音转文字市场已经进入成熟期,各类工具在准确率、响应速度和成本控制方面都有了显著提升。作为长期关注语音技术发展的从业者,我最近对市面上主流的7款工具进行了为期3个月的深度测试,发现不同工… · 2026/11/4 2:54:20
MySQL复合查询实战:从基础到高级优化 1. 复合查询基础概念解析MySQL中的复合查询是指通过组合多个简单查询语句构建更复杂的数据检索操作。这种查询方式在实际业务场景中极为常见,特别是当我们需要从多个维度分析数据或处理关联性较强的数据集时。复合查询的核心价值在于它能够:合并多个查询… · 2026/11/4 2:53:20
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46
AI辅助技术栈评估:提升研发决策效率60% 1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17
从生成Token到直接决策:Jev如何重塑AI Agent工程实践 1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17
32G统一内存跑大模型:内存账、TPS实测与端云分流 想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 6:04:24
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/3 5:52:46