From 8e9d8140ef812d27ee6a2a69c3f1899eea70f0bd Mon Sep 17 00:00:00 2001 From: ben Date: Mon, 2 Feb 2026 02:49:02 +0000 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8D=87=E7=BA=A7=E5=90=8E?= =?UTF-8?q?=E7=9A=84=20Gitea=20Actions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 27 +----- README.zh-cn.md | 243 ------------------------------------------------ README.zh-tw.md | 243 ------------------------------------------------ 3 files changed, 2 insertions(+), 511 deletions(-) delete mode 100644 README.zh-cn.md delete mode 100644 README.zh-tw.md diff --git a/README.md b/README.md index b9944b9..52d3a57 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,3 @@ -# Gitea Actions 概念验证项目 +# 项目说明 -本项目旨在通过控制阿里巴巴 DSW WebIDE 作为自托管 runner,验证 Gitea Actions 功能。 - -## 项目目的 - -- 概念验证:验证 Gitea Actions 在私有部署环境中的功能 -- 资源利用:利用阿里云 DSW 服务的计算资源作为自托管 runner -- 网络优化:在境内环境中进行 CI/CD 操作,避免国际网络延迟 - -## 架构说明 - -- Gitea 实例:私有部署 (`https://gitea.tailnet-68f9.ts.net`) -- 自托管 runner:运行在阿里云 DSW 服务上 -- 工作流:通过 `.gitea/workflows/` 目录下的 YAML 文件定义 - -## 当前状态 - -- Runner 已注册并连接到 Gitea 实例 -- 测试工作流用于验证基本功能 -- 重点:所有操作均在中国境内网络环境下执行 - -## 工作流示例 - -- `local-test.yml`:测试从仓库下载 README 文件 -- 使用纯 shell 命令,避免访问 GitHub \ No newline at end of file +这是一个概念验证项目,旨在通过控制我不方便控制的阿里巴巴的 DSW WebIDE,让它当牛马,它上面已经运行了 runner。 \ No newline at end of file diff --git a/README.zh-cn.md b/README.zh-cn.md deleted file mode 100644 index e08ec7c..0000000 --- a/README.zh-cn.md +++ /dev/null @@ -1,243 +0,0 @@ -# Gitea MCP 服务器 - -[English](README.md) | [繁體中文](README.zh-tw.md) - -**Gitea MCP 服务器** 是一个集成插件,旨在将 Gitea 与 Model Context Protocol (MCP) 系统连接起来。这允许通过 MCP 兼容的聊天界面无缝执行命令和管理仓库。 - -[![在 VS Code 中使用 Docker 安装](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=gitea&inputs=[{%22id%22:%22gitea_token%22,%22type%22:%22promptString%22,%22description%22:%22Gitea%20Personal%20Access%20Token%22,%22password%22:true}]&config={%22command%22:%22docker%22,%22args%22:[%22run%22,%22-i%22,%22--rm%22,%22-e%22,%22GITEA_ACCESS_TOKEN%22,%22docker.gitea.com/gitea-mcp-server%22],%22env%22:{%22GITEA_ACCESS_TOKEN%22:%22${input:gitea_token}%22}}) [![在 VS Code Insiders 中使用 Docker 安装](https://img.shields.io/badge/VS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=gitea&inputs=[{%22id%22:%22gitea_token%22,%22type%22:%22promptString%22,%22description%22:%22Gitea%20Personal%20Access%20Token%22,%22password%22:true}]&config={%22command%22:%22docker%22,%22args%22:[%22run%22,%22-i%22,%22--rm%22,%22-e%22,%22GITEA_ACCESS_TOKEN%22,%22docker.gitea.com/gitea-mcp-server%22],%22env%22:{%22GITEA_ACCESS_TOKEN%22:%22${input:gitea_token}%22}}&quality=insiders) - -## 目录 - -- [Gitea MCP 服务器](#gitea-mcp-服务器) - - [目录](#目录) - - [什么是 Gitea?](#什么是-gitea) - - [什么是 MCP?](#什么是-mcp) - - [🚧 安装](#-安装) - - [在 VS Code 中使用](#在-vs-code-中使用) - - [📥 下载官方二进制版本](#-下载官方二进制版本) - - [🔧 从源码构建](#-从源码构建) - - [📁 加入 PATH](#-加入-path) - - [🚀 使用](#-使用) - - [✅ 可用工具](#-可用工具) - - [🐛 调试](#-调试) - - [🛠 疑难排解](#-疑难排解) - -## 什么是 Gitea? - -Gitea 是一个由社区管理的轻量级代码托管解决方案,使用 Go 语言编写,采用 MIT 许可证。Gitea 提供 Git 托管,包括仓库浏览、问题追踪、拉取请求等功能。 - -## 什么是 MCP? - -Model Context Protocol (MCP) 是一种协议,允许通过聊天界面整合各种工具和系统。它能够无缝执行命令并管理仓库、用户及其他资源。 - -## 🚧 安装 - -### 在 VS Code 中使用 - -要快速安装,请使用本 README 顶部的安装按钮。 - -如需手动安装,请将以下 JSON 块添加到 VS Code 的用户设置 (JSON) 文件。可通过按 `Ctrl + Shift + P` 并输入 `Preferences: Open User Settings (JSON)`。 - -也可添加到工作区的 `.vscode/mcp.json` 文件,方便与他人共享配置。 - -> `.vscode/mcp.json` 文件不需要 `mcp` 键。 - -```json -{ - "mcp": { - "inputs": [ - { - "type": "promptString", - "id": "gitea_token", - "description": "Gitea 个人访问令牌", - "password": true - } - ], - "servers": { - "gitea-mcp": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "GITEA_ACCESS_TOKEN", - "docker.gitea.com/gitea-mcp-server" - ], - "env": { - "GITEA_ACCESS_TOKEN": "${input:gitea_token}" - } - } - } - } -} -``` - -### 📥 下载官方二进制版本 - -可在 [官方 Gitea MCP 二进制版本](https://gitea.com/gitea/gitea-mcp/releases) 下载。 - -### 🔧 从源码构建 - -可用 Git 下载源码: - -```bash -git clone https://gitea.com/gitea/gitea-mcp.git -``` - -构建前请先安装: - -- make -- Golang(建议 Go 1.24 及以上) - -然后运行: - -```bash -make install -``` - -### 📁 加入 PATH - -安装后,将 gitea-mcp 可执行文件复制到系统 PATH 目录,例如: - -```bash -cp gitea-mcp /usr/local/bin/ -``` - -## 🚀 使用 - -此示例适用于 Cursor,也可在 VSCode 使用插件。 -要配置 Gitea MCP 服务器,请将以下内容添加到 MCP 配置文件: - -- **stdio 模式** - -```json -{ - "mcpServers": { - "gitea": { - "command": "gitea-mcp", - "args": [ - "-t", - "stdio", - "--host", - "https://gitea.com" - // "--token", "" - ], - "env": { - // "GITEA_HOST": "https://gitea.com", - // "GITEA_INSECURE": "true", - "GITEA_ACCESS_TOKEN": "" - } - } - } -} -``` - -- **http 模式** - -```json -{ - "mcpServers": { - "gitea": { - "url": "http://localhost:8080/mcp", - "headers": { - "Authorization": "Bearer " - } - } - } -} -``` - -**默认日志路径**: `$HOME/.gitea-mcp/gitea-mcp.log` - -> [!注意] -> 可通过命令行参数或环境变量提供 Gitea 主机和访问令牌。 -> 命令行参数优先。 - -一切设置完成后,可在 MCP 聊天框输入: - -```text -列出我所有的仓库 -``` - -## ✅ 可用工具 - -Gitea MCP 服务器支持以下工具: - -| 工具 | 范围 | 描述 | -| :-------------------------------: | :------: | :------------------------: | -| get_my_user_info | 用户 | 获取已认证用户信息 | -| get_user_orgs | 用户 | 获取已认证用户关联组织 | -| create_repo | 仓库 | 创建新仓库 | -| fork_repo | 仓库 | 复刻仓库 | -| list_my_repos | 仓库 | 列出用户所有仓库 | -| create_branch | 分支 | 创建新分支 | -| delete_branch | 分支 | 删除分支 | -| list_branches | 分支 | 列出所有分支 | -| create_release | 版本发布 | 创建新版本发布 | -| delete_release | 版本发布 | 删除版本发布 | -| get_release | 版本发布 | 获取版本发布 | -| get_latest_release | 版本发布 | 获取最新版本发布 | -| list_releases | 版本发布 | 列出所有版本发布 | -| create_tag | 标签 | 创建新标签 | -| delete_tag | 标签 | 删除标签 | -| get_tag | 标签 | 获取标签 | -| list_tags | 标签 | 列出所有标签 | -| list_repo_commits | 提交 | 列出所有提交 | -| get_file_content | 文件 | 获取文件内容和元数据 | -| get_dir_content | 文件 | 获取目录内容列表 | -| create_file | 文件 | 创建新文件 | -| update_file | 文件 | 更新现有文件 | -| delete_file | 文件 | 删除文件 | -| get_issue_by_index | 问题 | 按索引获取问题 | -| list_repo_issues | 问题 | 列出所有问题 | -| create_issue | 问题 | 创建新问题 | -| create_issue_comment | 问题 | 在问题上创建评论 | -| edit_issue | 问题 | 编辑问题 | -| edit_issue_comment | 问题 | 编辑问题评论 | -| get_issue_comments_by_index | 问题 | 按索引获取问题评论 | -| get_pull_request_by_index | 拉取请求 | 按索引获取拉取请求 | -| list_repo_pull_requests | 拉取请求 | 列出所有拉取请求 | -| create_pull_request | 拉取请求 | 创建新拉取请求 | -| create_pull_request_reviewer | 拉取请求 | 为拉取请求添加审查者 | -| delete_pull_request_reviewer | 拉取请求 | 移除拉取请求的审查者 | -| list_pull_request_reviews | 拉取请求 | 列出拉取请求的所有审查 | -| get_pull_request_review | 拉取请求 | 按 ID 获取特定审查 | -| list_pull_request_review_comments | 拉取请求 | 列出审查的行内评论 | -| create_pull_request_review | 拉取请求 | 创建审查(可含行内评论) | -| submit_pull_request_review | 拉取请求 | 提交待处理的审查 | -| delete_pull_request_review | 拉取请求 | 删除审查 | -| dismiss_pull_request_review | 拉取请求 | 驳回审查(可附消息) | -| search_users | 用户 | 搜索用户 | -| search_org_teams | 组织 | 搜索组织团队 | -| list_org_labels | 组织 | 列出组织标签 | -| create_org_label | 组织 | 创建组织标签 | -| edit_org_label | 组织 | 编辑组织标签 | -| delete_org_label | 组织 | 删除组织标签 | -| search_repos | 仓库 | 搜索仓库 | -| get_gitea_mcp_server_version | 服务器 | 获取 Gitea MCP 服务器版本 | -| list_wiki_pages | Wiki | 列出所有 Wiki 页面 | -| get_wiki_page | Wiki | 获取 Wiki 页面内容和元数据 | -| get_wiki_revisions | Wiki | 获取 Wiki 修订历史 | -| create_wiki_page | Wiki | 创建新 Wiki 页面 | -| update_wiki_page | Wiki | 更新现有 Wiki 页面 | -| delete_wiki_page | Wiki | 删除 Wiki 页面 | - -## 🐛 调试 - -启用调试模式时,请在 http 模式运行 Gitea MCP 服务器时加上 `-d` 标志: - -```sh -./gitea-mcp -t http [--port 8080] --token -d -``` - -## 🛠 疑难排解 - -如遇问题,可参考以下步骤: - -1. **检查 PATH**:确保 `gitea-mcp` 可执行文件已在系统 PATH 目录中。 -2. **验证依赖**:确认已安装 `make` 和 `Golang` 等必要依赖。 -3. **检查配置**:仔细检查 MCP 配置文件是否有错误或遗漏。 -4. **查看日志**:检查日志消息或警告以获取更多信息。 - -享受通过聊天探索和管理您的 Gitea 仓库! diff --git a/README.zh-tw.md b/README.zh-tw.md deleted file mode 100644 index e471956..0000000 --- a/README.zh-tw.md +++ /dev/null @@ -1,243 +0,0 @@ -# Gitea MCP 伺服器 - -[English](README.md) | [简体中文](README.zh-cn.md) - -**Gitea MCP 伺服器** 是一個整合插件,旨在將 Gitea 與 Model Context Protocol (MCP) 系統連接起來。這允許通過 MCP 兼容的聊天界面無縫執行命令和管理倉庫。 - -[![在 VS Code 中使用 Docker 安裝](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=gitea&inputs=[{%22id%22:%22gitea_token%22,%22type%22:%22promptString%22,%22description%22:%22Gitea%20Personal%20Access%20Token%22,%22password%22:true}]&config={%22command%22:%22docker%22,%22args%22:[%22run%22,%22-i%22,%22--rm%22,%22-e%22,%22GITEA_ACCESS_TOKEN%22,%22docker.gitea.com/gitea-mcp-server%22],%22env%22:{%22GITEA_ACCESS_TOKEN%22:%22${input:gitea_token}%22}}) [![在 VS Code Insiders 中使用 Docker 安裝](https://img.shields.io/badge/VS_Code_Insiders-Install_Server-24bfa5?style=flat-square&logo=visualstudiocode&logoColor=white)](https://insiders.vscode.dev/redirect/mcp/install?name=gitea&inputs=[{%22id%22:%22gitea_token%22,%22type%22:%22promptString%22,%22description%22:%22Gitea%20Personal%20Access%20Token%22,%22password%22:true}]&config={%22command%22:%22docker%22,%22args%22:[%22run%22,%22-i%22,%22--rm%22,%22-e%22,%22GITEA_ACCESS_TOKEN%22,%22docker.gitea.com/gitea-mcp-server%22],%22env%22:{%22GITEA_ACCESS_TOKEN%22:%22${input:gitea_token}%22}}&quality=insiders) - -## 目錄 - -- [Gitea MCP 伺服器](#gitea-mcp-伺服器) - - [目錄](#目錄) - - [什麼是 Gitea?](#什麼是-gitea) - - [什麼是 MCP?](#什麼是-mcp) - - [🚧 安裝](#-安裝) - - [在 VS Code 中使用](#在-vs-code-中使用) - - [📥 下載官方二進位版本](#-下載官方二進位版本) - - [🔧 從原始碼建置](#-從原始碼建置) - - [📁 加入 PATH](#-加入-path) - - [🚀 使用](#-使用) - - [✅ 可用工具](#-可用工具) - - [🐛 調試](#-調試) - - [🛠 疑難排解](#-疑難排解) - -## 什麼是 Gitea? - -Gitea 是一個由社群管理的輕量級程式碼託管解決方案,使用 Go 語言編寫,採用 MIT 授權。Gitea 提供 Git 託管,包括倉庫瀏覽、議題追蹤、拉取請求等功能。 - -## 什麼是 MCP? - -Model Context Protocol (MCP) 是一種協議,允許透過聊天介面整合各種工具與系統。它能夠無縫執行命令並管理倉庫、使用者及其他資源。 - -## 🚧 安裝 - -### 在 VS Code 中使用 - -欲快速安裝,請使用本 README 頂部的安裝按鈕。 - -如需手動安裝,請將下列 JSON 區塊加入 VS Code 的使用者設定 (JSON) 檔案。可按 `Ctrl + Shift + P` 並輸入 `Preferences: Open User Settings (JSON)`。 - -也可加入至工作區的 `.vscode/mcp.json` 檔案,方便與他人共享設定。 - -> `.vscode/mcp.json` 檔案不需 `mcp` 鍵。 - -```json -{ - "mcp": { - "inputs": [ - { - "type": "promptString", - "id": "gitea_token", - "description": "Gitea 個人存取令牌", - "password": true - } - ], - "servers": { - "gitea-mcp": { - "command": "docker", - "args": [ - "run", - "-i", - "--rm", - "-e", - "GITEA_ACCESS_TOKEN", - "docker.gitea.com/gitea-mcp-server" - ], - "env": { - "GITEA_ACCESS_TOKEN": "${input:gitea_token}" - } - } - } - } -} -``` - -### 📥 下載官方二進位版本 - -可至 [官方 Gitea MCP 二進位版本](https://gitea.com/gitea/gitea-mcp/releases) 下載。 - -### 🔧 從原始碼建置 - -可用 Git 下載原始碼: - -```bash -git clone https://gitea.com/gitea/gitea-mcp.git -``` - -建置前請先安裝: - -- make -- Golang(建議 Go 1.24 以上) - -然後執行: - -```bash -make install -``` - -### 📁 加入 PATH - -安裝後,將 gitea-mcp 執行檔複製到系統 PATH 目錄,例如: - -```bash -cp gitea-mcp /usr/local/bin/ -``` - -## 🚀 使用 - -此範例適用於 Cursor,也可在 VSCode 使用插件。 -欲設定 Gitea MCP 伺服器,請將下列內容加入 MCP 設定檔: - -- **stdio 模式** - -```json -{ - "mcpServers": { - "gitea": { - "command": "gitea-mcp", - "args": [ - "-t", - "stdio", - "--host", - "https://gitea.com" - // "--token", "" - ], - "env": { - // "GITEA_HOST": "https://gitea.com", - // "GITEA_INSECURE": "true", - "GITEA_ACCESS_TOKEN": "" - } - } - } -} -``` - -- **http 模式** - -```json -{ - "mcpServers": { - "gitea": { - "url": "http://localhost:8080/mcp", - "headers": { - "Authorization": "Bearer " - } - } - } -} -``` - -**預設日誌路徑**: `$HOME/.gitea-mcp/gitea-mcp.log` - -> [!注意] -> 可用命令列參數或環境變數提供 Gitea 主機與存取令牌。 -> 命令列參數優先。 - -一切設定完成後,可在 MCP 聊天框輸入: - -```text -列出我所有的倉庫 -``` - -## ✅ 可用工具 - -Gitea MCP 伺服器支援以下工具: - -| 工具 | 範圍 | 描述 | -| :-------------------------------: | :------: | :--------------------------: | -| get_my_user_info | 用戶 | 取得已認證用戶資訊 | -| get_user_orgs | 用戶 | 取得已認證用戶所屬組織 | -| create_repo | 倉庫 | 創建新倉庫 | -| fork_repo | 倉庫 | 復刻倉庫 | -| list_my_repos | 倉庫 | 列出用戶所有倉庫 | -| create_branch | 分支 | 創建新分支 | -| delete_branch | 分支 | 刪除分支 | -| list_branches | 分支 | 列出所有分支 | -| create_release | 版本發布 | 創建新版本發布 | -| delete_release | 版本發布 | 刪除版本發布 | -| get_release | 版本發布 | 取得版本發布 | -| get_latest_release | 版本發布 | 取得最新版本發布 | -| list_releases | 版本發布 | 列出所有版本發布 | -| create_tag | 標籤 | 創建新標籤 | -| delete_tag | 標籤 | 刪除標籤 | -| get_tag | 標籤 | 取得標籤 | -| list_tags | 標籤 | 列出所有標籤 | -| list_repo_commits | 提交 | 列出所有提交 | -| get_file_content | 文件 | 取得文件內容與中繼資料 | -| get_dir_content | 文件 | 取得目錄內容列表 | -| create_file | 文件 | 創建新文件 | -| update_file | 文件 | 更新現有文件 | -| delete_file | 文件 | 刪除文件 | -| get_issue_by_index | 問題 | 依索引取得問題 | -| list_repo_issues | 問題 | 列出所有問題 | -| create_issue | 問題 | 創建新問題 | -| create_issue_comment | 問題 | 在問題上創建評論 | -| edit_issue | 問題 | 編輯問題 | -| edit_issue_comment | 問題 | 編輯問題評論 | -| get_issue_comments_by_index | 問題 | 依索引取得問題評論 | -| get_pull_request_by_index | 拉取請求 | 依索引取得拉取請求 | -| list_repo_pull_requests | 拉取請求 | 列出所有拉取請求 | -| create_pull_request | 拉取請求 | 創建新拉取請求 | -| create_pull_request_reviewer | 拉取請求 | 為拉取請求添加審查者 | -| delete_pull_request_reviewer | 拉取請求 | 移除拉取請求的審查者 | -| list_pull_request_reviews | 拉取請求 | 列出拉取請求的所有審查 | -| get_pull_request_review | 拉取請求 | 依 ID 取得特定審查 | -| list_pull_request_review_comments | 拉取請求 | 列出審查的行內評論 | -| create_pull_request_review | 拉取請求 | 創建審查(可含行內評論) | -| submit_pull_request_review | 拉取請求 | 提交待處理的審查 | -| delete_pull_request_review | 拉取請求 | 刪除審查 | -| dismiss_pull_request_review | 拉取請求 | 駁回審查(可附訊息) | -| search_users | 用戶 | 搜尋用戶 | -| search_org_teams | 組織 | 搜尋組織團隊 | -| list_org_labels | 組織 | 列出組織標籤 | -| create_org_label | 組織 | 創建組織標籤 | -| edit_org_label | 組織 | 編輯組織標籤 | -| delete_org_label | 組織 | 刪除組織標籤 | -| search_repos | 倉庫 | 搜尋倉庫 | -| get_gitea_mcp_server_version | 伺服器 | 取得 Gitea MCP 伺服器版本 | -| list_wiki_pages | Wiki | 列出所有 Wiki 頁面 | -| get_wiki_page | Wiki | 取得 Wiki 頁面內容與中繼資料 | -| get_wiki_revisions | Wiki | 取得 Wiki 修訂歷史 | -| create_wiki_page | Wiki | 創建新 Wiki 頁面 | -| update_wiki_page | Wiki | 更新現有 Wiki 頁面 | -| delete_wiki_page | Wiki | 刪除 Wiki 頁面 | - -## 🐛 調試 - -啟用調試模式時,請在 http 模式執行 Gitea MCP 伺服器時加上 `-d` 旗標: - -```sh -./gitea-mcp -t http [--port 8080] --token -d -``` - -## 🛠 疑難排解 - -如遇問題,可參考以下步驟: - -1. **檢查 PATH**:確保 `gitea-mcp` 執行檔已在系統 PATH 目錄中。 -2. **驗證依賴**:確認已安裝 `make` 與 `Golang` 等必要依賴。 -3. **檢查設定**:仔細檢查 MCP 設定檔是否有錯誤或遺漏。 -4. **查看日誌**:檢查日誌訊息或警告以獲取更多資訊。 - -享受透過聊天探索與管理您的 Gitea 倉庫!