当前位置: 首页 > news >正文

AI【应用 01】Trae Agent Gitee自动化辅助神器(使用 MCP tools 创建自定义 Trae Agent 的探索分享)

我用Trae 做了一个有意思的Agent 「Gitee自动化辅助神器」。 点击 https://s.trae.com.cn/a/b38cc4 立即复刻,一起来玩吧!

寻找地表最强 Trae Agent

  • 1.简介
    • 1.1 最初的想法
    • 1.2 实现的功能
  • 2.创作构思
    • 2.1 设计初衷(解决痛点)
    • 2.2 核心价值
    • 2.3 适用场景
  • 3.技术实现原理
    • 3.1 整体架构
    • 3.2 关键技术组件
  • 4.Prompt
  • 5.效果展示
    • 5.1 仓库创建
    • 5.2 issue 创建
  • 6.总结

1.简介

一个自动化管理源码的工具,实现上班前的代码自动拉取、合并,下班后的代码自动提交,让开发者只关心核心代码编写的辅助工具。其核心目标是简化重复性操作,提升开发者与 Gitee 交互的效率。

1.1 最初的想法

由于没有找到定时调度类的 MCP 服务器,设想是读取 Excel 文件里的命令,根据命令设置的执行时间进行接口调用,执行结束后将 MCP 服务的反馈结果保存回 Excel 里。设置了两个时间段的代码拉取与提交操作,设计的 Excel 文档格式如下:

命令ID命令内容执行时间状态时间戳错误信息返回数据
1合并拉取请求08:30:00成功2025-06-10T08:31:00Z{“code”: 0, “msg”: “执行成功”}
2代码提交11:50:00失败2025-06-10T11:51:00Z命令不存在{“code”: 404, “msg”: “命令不存在”}
3合并拉取请求13:30:00
4代码提交17:50:00

我使用的是 Gitee 作为源码管理的 MCP 服务器:

完整流程图为:

在这里插入图片描述

1.2 实现的功能

查看了 Gitee MCP 服务器提供的各种与 Gitee 交互的工具才发现没有跟 Push相关的命令,只有跟 Pull相关的命令,如下:

list_repo_pullsPull Request列出仓库中的拉取请求
merge_pullPull Request合并拉取请求
create_pullPull Request创建拉取请求
update_pullPull Request更新拉取请求
get_pull_detailPull Request获取拉取请求的详细信息
comment_pullPull Request评论拉取请求
list_pull_commentsPull Request列出拉取请求的所有评论

我发现 GitHub MCP Server 是有push_files工具的,但是我们没有使用 GitHub 进行代码管理,相信 Gitee MCP 服务器以后也会提供提交相关的命令的。修改后的 Excel 内容:

命令ID命令内容执行时间状态时间戳错误信息返回数据
1合并拉取请求08:30:00
2合并拉取请求13:30:00

2.创作构思

2.1 设计初衷(解决痛点)

  1. 开发者需要频繁手动操作 Gitee(如创建合并请求、管理分支),效率低下。
  2. Excel 作为常见的数据管理工具,缺乏与 Gitee 的直接联动能力。
  3. 传统脚本或工具需要复杂配置。
  4. 目标:通过 Agent 实现Excel指令 → Gitee操作 → 结果回写的自动化,降低人工操作成本,减少错误率。

2.2 核心价值

  1. 低门槛:用户只需在 Excel 中填写命令,无需编写代码或脚本。
  2. 动态交互:支持实时调用 Gitee API,并自动更新执行结果(如状态码、返回数据)。
  3. 可扩展性:通过 MCP 协议灵活集成其他工具(如文件系统、日志记录)。

2.3 适用场景

  • 批量创建或更新 Gitee 合并请求。
  • 自动化同步本地 Excel 配置到 Gitee 仓库(如自动化部署脚本)。
  • 实时监控 Gitee 仓库状态并反馈到 Excel(如CI/CD流程结果)。

3.技术实现原理

3.1 整体架构

  • 输入层:Excel文件作为指令来源(如合并请求标题、目标分支等)。
  • 逻辑层:Agent 解析 Excel 内容,通过 MCP 调用 Gitee API。
  • 输出层:将 API 执行结果(成功/失败、错误信息等)写入Excel。

3.2 关键技术组件

MCP 作为桥梁连接 Excel、Gitee API 和 Agent,定义工具调用规范:

  • Agent 通过 MCP 发现可用工具(如gitee_api_tool)。
  • 使用Excel MCP Server解析 Excel 指令,调用Gitee MCP Server发送命令请求。
  • 将返回结果通过Excel MCP Server写入 Excel。
  1. Excel

使用Excel MCP Server实现读写Excel文件,通过读取 Excel 中的各个字段,作为 API 参数。

  1. Gitee

