首页 > 最新动态 > CCF官方发布|GitLink CLI:为智能时代设计的开源协作工具
最新动态
CCF官方发布|GitLink CLI:为智能时代设计的开源协作工具
2026-04-1723


当下,AI Agent 和大模型已成为开发工具链的核心驱动力。GitHub Copilot、Claude Code 等 AI 编程助手的出现,让开发者意识到一个新的范式:工具不再只为人类设计,更要为 AI 设计。

GitLink 作为 CCF 官方开源协作平台,提供了 490+ API 端点支持完整的GitLink工作流。然而,缺少官方 CLI 工具一直是用户的痛点。更重要的是,缺少为 AI Agent 优化的工具链。

GitLink-CLI 应运而生。这不仅是一个命令行工具,更是一个为大模型设计的协作平台接口。它通过 CLI 和 Skills 两层体系,让 AI Agent 能够自动化操作 GitLink 平台,支持创建仓库、管理 Issue、审查 PR、生成发布说明、管理 CI/CD 等全流程操作。




项目特点



完全开源

MulanPSL-2.0 许可证,欢迎社区贡献

AI 优先

为大模型设计,内置 11 个 Agent Skills

三层架构

从快捷命令到原始 API,满足不同场景

即插即用

无需编码,直接在 AI 编程工具中使用




一、快速安装



温馨提示:本文所有代码内容

向右滑动即可查看完整版本。

方式一:npm 安装(推荐)

# 安装 CLInpm install -g @gitlink-ai/clibr# 安装 Skills(Build For AI Agent)npx skills add ccfos/gitlink-cli/skills -y -g

依赖:Node.js 14+


方式二:从源码构建

git clone https://www.gitlink.org.cn/Gitlink/gitlink-cli.gitcd gitlink-climake installbr# 安装 Skills(Build For AI Agent)npx skills add ./skills -y -g

依赖:Go 1.21+


首次使用

gitlink-cli config init    # 初始化配置(交互式引导)gitlink-cli auth login     # 登录gitlink-cli user +me       # 验证

从安装到第一次 API 调用,三步搞定。





二、使用方式:CLI + Skills 双引擎



2.1 CLI:三层命令体系

gitlink-cli 采用分层设计,从高频快捷命令到原始 API 调用,满足不同用户的需求:

Layer 1: Shortcuts(快捷命令)

面向高频场景的语义化封装,43 个快捷命令覆盖日常操作:

# 仓库操作gitlink-cli repo +create --name my-projectgitlink-cli repo +listgitlink-cli repo +infobr# Issue 管理gitlink-cli issue +create --title "Bug: Login failed"gitlink-cli issue +list --state opengitlink-cli issue +close --id 123br# PR 操作gitlink-cli pr +create --title "feat: Add search" --head feature/search --base maingitlink-cli pr +list --state opengitlink-cli pr +merge --id 42br# 其他操作gitlink-cli branch +listgitlink-cli release +create --tag v1.0.0gitlink-cli search +repos --keyword "machine learning"

Layer 2: API Commands(元数据驱动)

自动从元数据生成,覆盖 84+ 常用端点,提供更细粒度的控制:

gitlink-cli repos listgitlink-cli repos get --owner Gitlink --repo forgeplusgitlink-cli issues list --owner Gitlink --repo forgeplus --state opengitlink-cli pulls create --owner Gitlink --repo forgeplus --title "..." --head dev --base main

Layer 3: Raw API(原始调用)

完整覆盖 490+ API 端点,提供无限灵活性:

# GET 请求gitlink-cli api GET /users/mebr# POST 请求gitlink-cli api POST /Gitlink/forgeplus/issues --body '{"subject":"test","description":"..."}'br# 带查询参数gitlink-cli api GET /Gitlink/forgeplus/commits --query 'page=1&limit=5'


2.2 Skills:AI Agent 工具包

gitlink-cli 内置 11 个 Agent Skills,让 AI 编程工具(Claude Code、Cursor、Windsurf 等)能够自动化操作 GitLink:

gitlink-shared          # 共享规则(认证、全局参数、安全规则)gitlink-repo            # 仓库操作(创建、克隆、fork、删除)gitlink-issue           # Issue 操作(创建、列表、关闭、评论)gitlink-pr              # PR 操作(创建、审查、合并)gitlink-branch          # 分支管理(创建、保护、删除)gitlink-release         # 发布管理(创建、下载)gitlink-org             # 组织管理(成员、权限)gitlink-ci              # CI/CD 操作(构建、日志、重启)gitlink-search          # 搜索(仓库、用户)gitlink-user            # 用户管理(个人信息、设置)gitlink-workflow        # AI 自动化工作流(Issue 分类、PR Review、Release Notes)

使用示例:

