opencommit

1秒生成规范提交信息,告别憋提交词

opencommit 是一个基于大语言模型的 Git 提交信息生成工具,被誉为功能最丰富的 GPT 封装器之一。它能在 1 秒内根据代码变更自动生成符合规范的提交信息,支持 Claude、GPT 以及所有主流 LLM 提供商,还兼容本地 Ollama 模型。该项目解决了开发者编写提交信息耗时、格式不统一的问题,通过智能分析 diff 内容,生成清晰、有意义的提交说明。核心能力包括:自动生成提交信息、自定义提示词模板、支持多种模型提供商、与 Git 工作流无缝集成、提供交互式确认和批量处理。它适合个人开发者、团队协作以及 CI/CD 流程,能显著提升代码提交效率。

开源 unknown 对话助手
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 7542
维护状态 较活跃
是否开源 是
定价模式 unknown

项目数据

分类对话助手
开发团队di-sukharev
所属国家
官网地址
定价模式unknown
价格说明定价信息待确认
访问状态
是否开源是
开源协议MIT
主要语言JavaScript
技术栈/模型ai,ai-commit,ai-commits,artificial-intelligence,chatgpt,git,gpt,productivity
GitHub 星标★ 7542
30天Star增速
HF 下载量
上线时间2023-03-06 00:00:00
最近更新2026-09-22 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:入门 约 5 分钟 部署方式:命令行工具 6 步

环境要求

  • Node.js 环境(用于 npm 全局安装,GitHub Action 示例中使用 node-version 16)
  • npm 包管理器
  • 已初始化的 Git 仓库,且有待提交的代码变更
  • 一个受支持的 LLM 提供商 API Key(如 OpenAI,也可用 Anthropic、Gemini、DeepSeek、OpenRouter 等)
  • 可选:本地 Ollama 或 llama.cpp,用于离线运行本地模型

安装与启动步骤

  1. 1全局安装 OpenCommit

    通过 npm 把 opencommit 装到全局,装完后任意 Git 仓库里都能用 oco 命令。注意需要 npm 有全局写入权限。

    npm install -g opencommit
  2. 2获取 API Key

    去 OpenAI 平台申请 API Key,并在账户里补充付款信息,否则接口无法调用。也可换成其他受支持的 LLM 提供商密钥。

  3. 3写入 API Key 配置

    把密钥写进 OpenCommit 配置,密钥会保存在本机 ~/.opencommit 配置文件中,不会进仓库。

    oco config set OCO_API_KEY=
  4. 4生成提交信息

    先在仓库里暂存改动(可选,oco 会自动帮你 git add),然后执行 oco,约 1 秒生成提交信息并交互确认。

    git add 
    oco
  5. 5可选:改用本地 Ollama

    先装好并启动 ollama,首次拉取模型;然后在项目目录里把提供商切到 ollama 并指定模型,默认模型为 mistral。

    ollama run mistral
    oco config set OCO_AI_PROVIDER='ollama' OCO_MODEL='llama3:8b'
  6. 6可选:接入 GitHub Action

    在仓库新建 .github/workflows/opencommit.yml,推送时自动改写新提交信息;需在仓库 Secrets 里配置 OCO_API_KEY。

关键配置

配置项必填说明示例
OCO_API_KEY是LLM 提供商的 API 密钥,保存在 ~/.opencommit 或 .env 中sk-xxxxxxxxxxxxxxxx
OCO_AI_PROVIDER否模型提供商,默认 openai,可选 anthropic、azure、ollama、llamacpp、gemini 等openai
OCO_MODEL否使用的模型名,默认 gpt-4o-mini,也支持 Anthropic、Ollama 等模型名gpt-4o
OCO_API_URL否自定义 API 地址,用于代理路径或远程 Ollama/llama.cpp 端点http://192.168.1.10:11434/api/chat
OCO_LANGUAGE否生成提交信息的语言 locale,例如 enen
OCO_EMOJI否布尔值,是否在提交信息中加入 GitMoji 表情false

如何确认成功

在一个有待提交变更的仓库执行 oco,若能看到 AI 生成的提交信息并确认后成功提交,即表示配置生效。

常见问题

Q:执行 oco 报 API 相关错误怎么办?

A:先确认 OCO_API_KEY 已通过 oco config set 正确写入,并已在模型提供商账户添加付款信息;若用自建端点,需同时设置 OCO_API_URL。

Q:必须先用 git add 暂存改动吗?

A:不是必须的。README 说明运行 git add 是可选的,oco 会自己帮你把改动暂存并提交。

Q:能完全离线使用吗?

A:可以。安装并启动 Ollama 后拉取模型,再设置 OCO_AI_PROVIDER='ollama' 和 OCO_MODEL 即可;也可以用 llama.cpp 启动本地服务。

Q:OpenAI 之外的模型怎么切换?

A:设置 OCO_AI_PROVIDER 为对应提供商(如 anthropic、gemini、deepseek、openrouter、orcarouter 等),并把 OCO_API_KEY 换成该提供商的密钥。

Q:配置写在哪里?

A:全局配置存在 ~/.opencommit,用 oco config set 修改;也可以在每个仓库建 .env 文件写局部配置。

注意事项

  • API Key 会以明文保存在本机 ~/.opencommit 配置文件中,注意不要把它提交到仓库。
  • GitHub Action 会自动 rebase 改写推送的新提交,请在 branches-ignore 中排除 main、dev 等公共协作分支。
  • 交互式 rebase 会改变提交 SHA,单独开发的分支没问题,多人协作时需谨慎。
  • 使用 Ollama 时若服务跑在别的机器或 Docker 里,需要通过 OCO_API_URL 指向对应端点。

核心亮点

  • 支持 Claude、GPT、Ollama 等几乎所有主流 LLM,选择灵活
  • 自动分析 diff 并生成符合 Conventional Commits 规范的提交信息
  • 提供交互式确认和自定义提示词模板,可深度适配团队风格

不足之处

  • 依赖外部 LLM API,需要网络和 API 密钥,离线场景受限
  • 文档/社区待观察

适用场景

  • 个人开发者快速提交代码,提升效率
  • 团队统一提交信息格式,便于代码审查
  • 集成到 CI/CD 流程,自动生成发布说明

替代项目

commitizen、git-cz、aider

项目介绍

opencommit 是编程开发领域的开源项目,由 di-sukharev 开发,2023 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(7,542)位列前 7%,在编程开发分类的 503 个项目里位列前 9%。

近 41 天,它的 GitHub 星标从 7,518 增加到 7,542,净增 24。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-22。

它主要面向的使用场景是:个人开发者快速提交代码,提升效率。同类可对比的替代方案包括 commitizen、git-cz、aider。

同类项目推荐

bolt.new 开源

想到啥说啥,网页应用当场生成直接能用

Prompt, run, edit, and deploy full-stack web applications. -- bolt.new -- Help Cente···

★ 16557 2026-08-09
fuzz4all 开源

用大模型自动生成测试输入,发现各种软件漏洞

️Fuzz4All: Universal Fuzzing with Large Language Models

★ 338 2026-08-09
superpowers-zh 开源

全套 AI 编程神技汉化好了,照着用就行。

AI 编程超能力 · 中文增强版 — superpowers(250k+ ⭐)完整汉化 + 4 个中国原创 skills···

★ 8188 2026-08-09
crystal 开源

多个 AI 同时写不同功能,互不干扰齐头并进。

(Crystal is now Nimbalyst) Run multiple Codex and Claude Code AI sessions in paralle···

★ 3121 2026-08-09