AI DevSpace 实战:用 Agent 自动完成 GitCode 开源贡献任务
前言
在华为云 AI Agent 开发实践中心体验任务中,有几项需要在 GitCode 上完成开源贡献(Star 仓库、提 Issue)。传统做法是手动打开浏览器、逐个点击操作。但既然我们身处 AI DevSpace 环境,何不让 Agent 来帮我们完成?
本文记录了在 AI DevSpace 中,通过 GitCode 连接器 + OAuth 工具链,让 Agent 自动完成 Star 和 Issue 提交的全过程。不是教程搬运,是真实操作复盘。
背景:实践中心任务一览
AI Agent 开发实践中心(https://hands-on-agent.developer.huaweicloud.com/)设有四项实践任务:
| 任务 | 积分 | 操作方式 |
|---|---|---|
| 体验 AI DevSpace | +30 | 点击进入 DevSpace |
| Star 实践中心代码仓 | +50 | 在 GitCode 上 Star 指定仓库 |
| 给代码仓提 Issue | +60 | 在 GitCode 仓库创建 Issue |
| 绑定 GitCode 账号 | — | 平台绑定 GitCode 用户名 |
其中 Star 和 Issue 两个任务最有技术含量,也是本文的重点。
第一步:连接 GitCode 连接器
AI DevSpace 内置了 MCP 连接器机制,支持 GitCode、GitHub 等多个代码托管平台。
在 DevSpace 的连接器管理页面,找到 GitCode 连接器并完成 OAuth 授权。授权后,连接器状态变为 ready,即可通过 Agent 调用 GitCode API。
连接器提供了 42 个操作,涵盖仓库管理、Issue 管理、文件操作、分支管理、Merge Request 等。但值得注意的是——没有 Star 操作。这成为了后续解决问题的关键挑战。
第二步:定位目标仓库
实践中心的"去 Star"按钮指向 https://gitcode.com/agent-best-practices 组织页面。通过连接器的 search_repos 操作搜索该组织下的仓库,找到了组织门户仓库:
- 仓库:
agent-best-practices/Readme - 描述:AI Agent开发实践中心 组织门户:项目全景导航、快速实践体验入口、指导文档索引
- 现有 Star 数:145
这就是我们要 Star 的"实践中心代码仓"。
第三步:提交 Issue(连接器直接搞定)
连接器提供了 gitcode.create_issue 操作,可以直接创建 Issue。
在提交前,我先浏览了仓库现有的 Issue,了解社区反馈的风格和格式。发现已有的 Issue 多为结构化的改进建议,包含背景、复现步骤、期望行为等章节。
基于对实践中心页面的实际观察,我发现案例库区域在页面初始加载时显示"未找到匹配的案例",需要手动切换筛选标签才能看到内容。这是一个真实的 UI 体验问题,于是草拟了如下 Issue:
标题:案例库初始加载时显示"未找到匹配的案例",需手动切换筛选才显示内容
正文包含:问题描述、复现步骤、期望行为、实际行为、环境信息
通过连接器一键提交,Issue #117 创建成功。
关键点:Issue 的内容必须基于真实观察,而不是为了完成任务而灌水。社区维护者会审阅每一条 Issue,有价值的反馈才能双赢。
第四步:Star 仓库(曲线救国)
连接器没有 Star 操作,这是最大的障碍。解决方案分三步走:
4.1 安装 gitcode-oauth 工具
从 GitCode 仓库 zhoucungen/gitcode-oauth 下载对应平台的二进制文件(v0.0.6, linux-arm64),安装到本地 ~/.local/bin/。
这个工具支持通过 GitCode API v5 进行认证和 API 调用,关键是它的 get 命令支持所有 HTTP 方法(GET/POST/PUT/PATCH/DELETE),不限于 GET。
4.2 OAuth 扫码登录
启动本地 OAuth 服务器,生成二维码,用 GitCode App 扫码完成授权。Token 保存在 ~/.gitcode/auth.toml(权限 0600,仅所有者可读)。
4.3 调用 Star API
GitCode API v5 的 Star 端点不是 GitHub 风格的 PUT /user/starred/{owner}/{repo},而是:
gitcode-oauth get /repos/{owner}/{repo}/star -X POST
调用后返回:
{
"full_name": "agent-best-practices/Readme",
"star_count": 146,
"starred": true
}
Star 数从 145 变为 146,任务完成。
复盘与思考
做对了的:
- 先观察再行动:在提 Issue 前,先浏览了仓库现有 Issue 的风格,确保提交的内容符合社区规范。
- 真实反馈:Issue 基于对实践中心页面的实际观察,是真实的 UI 问题,不是编造的。
- 安全意识:OAuth token 存储在本地文件中,权限 0600,不泄露到任何外部服务。
走了弯路的:
- Star API 端点:一开始按 GitHub API 的习惯用
PUT /user/starred/{owner}/{repo},返回 404。GitCode 的 API 虽然兼容大部分 GitHub API,但 Star 端点路径不同,需要用POST /repos/{owner}/{repo}/star。 - gitcode-oauth 安装:最初用
releases/download/latest/install.sh路径下载安装脚本,返回 404。实际需要指定具体版本号(如v0.0.6)才能正确下载。
关于 AI DevSpace 的体验:
整个过程最深刻的感受是:DevSpace 里的 Agent 不是简单的代码生成器,而是能实际操作外部系统的执行者。它能够:
- 通过 MCP 连接器调用 GitCode API
- 在遇到工具能力不足时(没有 Star 操作),主动寻找替代方案
- 安装额外工具、完成 OAuth 认证、调用 API
这种"发现问题 → 寻找工具 → 解决问题"的闭环能力,才是 AI Agent 在真实业务场景中的价值所在。
结语
一次看似简单的"完成实践任务"的过程,实际涉及了 MCP 连接器、OAuth 认证、API 探索、工具安装等多个技术环节。希望这篇复盘能帮助其他开发者在 AI DevSpace 中更顺畅地完成类似任务。
如果你也在体验 AI Agent 开发实践中心,欢迎交流你的实践经验。实践中心仓库地址:https://gitcode.com/agent-best-practices
- 点赞
- 收藏
- 关注作者
评论(0)