GIM发布新版本了 (附rust CLI制作brew bottle流程)

GIM 发布新版本了!现在1.3.0版本可用了 https://github.com/davelet/git-intelligence-message/releases/tag/v1.3.0 。可以通过brew upgrade git-intelligence-message升级。

初次安装需要先执行 brew tap davelet/gim

GIM 是一个根据git仓库内文件变更自动生成git提交消息的命令行工具,参考前文《GIM: 根据代码变更自动生成git提交消息的工具》。

在最近的版本中主要三个新能力:

  • 不再依赖rust而是安装二进制包
  • 自动探测新版本并提示更新
  • 用户可自主调整生成提示(AI prompt)

此外还内置了更多大模型的 API 调用地址。

二进制安装

GIM 现在不依赖 rust 环境了,改为通过brew bottle安装了。即下即用,不用编译安装,立刻节省5G磁盘。

为了保证效果,推荐重装:

bash 复制代码
brew uninstall git-intelligence-message
brew cleanup
brew update
brew install git-intelligence-message

升级 GIM 版本

软件执行时会主动探测是否有新版本。发现后(会有提示)可以执行

bash 复制代码
gim update

来升级。如果提示了5次依然没升级则一个月内不会再提示。

调整AI提示词

可以自主设置提示词了。通过命令 gim prompt查看默认提示词,通过gim prompt -e可进行提示词更新。

完整命令可参考项目文档 https://github.com/davelet/git-intelligence-message/blob/main/README.md 或者帮助文档:

bash 复制代码
gim prompt -h
Manage ai model prompt files. Show content when no options specified

Usage: gim prompt [OPTIONS]

Options:
  -e, --edit             Optional: Edit the prompt files
  -t, --prompt <PROMPT>  Optional: Specify which prompt to edit (d or diff or diff_prompt or subject_prompt)
  -o, --editor <EDITOR>  Optional: Specify the editor to use (e.g., vim, code, nano)
  -h, --help             Print help

内置大模型地址清单

现在内置了一下8中大模型的API地址:

Model Prefix Service Provider Default Endpoint
gpt-* OpenAI https://api.openai.com/v1/chat/completions
moonshot-* Moonshot AI https://api.moonshot.cn/v1/chat/completions
qwen-* Alibaba Qwen https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
gemini-* Google Gemini https://generativelanguage.googleapis.com/v1beta/openai/
doubao-* ByteDance Doubao https://ark.cn-beijing.volces.com/api/v3/chat/completions
glm-* THUDM GLM https://open.bigmodel.cn/api/paas/v4/chat/completions
deepseek-* DeepSeek https://api.deepseek.com/chat/completions
qianfan-* Baidu Qianfan https://qianfan.baidubce.com/v2/chat/completions

所以如果你要用的模型是在这清单里可以不用使用gim ai --url来配置。

使用流程

  1. 通过homebrew安装
  2. 设置大模型token参考 gim ai -h
  3. 切换目录到某个git 仓库
  4. 执行gim -a (这就是GIM提供的核心能力)
  5. (可选)执行git push推送提交


bottle 制作流程

1. 新建 tap 分支

我给 https://github.com/davelet/homebrew-gim 拉了新分支 dep-cargo-install。这个分支保持通过cargo 安装。
main 分支后续更新成bottle安装方式,供用户使用。

2. 本地使用 tap 新分支

有多种方式切换分支,最直观的是

bash 复制代码
cd "$(brew --repo davelet/gim)"
git checkout dep-cargo-install
git pull
brew install --build-bottle davelet/gim/git-intelligence-message

这样会通过新分支的旧方式安装软件。

必须指定参数 --build-bottle 告诉 brew 这个软件要用来制作bottle

3. 制作 bottle

找个目录执行

bash 复制代码
brew bottle git-intelligence-message

会在当前目录生成一个bottle文件(结尾是 bottle.1.tar.gz)并提示一段代码:

rb 复制代码
  bottle do
    rebuild 1
    sha256 cellar: :any_skip_relocation, sonoma: "b478f239a65b704c85cc59b1a50fcde797bbbf9c142972c08f529e5bea3f5b7a"
  end

4. 上传文件

把上一步生成的文件重命名,里面的 -- 改成 -,上传到仓库的Release里面,比如
https://github.com/davelet/git-intelligence-message/releases/tag/v1.2.2

把上传好的文件链接复制出来。

5. 更新 Formulae

最后一步,回到 tap 主分支 https://github.com/davelet/homebrew-gim/blob/main/Formula/git-intelligence-message.rb ,把这个文件里的 depends_on 那一行删掉,改成第三步的代码。

然后在 bottle do 这个块里增加root_url,值就是上一步复制的地址去掉最后的文件名。

大功告成。

最后的小提示:源文件计算sha256 shasum -a 256 <下载到本地的tar.gz>

相关推荐
ljh5746491191 小时前
git stash 和 git stash apply
git
doiito3 小时前
【Agent Harness】Gliding Horse v0.1.4.preview 发布:时间感知、闭环审计与智能增强
ai·rust·架构设计·系统设计·ai agent
独孤留白4 小时前
从C到Rust:堆内存,数据如何逃逸栈的约束?
rust
doiito(Do It Together)5 小时前
【安全,架构】RustyVault 项目深度分析报告以及和HashiCorp Vault的差异
微服务·架构·rust
问窗5 小时前
Rust实现Windows本地搜索工具
windows·搜索引擎·rust
慕容引刀6 小时前
告别Commit信息纠结:使用Git AI Commit插件实现规范化提交
人工智能·git·github·visual studio code·visual studio
程序员爱钓鱼7 小时前
Rust 变量与不可变性:为什么默认不能修改变量?
前端·后端·rust
第一程序员18 小时前
Rust Agent 子进程执行:Command 之前,先定义输入和超时
python·rust·github
IT笔记19 小时前
【Rust】Rust Match 模式匹配详解
java·开发语言·rust
敲代码的嘎仔21 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二