用户: "帮我创建一个新仓库,然后创建一个 Issue"brClaude Code / Cursor / Windsurf / 其他 AI 编程工具:1. 加载 gitlink-shared Skill(认证、全局参数)2. 加载 gitlink-repo Skill(仓库操作)3. 加载 gitlink-issue Skill(Issue 操作)4. 执行:gitlink-cli repo +create --name my-project5. 执行:gitlink-cli issue +create --title "Initial setup"6. 返回结果给用户


2.3 CLI 作为 Skill 的调用工具

从架构角度看,CLI 是 Skill 的底层调用工具:

┌─────────────────────────────────────┐│  AI 编程工具                        ││  (Claude Code / Cursor / Windsurf)  │└──────────────┬──────────────────────┘               │ 加载 Skills┌──────────────▼──────────────────────┐│  gitlink-workflow Skill             ││  gitlink-issue Skill                ││  gitlink-pr Skill                   │└──────────────┬──────────────────────┘               │ 调用 CLI 命令┌──────────────▼──────────────────────┐│  gitlink-cli (三层命令体系)         ││  - Shortcuts (43 个快捷命令)        ││  - API Commands(84+ 常用端点)      ││  - Raw API(490+ 全量端点)          │└──────────────┬──────────────────────┘               │ HTTP 请求┌──────────────▼──────────────────────┐│  GitLink API                        │└─────────────────────────────────────┘

这种设计的优势:

  • AI 友好:Skill 提供高级语义,AI 无需理解底层 API

  • 易于维护:CLI 更新时,Skill 自动适配

  • 灵活扩展:新增 API 只需更新 CLI,Skill 无需改动

  • 工具无关:支持任何 AI 编程工具




三、使用场景



3.1 日常仓库管理

# 创建新仓库gitlink-cli repo +create --name my-project --description "My awesome project"br# 列出所有仓库gitlink-cli repo +listbr# 查看仓库信息(自动从 git remote 解析)cd ~/my-projectgitlink-cli repo +infobr# Fork 仓库gitlink-cli repo +fork --owner original-owner --repo original-repo


3.2 Issue 和 PR 工作流

# 创建 Issuegitlink-cli issue +create --title "Bug: Login failed" --body "Steps to reproduce..."br# 列出开放的 Issuegitlink-cli issue +list --state openbr# 关闭 Issuegitlink-cli issue +close --id 123br# 创建 PRgitlink-cli pr +create --title "feat: Add search" --head feature/search --base mainbr# 列出待审查的 PRgitlink-cli pr +list --state openbr# 合并 PRgitlink-cli pr +merge --id 42


3.3 CI/CD 集成

# 查看最近的构建gitlink-cli ci +builds --repo my-project --limit 10br# 查看构建日志gitlink-cli ci +logs --build-id 123br# 重启失败的构建gitlink-cli ci +restart --build-id 123


3.4 AI 自动化工作流(核心价值)

Issue 自动分类

# AI 自动分类新 Issuegitlink-cli issue +list --state open | \  AI 分析内容 → 添加标签 → 分配负责人

工作流步骤:

1. 获取所有未分类 Issue

2. 使用 AI 分析 Issue 内容和优先级

3. 自动添加标签

(bug/feature/documentation/question)

4. 分配给相关负责人

5. 生成分类报告

效果:减少 80% 的手动分类工作


PR 自动审查

# AI 自动审查 PRgitlink-cli pr +view --id 42 | \  AI 分析代码 → 检查质量 → 生成审查意见

工作流步骤:

1. 获取 PR 的代码变更

2. 使用 AI 分析代码质量、命名规范、错误处理

3. 检查常见问题和最佳实践

4. 生成结构化的审查意见

5. 自动评论到 PR

效果:加速 PR 审查流程,提高代码质量


Release Notes 自动生成

# AI 自动生成发布说明gitlink-cli api GET /Gitlink/forgeplus/commits --query 'tag=v1.0.0' | \  AI 总结变更 → 分类整理 → 生成发布说明

工作流步骤:

1. 获取两个版本之间的所有 Commit 和 PR

2. 使用 AI 总结变更内容

3. 分类整理(新功能、Bug 修复、性能优化)

4. 生成结构化的发布说明

5. 自动创建 Release

效果:自动生成专业的发布说明,节省 2-3 小时




四、技术细节



4.1 核心特性

Git Remote 自动解析

在 git 仓库目录下,gitlink-cli 自动从 git remote origin 解析 owner 和 repo,无需重复指定:

cd ~/my-projectgitlink-cli issue +list  # 自动使用该仓库的 owner/repo

认证系统:Keychain 集成

Token 安全存储于 OS Keychain(macOS Keychain / Linux Secret Service / Windows Credential Manager),自动注入到每个 HTTP 请求:

# 登录gitlink-cli auth login# Username: your-username# Password: ****# Token saved to Keychainbr# 查看状态gitlink-cli auth statusbr# 退出登录gitlink-cli auth logout

多格式输出

所有命令支持 JSON/Table/YAML 三种输出格式,便于自动化和人类阅读:

# JSON 格式(AI 场景推荐)gitlink-cli repo +list --format jsonbr# Table 格式(人类可读)gitlink-cli repo +list --format tablebr# YAML 格式gitlink-cli repo +list --format yaml