使用Gitee MCP Server调用 Gitee 的 URL,传递认证令牌(如私人令牌)和参数,举例:

  • 合并拉取请求:POST https://gitee.com/api/v5/repos/{owner}/{repo}/**merge_pull**
  • 搜索用户:GET https://gitee.com/api/v5/repos/{owner}/{repo}/**search_users**
  • 错误处理与日志
    • 捕获网络异常(如超时、认证失败)并记录到 Excel 的错误信息字段。
    • 支持重试机制(如失败后自动重新调用API)。

4.Prompt

// 角色设定
你是一个自动化代理,负责从Excel文件中读取命令,调用Gitee的MCP服务,并将调用结果整理后记录回Excel。// 任务目标
1. 读取Excel文件中的命令列表(每行包含一个命令,如合并请求标题、执行时间等)。
2. 对每个命令执行以下操作:- 调用Gitee MCP 服务(例如:合并拉取请求)。- 解析服务返回结果(如合并拉取请求ID、状态)。
3. 将调用结果写入Excel文件:- 成功时:记录合并请求ID、状态、时间戳。- 失败时:记录错误代码、错误信息、时间戳。
4. 如果遇到异常(如网络中断或API认证失败),停止后续操作并返回错误日志。// 输入参数
- Excel文件路径:`./commands.xlsx`
- Gitee MCP GITEE_ACCESS_TOKEN`gitee_access_token`
- API基础URL`https://gitee.com/api/v5`// 输出要求
1. 控制台输出:- 成功时:`已处理 [X] 条命令,结果已保存到 commands.xlsx`- 失败时:`第 [N] 条命令失败:[错误原因]`
2. Excel文件格式:
| 命令ID | 命令内容     | 执行时间 | 状态 | 时间戳 | 错误信息 | 返回数据 |
| ------ | ------------ | -------- | ---- | ------ | -------- | -------- |
| 1      | 合并拉取请求 | 08:30:00 |      |        |          |          |
| 2      | 合并拉取请求 | 13:30:00 |      |        |          |          |// 示例输入(Excel文件内容)
命令内容:创建合并请求
目标分支:main
源分支:trae_aget// 示例输出(控制台)
已处理 2 条命令,结果已保存到 commands.xlsx// 示例输出(Excel)
| 命令ID | 命令内容     | 执行时间 | 状态 | 时间戳 | 错误信息 | 返回数据 |
| ------ | ------------ | -------- | ---- | ------ | -------- | -------- |
| 1      | 合并拉取请求 | 08:30:00 | 成功| 2025-06-10T08:31:00Z|          |{"code": 0, "msg": "执行成功"}|
| 2      | 合并拉取请求 | 13:30:00 | 失败| 2025-06-10T13:31:00Z|          |{"code": 404, "msg": "命令不存在"}|

5.效果展示

5.1 仓库创建

能够 AI 改错是真的挺好的:

去 Gitee 查看仓库,发现已经创建成功了:

5.2 issue 创建

查看结果也是创建成功了:

6.总结

使用命令进行仓库、issue 的创建还是很惊艳的,但是 Excel MCP 服务有一些问题。

使用 Excel MCP 服务创建的文件无法打开,可能是我的 Excel 版本较低导致的。

自己创建的文件 Excel MCP 服务可以读取数据但是无法写入。

相关文章:

  • Web 架构之服务网格(Service Mesh)实战解析
  • OpenGL ES绘制3D图形以及设置视口
  • 【第一章:人工智能基础】03.算法分析与设计-(1)算法复杂度分析
  • 记一次Android的逆向
  • 【多智能体】基于嵌套进化算法的多代理工作流
  • Android多媒体——同步Video显示时间(二十二)
  • 【android bluetooth 框架分析 04】【bt-framework 层详解 4】【AdapterState介绍】
  • git撤回commit
  • 流批一体向量化引擎Flex
  • 前端面试六之axios
  • 黑马教程强化day2-2
  • markdown文本转换时序图
  • 深入理解 TCP 套接字:Socket 编程入门教程
  • 数组方法_push()/pop()/数组方法_shift()/unshift()
  • 滚动—横向滚动时,如何直接滚动到对应的内容板块
  • `document.domain` API 的废弃与现代 Web 开发的转型
  • 从 8 秒到 1 秒:前端性能优化的 12 个关键操作
  • Maven 构建性能优化深度剖析:原理、策略与实践
  • CKA考试知识点分享(10)---NetworkPolicy
  • 深入浅出:C++深拷贝与浅拷贝
  • 网站专题页怎么做/百度做广告怎么做
  • 高品质的网站设计制作/上海有什么seo公司
  • 网站两边的悬浮框怎么做/深圳网络seo推广
  • 买完域名后怎么做网站/云南百度公司
  • 网站产品内页设计/5g站长工具查询
  • 我制作了一个网站/焦作网络推广哪家好