跳到主要内容
Gitea RunnerManager
macOS 1.0.5 · Windows 1.0.20 已发布

图形化管理Gitea Actions Runner

下载安装、注册配置、启停守护进程、查看实时日志,全部在桌面应用里完成。 固定 Host 模式运行,无需 Docker,专为 macOS / iOS 原生构建与 Windows 构建场景设计。

  • Host 模式 · 无需 Docker
  • 菜单栏 / 托盘常驻
  • 开机自启
  • 实时日志
  • SwiftUI + WinUI 3 原生界面
界面预览

两个平台,一致的操作逻辑

侧边栏导航 + 卡片式布局 + 渐变状态区,各自遵循所在系统的设计语言。

Gitea Runner Manager macOS 版的运行状态页:左侧为状态、配置、安装、日志四项导航,右侧渐变卡片显示 Runner 尚未注册,下方为安装信息与注册信息卡片。
macOS · 状态页 · 尚未注册SwiftUI 面板,渐变 Hero 卡展示当前状态与启停操作,底部标注工作目录。
Gitea Runner Manager Windows 版的运行状态页:左侧为状态、配置、安装、日志、设置五项导航,右侧绿色渐变卡片显示 Runner 正在运行,下方为注册信息、安装信息与 HASHED-TOKEN 认证信息卡片。
Windows · 状态页 · 运行中WinUI 3 面板,绿色状态卡表示 daemon 正在监听任务,认证信息卡只读展示 HASHED-TOKEN。
核心功能

一个应用,管完 Runner 的一生

从下载安装到注册、运行、升级、卸载,无需记忆 act_runner 的命令行参数与配置文件结构。

拉取并安装 act_runner

直接从 Gitea 官方 API 列出可用版本,选中即下载安装。Windows 版会对下载的二进制做 SHA256 校验。

Token 原样透传注册

填入 Gitea 管理后台生成的一次性注册 Token,应用不做任何哈希或变换,原样交给 act_runner register。

HASHED-TOKEN 只读展示

注册成功后由 Gitea 下发的长效令牌保存在本地 .runner 文件,界面上只读展示,应用不会再次发送或重新派生。

固定 Host 模式,无需 Docker

任务直接在本机执行,因此能在 macOS 上编译 macOS / iOS 应用,也能在 Windows 上跑原生工具链。

守护进程启停与状态

以子进程方式运行 act_runner daemon 并捕获 stdout/stderr,启动、停止、重启、刷新都在界面上完成。

终端风格实时日志

深色终端风格的日志页滚动展示 daemon 实时输出,排查任务问题不用再去翻日志文件。

开机自启与自动拉起

macOS 走 SMAppService 登录项,Windows 写 HKCU 的 Run 项;均可选择管理器启动后自动拉起 Runner。

菜单栏 / 托盘常驻

macOS 是菜单栏图标,Windows 是系统托盘图标,运行状态一目了然,关闭主窗口不退出进程。

使用流程

四步接入你的流水线

注册所需的一次性 Token 在 Gitea 的管理后台(站点管理或仓库设置的 Actions Runner 页)生成。

  1. 1

    安装 Runner

    打开「安装」页,刷新版本列表,选中需要的 act_runner 版本后点击安装。之后在同一页面可随时升级或卸载。

  2. 2

    注册到 Gitea

    在「配置」页填写 Gitea 实例地址、从管理后台获取的一次性注册 Token、Runner 名称与 Labels,点击「注册 Runner」。

  3. 3

    启动守护进程

    回到「状态」页点击启动,act_runner daemon 开始从 Gitea 拉取任务。也可在菜单栏 / 托盘菜单里快捷启停。

  4. 4

    查看实时日志

    「日志」页以终端风格滚动展示 daemon 输出。若任务执行异常,这里能直接看到失败原因。

Workflow 里这样使用

注册时填写的 Labels 就是 runs-on 的取值。macOS 版默认 macos,于是可以直接在本机跑 xcodebuild。

.gitea/workflows/build.yaml
jobs:
  build-macos:
    runs-on: macos
    steps:
      - uses: actions/checkout@v4
      - run: xcodebuild -scheme MyApp build
平台差异

同一套流程,各自的原生实现

两个版本共享同样的界面结构、注册流程与 Host 模式配置,差异只在于各平台的系统集成方式。

macOS 版

菜单栏常驻应用,SwiftUI 管理面板,专为 macOS / iOS 原生构建设计。

