Lincb522/GitGatto
原生 macOS Git 客户端,以 Agent 驱动仓库管理、审阅与协作。
GitGatto – 面向 Apple Silicon + Intel 的 macOS 原生 Git & GitHub 客户端,支持 AI 驱动的工作流
是什么
- 基于系统安装的 Git 和 GitHub CLI 的原生 macOS 应用(使用 Swift 6 编写),支持 Apple Silicon + Intel 架构。
- 提供日常 Git 操作的图形界面,并为使用 AI 驱动“代理”(如 Codex、Claude、Gemini、Copilot、OpenAI 兼容 API)的开发者提供安全网和生产力功能。
核心功能
| 功能 | 你将获得 |
|---|---|
| 备份与恢复 | 自动创建 Git 包和未提交文件的快照(每个仓库最多三个轮转恢复点)。通过“恢复中心”可比较、导出或恢复这些点,即使在崩溃或断电后也能恢复。 |
| 后台监控 | 菜单栏助手可在主窗口关闭后继续监控仓库,报告未提交的更改、上游同步状态、CI 操作,以及每日活动热力图。 |
| 目标导向交付 | 定义一个“目标”(如 提交并推送、打开 PR、发布版本 或自定义序列)。GitGatto 会引导你完成每一步,检查实际的 Git/GitHub 状态,并可在中断后恢复。 |
| 意图驱动的变更分组 | 变更中心 可将修改的文件或 diff 块分组,允许你编写独立的提交信息,或让连接的 AI 代理在提交前建议逻辑分组。 |
| 回归 bisect 工作区 | 无需离开当前工作树即可运行 git bisect。结果(命令、退出码、耗时、输出)会被保存,可将证据交给 AI 代理进行自动修复。 |
| 证据胶囊 | 导出可复现的“.gatto”包,包含基础提交、补丁、未跟踪文件、失败命令和工具版本。该包可导入隔离的工作树中用于调试或共享。 |
| 代理集成 | 支持数十种基于 LLM 的 CLI(Claude、Gemini、Copilot 等)和通用 OpenAI 兼容 API。代理可在受控沙箱内起草提交信息、建议 PR 内容、翻译文档或运行自定义命令。 |
| 项目工具 | 内置跨仓库代码搜索、带实时输出的命令运行器、.gitignore 可视化编辑器,以及按仓库管理作者/签名。 |
| 安装与工具链管理 | 内置安装器可并行检测和升级最多 99 个本地开发工具(Homebrew、SDK 等),然后验证磁盘上的二进制文件。 |
| UI 与主题 | 六种视觉主题(含高度可定制的“曜幕”模式)、11 种语言的多语言 UI,以及灵活的侧边栏布局。 |
如何工作
- 该应用从不替换底层 Git 二进制文件;它调用系统
git和gh命令,然后解析输出。 - AI 代理通过其 CLI 包装器或直接通过 OpenAI 兼容 HTTP API 调用。API 密钥存储在 macOS Keychain 中,仅在你明确运行代理驱动的操作时才发送。
- 所有本地数据(仓库列表、目标、备份包、翻译缓存等)除非导出,否则均保留在本地机器上。网络调用仅限于 GitHub(用于仓库浏览、PR/Issue 操作)和配置的 AI 服务。
谁可能使用它
- 希望拥有更强大 Git 客户端并同时保护未提交工作的 macOS 开发者。
- 依赖 LLM 驱动代码助手并需要审计助手更改内容的团队。
- 寻找无需离开 IDE 的 Git 工作区“时间机器”的任何人。
快速入门
- 从 Releases 页面下载最新 DMG,将 GitGatto 拖入 Applications。
- 打开本地仓库(或让应用扫描),使用 GitHub CLI 登录。
- 在设置 → 代理中配置你偏好的 AI 代理(提供 CLI 路径或 API 密钥)。
- 探索菜单栏小工具以快速查看状态,或打开完整窗口创建目标、运行 bisect、管理备份。
开发
- 需要 macOS 14+、Swift 6.1+ 和 Xcode 15+。项目使用 Swift Package Manager、SwiftUI、AppKit、WebKit、Alamofire 和 Sparkle(自动更新)。
- 使用
swift run GitGatto构建,或打开GitGatto.xcodeproj。
许可证: MIT(参见 LICENSE)。
以上所有细节均直接来自仓库的 README;未推断任何额外功能。
相关
- 项目
- 项目
- 项目
- 项目