统一的 Envelope 输出格式

所有 API 响应遵循统一的 Envelope 格式,便于解析:

{  "ok"true,  "data": { ... },  "meta": { "page"1"limit"20"total_count"100 }}


4.2 项目结构

gitlink-cli/├── cmd/                      # Cobra 命令定义│   ├── root.go               # 根命令 + 全局 flags│   ├── auth/                 # 认证命令│   ├── api/                  # Raw API 命令│   ├── config/               # 配置命令│   └── cmdutil/              # 全局工具├── internal/                 # 内部包│   ├── auth/                 # 登录、Token 存储、Transport│   ├── client/               # HTTP 客户端 + 分页│   ├── config/               # 配置文件管理│   ├── context/              # git remote 解析│   └── output/               # Envelope + Formatter├── shortcuts/                # Shortcut 实现│   ├── common/               # 框架(types, runner)│   ├── repo/                 # 仓库 shortcuts│   ├── issue/                # Issue shortcuts│   ├── pr/                   # PR shortcuts│   ├── branch/               # 分支 shortcuts│   ├── release/              # Release shortcuts│   ├── org/                  # 组织 shortcuts│   ├── ci/                   # CI shortcuts│   ├── search/               # 搜索 shortcuts│   ├── user/                 # 用户 shortcuts│   └── register.go           # 注册入口├── skills/                   # AI Agent Skills│   ├── README.md             # Skills 使用指南│   ├── gitlink-shared/       # 共享规则│   ├── gitlink-repo/         # 仓库 Skill│   ├── gitlink-issue/        # Issue Skill│   ├── gitlink-pr/           # PR Skill│   └── ...├── doc/                      # 设计文档├── main.go├── Makefile└── README.md


4.3 设计模式

Shortcut 框架

Shortcut 是对高频 API 操作的语义化封装,通过声明式定义实现:

type Shortcut struct {    Name        string    Description string    Flags       []Flag    Run         func(ctx *RuntimeContext) error}brtype RuntimeContext struct {    Client *client.Client    Owner  string    Repo   string    Format string}

元数据驱动的 API Commands

Layer 2 通过元数据自动生成命令,支持无限扩展:

{  "repos": {    "list": {      "method""GET",      "path""/api/:owner/:repo",      "params": { ... },      "description""获取仓库信息"    }  }}




五、功能清单



5.1 Shortcuts(43 个高频命令)


5.2 API Commands(84+ 常用端点)

自动从元数据生成,覆盖:

  • 仓库管理(创建、列表、设置)

  • Issue 管理(创建、查询、更新)

  • PR 管理(创建、审查、合并)

  • 分支管理(创建、保护、删除)

  • 发布管理(创建、下载)

  • 组织管理(成员、权限)

  • CI/CD(构建、日志)

  • 搜索(仓库、用户)


5.3 Shortcuts(43 个高频命令)

完整覆盖 GitLink 平台的所有 API 端点,提供无限灵活性。


5.4 Agent Skills(11 个)

每个 Skill 包含命令参考、参数说明、返回值、使用示例、错误处理指南。




六、开源与共建



6.1 项目信息

  • 仓库:

    GitLink地址:

    https://www.gitlink.org.cn/gitlink/gitlink-cli

    Github地址:

    https://github.com/ccfos/gitlink-cli

  • 许可证:MulanPSL-2.0

  • 语言:Go 1.21+

  • 状态:活跃开发中


6.2 贡献方式

gitlink-cli 欢迎社区贡献:

1. 报告 Bug:在 Issues 中描述问题和复现步骤

2. 提交 Feature:讨论新功能需求,然后提交 PR

3. 改进文档:完善 README、Skills、使用指南

4. 扩展 Skills:为新的工作流编写 Skills

5. 性能优化:提交性能改进的 PR


6.3 开发计划

  • v0.1.0(当前):MVP 阶段,43 个 Shortcuts + 11 个 Skills

  • v0.2.0:完整 API 命令层,覆盖 490+ 端点

  • v0.3.0:性能优化,支持并发操作

  • v1.0.0:生产就绪,完整的自动化工作流


6.4 社区支持

  • 文档:

    https://www.gitlink.org.cn/gitlink/gitlink-cli/wiki

  • 讨论:在 Issues 中提问和讨论

  • 贡献:Fork 仓库,提交 PR

  • 支持:给项目点个 Star


欢迎加入 GitLink社区,一起为开源协作赋能!


供稿:王蕴博

排版:李含情

审核:王涛、水超王天阳





火热报名中

点击了解详情




往期推荐


百万激励+赛题更新!第八届CCF开源创新大赛等你来战!

【CCF开源快讯】5分钟速读!04.07-04.12开源大事件

4月组队招募|免费学OpenClaw科研实战、智能体工程思维、论文提效






点击阅读原文 进入GitLink开源创新服务平台





图片


图片


点我访问原文链接