
opencommit
1秒生成规范提交信息,告别憋提交词
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 7543
使用教程
环境要求
- Node.js 环境(用于 npm 全局安装,GitHub Action 示例中使用 node-version 16)
- npm 包管理器
- 已初始化的 Git 仓库,且有待提交的代码变更
- 一个受支持的 LLM 提供商 API Key(如 OpenAI,也可用 Anthropic、Gemini、DeepSeek、OpenRouter 等)
- 可选:本地 Ollama 或 llama.cpp,用于离线运行本地模型
安装与启动步骤
-
1全局安装 OpenCommit
通过 npm 把 opencommit 装到全局,装完后任意 Git 仓库里都能用 oco 命令。注意需要 npm 有全局写入权限。
npm install -g opencommit -
2获取 API Key
去 OpenAI 平台申请 API Key,并在账户里补充付款信息,否则接口无法调用。也可换成其他受支持的 LLM 提供商密钥。
-
3写入 API Key 配置
把密钥写进 OpenCommit 配置,密钥会保存在本机 ~/.opencommit 配置文件中,不会进仓库。
oco config set OCO_API_KEY=<your_api_key> -
4生成提交信息
先在仓库里暂存改动(可选,oco 会自动帮你 git add),然后执行 oco,约 1 秒生成提交信息并交互确认。
git add <files...> oco -
5可选:改用本地 Ollama
先装好并启动 ollama,首次拉取模型;然后在项目目录里把提供商切到 ollama 并指定模型,默认模型为 mistral。
ollama run mistral oco config set OCO_AI_PROVIDER='ollama' OCO_MODEL='llama3:8b' -
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,例如 en | en |
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
同类项目推荐
shell_gpt
开源
在终端里用大白话指挥 AI,命令生成、脚本编写一步到位
A command-line productivity tool powered by AI large language models like GPT-5, wil···
promptr
开源
在终端用大白话直接改代码,省去复制粘贴的麻烦。
Promptr is a CLI tool that applies plain language instructions to the filesystem. In···
sigil-stitch
开源
跨语言生成类型安全、导入正确、对齐整齐的代码
Type-safe, import-aware, width-aware code generation across multiple languages
chatgpt.js-chrome-starter
开源
快速搭建 ChatGPT 浏览器扩展,自带弹窗和设置管理
A starting point for developing your own Chrome extension using chatgpt.js (includin···
forall
开源
写规格,AI 生成代码并附机器可验证的证明
Forall (∀) is a coding harness from Astrio that helps developers build correct soft···
CodeInsight
开源
用中文问代码库,带出处回答,快速看懂陌生项目
基于 Hybrid RAG 与 LangGraph 的本地代码仓库理解工具,支持中英文提问、语义检索、证据引···
copilot-language-server-release
开源
让任意编辑器通过 LSP 接入 Copilot 补全
Feedback for the GitHub Copilot Language Server
ruler
开源
一份规则,同步所有 AI 编码助手
Ruler — apply the same rules to all coding agents
claude-code-handbook
开源
从零到精通 Claude Code,中英双语速查手册
The definitive guide to Claude Code — from zero to mastery. Bilingual EN/CN.