1作者: yp583大约 1 个月前原帖
我开发了一个工具,可以分析你暂存的 git 变更,利用嵌入和层次聚类按语义相似性对它们进行聚类,并为每个聚类创建单独的提交。 问题是:我经常会因为进入工作状态而做出“超级提交”,其中包含不相关的更改,结果导致我忘记提交大量变更。 它的工作原理如下: - 使用 tree-sitter 将差异解析为语义块 - 生成嵌入(OpenAI text-embedding-3-small) - 使用单链接层次聚类进行聚类 - 提供交互式树状图用户界面以调整聚类阈值 - 为每个聚类创建一个提交 目前仅支持 Mac(使用自编写的 https 客户端和 kqueue),但如果有兴趣,我很乐意添加跨平台支持。同时也计划支持本地 LLM/嵌入。 期待反馈!