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

GIM 发布新版本了!现在1.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磁盘。

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

brew uninstall git-intelligence-message
brew cleanup
brew update
brew install git-intelligence-message

升级 GIM 版本

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

gim update

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

调整AI提示词

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

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

gim prompt -h
Manage ai model prompt files. Show content when no options specifiedUsage: 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 PrefixService ProviderDefault Endpoint
gpt-*OpenAIhttps://api.openai.com/v1/chat/completions
moonshot-*Moonshot AIhttps://api.moonshot.cn/v1/chat/completions
qwen-*Alibaba Qwenhttps://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
gemini-*Google Geminihttps://generativelanguage.googleapis.com/v1beta/openai/
doubao-*ByteDance Doubaohttps://ark.cn-beijing.volces.com/api/v3/chat/completions
glm-*THUDM GLMhttps://open.bigmodel.cn/api/paas/v4/chat/completions
deepseek-*DeepSeekhttps://api.deepseek.com/chat/completions
qianfan-*Baidu Qianfanhttps://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 新分支

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

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

找个目录执行

brew bottle git-intelligence-message

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

  bottle dorebuild 1sha256 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>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/82058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyQt5高效布局指南:QTabWidget与QStackedWidget实战解析

&#x1f50d; 问题背景 当界面控件过多时&#xff0c;直接平铺会导致窗口拥挤、用户体验下降。PyQt5提供了两种高效容器控件&#xff1a; QTabWidget&#xff1a;选项卡式布局&#xff0c;支持直接切换不同功能模块QStackedWidget&#xff1a;堆栈式布局&#xff0c;需配合导…

《2.2.1顺序表的定义|精讲篇》

上一节学习了线性表的逻辑结构&#xff0c;线性表需要实现哪些基本运算/操作&#xff1f;在本节中&#xff0c;我们将学习顺序表的定义、顺序表的特性&#xff0c;以及如何用代码来实现顺序表。下个小节我们会介绍基于顺序存储&#xff08;这种存储结构&#xff09;如何用代码具…

【 大模型技术驱动智能网联汽车革命:关键技术解析与未来趋势】

大模型技术驱动智能网联汽车革命&#xff1a;关键技术解析与未来趋势 关键词总结&#xff1a; 大模型技术&#xff1a;LLM、VLM、MLLM、Transformer架构核心场景&#xff1a;智能驾驶、智能座舱、智能网联关键技术&#xff1a;端到端系统、BEVOCC网络、多模态融合、强化学习挑…

Rocketmq broker 是主从架构还是集群架构,可以故障自动转移吗

RocketMQ Broker的架构与故障转移机制 RocketMQ的Broker架构同时采用了主从架构和集群架构&#xff0c;并且支持故障自动转移。下面详细说明&#xff1a; 一、架构类型 1. 集群架构 RocketMQ天然支持分布式集群部署 一个RocketMQ集群包含多个Broker组(每组有主从) 不同Bro…

从零开始建立个人品牌并验证定位变现性的方法论——基于开源AI大模型、AI智能名片与S2B2C商城生态的实证研究

摘要&#xff1a;本文提出一种融合开源AI大模型、AI智能名片与S2B2C商城小程序源码的"最小测试闭环"方法论&#xff0c;通过技术赋能实现个人品牌定位的精准验证与变现路径优化。以某美妆领域自由职业者为例&#xff0c;其通过开源AI大模型完成能力图谱构建与资源匹配…

SQL进阶之旅 Day 2:高效的表设计与规范:从基础到实战

【SQL进阶之旅 Day 2】高效的表设计与规范&#xff1a;从基础到实战 开篇 在数据库开发中&#xff0c;一个良好的表设计不仅能够提高查询效率&#xff0c;还能避免冗余数据和一致性问题。本文作为"SQL进阶之旅"系列的第2天&#xff0c;将重点介绍高效的表设计与规范…

Java—— IO流的应用

带权重的点名系统 案例要求 文件中有学生的信息&#xff0c;每个学生的信息独占一行。包括学生的姓名&#xff0c;性别&#xff0c;权重 要求每次被抽中的学生&#xff0c;再次被抽中的概率在原先的基础上降低一半。 本题的核心就是带权重的随机 分析 权重&#xff0c;权重和…

Docker中部署Alertmanager

在 Docker 中部署 Alertmanager&#xff08;通常与 Prometheus 告警系统配合使用&#xff09;的步骤如下&#xff1a; 一、拉取镜像prom/alertmanager docker pull prom/alertmanager二、 创建 Alertmanager 配置文件 首先准备Alertmanager的配置文件 alertmanager.yml(如存…

【大模型面试每日一题】Day 27:自注意力机制中Q/K/V矩阵的作用与缩放因子原理