UI 框架
SwiftUI
常驻形态
NSStatusItem 菜单栏图标
登录自启
SMAppService 登录项
关闭主窗口
setActivationPolicy(.accessory)
结束 daemon
kill -SIGTERM / -SIGKILL
Shell 集成
zsh -i -l -c /usr/bin/env
数据目录
~/Library/Application Support/GiteaRunnerManager/

Windows 版

UI 设计、注册流程与 Host 模式配置 1:1 镜像 macOS 版本,符合 Windows 应用习惯。

UI 框架
WinUI 3(.NET 8)
常驻形态
H.NotifyIcon.WinUI 托盘图标
登录自启
HKCU\...\Run 注册表值
关闭主窗口
AppWindow.Hide()
结束 daemon
taskkill /F /T /PID
Shell 集成
预置 Git / dotnet / MSBuild 路径
数据目录
%LOCALAPPDATA%\GiteaRunnerManager\
数据目录

所有运行时数据都在一个目录里

应用不往系统其他位置写文件。卸载时删掉这个目录,就能彻底清除 Runner 的全部状态。

macOS
~/Library/Application Support/GiteaRunnerManager/
Windows
%LOCALAPPDATA%\GiteaRunnerManager\
文件用途
bin/act_runner下载安装的 Runner 二进制
config.yamlact_runner 配置,自动应用 Host 模式补丁
.runner注册信息,含 Gitea 下发的 HASHED-TOKEN
config.json界面中填写的注册配置(明文 JSON,仅 Windows 版)
version.json已安装版本记录
logs/act_runner.logdaemon 日志
下载

选择你的平台

两个平台各自独立发布,版本号互不相同。下载信息直接来自 Gitea Releases。

macOS 版

v1.0.52026-07-29

0.9 MB
系统要求
macOS 13.0 Ventura 或更高
分发方式
DMG 直装 · Developer ID 签名并已公证
文件名
GiteaRunnerManager-macos-1.0.5-2026072901.dmg
  • 打开 DMG 后把应用拖入「应用程序」即可,已通过 Apple 公证,无需右键绕过 Gatekeeper
  • 菜单栏常驻应用,启动后图标出现在系统菜单栏
  • 在「配置」页可开启开机自启与管理器启动时自动拉起 Runner

Windows 版

v1.0.202026-07-29

43.8 MB
系统要求
Windows 10 1809 (17763) 或更高 · x64
分发方式
Inno Setup 6 安装包 · 自包含,无需预装 .NET
文件名
GiteaRunnerManager-setup-1.0.20.exe
  • 安装过程需要管理员权限,安装器会自动结束正在运行的旧版本
  • 若系统缺少 PowerShell 7,安装器会通过 winget 自动补装(act_runner 在 Windows Host 模式下依赖 pwsh)
  • 通过 HKCU 的 Run 注册表项实现登录自启,托盘图标常驻

下载数据同步于,如需更早版本或查看更新说明,请前往对应仓库的 Releases 页面。

常见问题

你可能想先弄清楚的事

什么是 Host 模式?为什么固定使用它?

Host 模式指 act_runner 直接在本机执行任务步骤,而不是把任务放进 Docker 容器。只有这样才能调用宿主机上的 Xcode、代码签名钥匙串以及 Windows 原生工具链——这正是本应用的目标场景,因此不提供 Docker 模式切换。

macOS 版为什么不上 Mac App Store?

应用需要下载并执行 act_runner 二进制、管理子进程,这与 App Store 的沙盒要求不兼容。因此采用 Developer ID 签名 + Apple 公证的 DMG 直装分发,这也是各类开发 / CI 工具的通行做法。

我的注册 Token 会被如何处理?

一次性注册 Token 原样透传给 act_runner register,应用不做任何哈希或变换,也不会上传到第三方。注册成功后 Gitea 下发的 HASHED-TOKEN 长效令牌保存在本地 .runner 文件中,界面上只读展示,应用不会再次发送或重新派生它。

Windows 版为什么需要 PowerShell 7?

act_runner 在 Windows 的 Host 模式下默认用 pwsh 执行 workflow 步骤,缺失会报 "Cannot find: pwsh in PATH"。安装器会检测并在需要时通过 winget 自动安装 PowerShell 7;若系统没有 winget,则需要你手动安装。

两个平台的版本号为什么不一样?

两个版本在各自独立的仓库中开发和发布,Windows 版迭代次数更多,因此版本号领先。它们互不依赖,按平台各取最新版即可。

一个管理器可以管理多个 Runner 吗?

不可以。当前设计为管理单个 act_runner 实例,配置、注册信息与日志都对应这一个实例。