OpenCommitをLazygitから使ってLazyにコミットメッセージを書く
お元気ですか?
先日卒業論文を提出し、(まだ発表が残っているのに)開放感から趣味のパソコンが盛り上がっているyuseiitoです。
みなさん、Lazygit使ってますか?
Lazygitはターミナル上で動作するGitクライアント(TUI)で、軽量で直感的なので大変気に入っています。
neovimで <Leader>g でfloating windowを開いて使うように設定して、日常的に使っています。
vimキーバインド風なので、neovimの中で使うと体験が非常にシームレスです。
いちいちファイル名をタイプしたり、ちまちまとクリックしたりしたくない私のような Lazy な人間には大変ありがたいツールです。[1]
そんなLazygitですが、Lazyとはいえコミットメッセージは手書きが基本です。
しかし、いや、コミットメッセージが一番めんどくさいんじゃ! というのが本音。
そんなあなたに、エーアイです。
みなさん最近はコード生成などエーアイを避けては通れない時代になっていることと存じますが、
面倒なことの代表格であるところのコミットメッセージも、エーアイさんに書いてもらいましょう。
と、いうツールが OpenCommit です。
Starは2026/02/04時点で7.1kと、なかなか人気のツールです。
基本的な使い方は、以下のような感じ。
ocoコマンドを叩くと、あとはOpenCommitが変更内容を解析して、コミットメッセージを生成してくれます。

しかし、これは普通のCLIツールなので、これをLazygitから使うようにしました。
#やること
#OpenCommitのインストール
READMEに書いてある通りにすればいいです。
npm install -g opencommit
#OpenCommitの設定
今回は、Ollamaのローカルモデルを使う設定 を紹介します。
モデルは今回はmistral 7bで試しましたが、他のモデルでも良いはずです。
まず、モデルを落としておきます。
ollama run misrtral # Mistral モデルを落としてきて動かす
動いたら、閉じて、次にOpenCommitの設定をします。
ほとんどデフォルトなので、変更するところだけを書きます。
~/.opencommit/config.yamlOCO_AI_PROVIDER=ollama OCO_MODEL=mistral:latest OCO_API_URL=http://localhost:11434/api/chat OCO_API_KEY=ollama OCO_MESSAGE_TEMPLATE_PLACEHOLDER=$msg OCO_GITPUSH=false
特に、 接続先URL(OCI_MODEL_OLLAMA_ENDPOINT)の設定に注意 してください。
私はこれをデフォルトにしていて、しばらくひたすら405エラーでハマりました。
デフォルトではhttp://localhost:11434 のようになっていますが、パスを補う必要があります。
#Lazygitの設定
Lazygitの設定ファイルは、ふつう ~/.config/lazygit/config.yml にあります。
が、MacOSの場合は、~/Library/Application Support/lazygit/config.yml にあるようです。
よく分からんので、lazygit --print-config-dir で確認してください。
私のMacBook Pro (Tahoe) では以下のようになりました。
lazygit --print-config-dir
/Users/yuseiito/Library/Application Support/lazygit
Lazygitの設定ファイルに、以下のように customCommands セクションを追加します。
~/.config/lazygit/config.ymlcustomCommands: - key: '<c-a>' # Ctrl + a で実行 command: "oco" context: 'files' description: 'Generate commit message with OpenCommit' output: terminal
これで、Lazygitのファイルステージング画面で Ctrl + a を押すと、OpenCommitが起動してコミットメッセージを生成してくれます。

#まとめ
以上で、LazygitからOpenCommitを使ってLazyにコミットメッセージを書くことができるようになりました。
最近は、ローカルのモデルがずいぶんよく動くので、この程度ならローカルでも十分かと思います。
Mistral 7Bは速いのが良いですが、たまにhallucinationして存在しないPR番号を言及したりする ので、そのあたりは注意が必要です。
これから、他のモデルも試してみたいと思います。
うまく動いて軽量な良いモデルを発見された方は、ぜひ教えてください。
最近はLazygit意外にもいろんなTUI Gitクライアントがあるらしいので、ちょっと試したくはなってきてる。 ↩︎