【大模型面试每日一题】Day 27&#xff1a;自注意力机制中Q/K/V矩阵的作用与缩放因子原理 &#x1f4cc; 题目重现 &#x1f31f;&#x1f31f; 面试官&#xff1a;请解释Transformer自注意力机制中Query、Key、Value矩阵的核心作用&#xff0c;并分析为何在计算注意力分数时…

AI+能碳管理系统:全生命周期碳管理

在"双碳"目标的时代背景下&#xff0c;AI赋能的能碳管理系统正在重新定义企业碳管理的边界与深度。这套系统犹如一位不知疲倦的碳管家&#xff0c;从原材料采购到产品报废&#xff0c;在每一个价值环节编织起精密的碳管理网络&#xff0c;实现从微观设备到宏观战略的…

k8s1.27版本集群部署minio分布式

需求&#xff1a; 1.创建4个pv&#xff0c;一个pv一个minio-pod。使用sts动态分配pvc(根据存储类找到pv)。----持久化 2.暴露minio的9001端口。&#xff08;nodeport&#xff09;----管理界面 镜像&#xff1a;minio/minio:RELEASE.2023-03-20T20-16-18Z--->换国内源 说明…

使用 OpenCV 实现 ArUco 码识别与坐标轴绘制

&#x1f3af; 使用 OpenCV 实现 ArUco 码识别与坐标轴绘制&#xff08;含Python源码&#xff09; Aruco 是一种广泛用于机器人、增强现实&#xff08;AR&#xff09;和相机标定的方形标记系统。本文将带你一步一步使用 Python OpenCV 实现图像中多个 ArUco 码的检测与坐标轴…

Qt 控件发展历程 + 目标(1)

文章目录 声明简述控件的发展历程学习目标QWidget属性 简介&#xff1a;这篇文章只是一个引子&#xff0c;介绍一点与控件相关的但不重要的内容&#xff08;浏览浏览即可&#xff09;&#xff0c;这一章节最为重要的还是要把之后常用且重要的控件属性和作用给学透&#xff0c;学…

socc 19 echash论文部分解读

前言&#xff1a;论文还是得吃透才行&#xff0c;不然很多细节有问题 q1 object和data chunck哪一个大 根据论文&#xff0c;一个 data chunk 通常比一个 object 大&#xff0c;因为它是由多个 object 组合而成的 。 论文中提到&#xff0c;cross-coding 会将多个 object 组合…

w~自动驾驶~合集1

我自己的原文哦~ https://blog.51cto.com/whaosoft/12371169 #世界模型和DriveGPT这类大模型到底能给自动驾驶带来什么ne 以下分享大模型与自动驾驶结合的相关工作9篇论 1、ADAPT ADAPT: Action-aware Driving Caption Transformer&#xff08;ICRA2023&#xff09; A…

【paddle】常见的数学运算

根据提供的 PaddlePaddle 函数列表&#xff0c;我们可以将它们按照数学运算、逻辑运算、三角函数、特殊函数、统计函数、张量操作和其他操作等类型进行分类。以下是根据函数功能进行的分类&#xff1a; 取整运算 Rounding functions 代码描述round(x)距离 x 最近的整数floor(…

绘制音频信号的各种频谱图,包括Mel频谱图、STFT频谱图等。它不仅能够绘制频谱图librosa.display.specshow

librosa.display.specshow 是一个非常方便的函数&#xff0c;用于绘制音频信号的各种频谱图&#xff0c;包括Mel频谱图、STFT频谱图等。它不仅能够绘制频谱图&#xff0c;还能自动设置轴标签和刻度&#xff0c;使得生成的图像更加直观和易于理解。 ### 函数签名 python libros…

DDR DFI 5.2 协议接口学习梳理笔记01

备注:本文新增对各种时钟含义做了明确定义区分,避免大家产生误解,这也是5.2版本新引入的。 1. 前言 截止2025年5月,DFI协议最新版本为 5.2,我们首先看一下过去几代的演进: DFI全称DDR PHY Interface,是一种接口协议,定义了 Controller 和 PHY 之间接口的信号、时序以…

windows篡改脚本提醒

✅ 功能简介 该监控系统具备如下主要功能&#xff1a; &#x1f4c1; 目录监控 实时监听指定主目录及其所有子目录内文件的变动情况。 &#x1f512; 文件哈希校验 对文件内容生成 SHA256 哈希&#xff0c;确保变更检测基于内容而非时间戳。 &#x1f6ab; 排除机制 支…

文章记单词 | 第102篇(六级)

一&#xff0c;单词释义 apologize /əˈpɒlədʒaɪz/ v. 道歉&#xff1b;认错discharge /dɪsˈtʃɑːrdʒ/ v./n. 排出&#xff1b;释放&#xff1b;解雇&#xff1b; dischargequiver /ˈkwɪvər/ v./n. 颤抖&#xff1b;抖动&#xff1b;箭筒plantation /plnˈteɪʃ…