AI News HubLIVE
站内改写1 分钟阅读

Show HN:GitPT – 借助苹果设备端基础模型实现 AI 提交消息

GitPT 是一个 Git 命令别名,利用本地 LLM 自动编写提交消息。它将差异按文件逐一摘要,以适应小型上下文窗口,支持苹果基础模型、Ollama、LM Studio 及远程 API。

来源Hacker News AI作者: bartaxyz

GitPT(Git Prompt Tool)是一个 Git 命令别名,它利用本地运行的大语言模型自动生成提交消息。与依赖远程 API 的同类工具不同,GitPT 优先使用设备端模型,如苹果在 macOS 27 及以上系统中内置的基础模型。用户无需注册或获取 API 密钥,所有数据均保留在本地,确保了隐私和安全。

GitPT 的核心挑战在于处理小型本地模型的上下文窗口限制。一个真实的 diff 可能远超模型容量,为此 GitPT 会逐文件对 diff 进行摘要,直到其大小适合模型处理,然后根据摘要生成提交消息。这种方法使得即使是只有几千 token 容量的模型也能有效处理大型代码变更。此外,如果用户需要更强大的模型,GitPT 也支持通过 Ollama、LM Studio 运行兼容 OpenAI API 的本地服务器,或直接调用 OpenAI、Anthropic、OpenRouter 等远程 API,灵活性极高。

安装过程非常简单,只需使用 npm 全局安装:npm install -g gitpt。然后运行 gitpt setup 即可选择模型。如果希望完全替代 git,可以设置别名 alias git=gitpt,这样所有 git 命令都会自动通过 GitPT 处理,未修改的命令会原样传递。日常使用时,gitpt commit 会自动读取暂存区的 diff,生成提交消息并打开编辑器供用户确认。用户还可以使用 -m 参数直接指定消息,或者配合 commitlint 规则进行验证。

GitPT 还提供了一系列实用命令:gitpt model 用于切换模型,不同提供商可以保存各自的密钥;gitpt config 查看当前配置;gitpt reset 清除设置;gitpt pr create 是一个实验性功能,可以借助 gh CLI 自动创建拉取请求的标题和描述。在模型支持方面,本地模型包括苹果的 Foundation Models(macOS 27+)以及任何兼容 OpenAI API 的本地服务器(如 Ollama 和 LM Studio),远程模型则支持 OpenAI、Anthropic 和 OpenRouter。

目前该项目采用 MIT 许可,已在 GitHub 上开源,获得了 11 颗星和 8 个版本发布。用户可以自由使用、修改和贡献代码。对于功能请求或 bug 报告,可以直接在 GitHub 上提交 issue。