当前位置: 首页 > news >正文

Sem:基于 Git 的语义理解工具,功能强大且支持多技术栈,准确率提升 2.3 倍!

Sem:功能丰富的语义理解工具

Sem 是基于 Git 的语义理解工具,支持差异对比、责任追溯、影响分析、日志查看,且以函数为单位,而非代码行。用户可复制命令 `brew install sem-cli`,并在项目目录 `~/project` 中操作。

同一提交的不同视角展示

在同一提交中,左侧是 Git 展示的内容,右侧是实际发生的变更。使用 `git diff` 和 `sem diff` 有不同结果,3 个实体在 1 个文件中发生了变更,与原始的代码行差异对比相比,AI 代理在使用 `sem` 输出时的准确性提高了 2.3 倍。

六个命令,一个二进制文件

Sem 的所有功能可在任何 Git 仓库中使用,无需配置和插件。其六个命令分别为:

  • `sem diff`:查看变更内容,基于实体级别的差异对比,支持重命名检测、结构哈希和单词级别的内联高亮显示。
  • `sem blame`:追溯变更责任人,按实体显示每个函数、类或方法的最后一次提交信息。
  • `sem impact`:分析变更影响,通过跨文件依赖图展示依赖给定函数的所有实体,以及受影响的测试。
  • `sem log`:查看实体演变历史,查看特定函数的所有提交记录。
  • `sem entities`:查看路径下的实体,列出指定路径下的所有函数、类、方法和类型及其行号范围。
  • `sem context`:为 AI 提供智能上下文,基于令牌预算的上下文窗口,包含目标实体、其依赖项和被依赖项,可适配任何大语言模型(LLM)的提示。

所有命令都支持 `--json` 选项,以输出机器可读的结果。

支持多种技术栈

Sem 支持 26 种编程语言和 5 种数据格式,只需一个二进制文件。典型差异对比时间为 8 毫秒,支持 26 种语言,无需配置,下载量达 4000+。编程语言包括 TypeScript、JavaScript、Python 等;数据格式包括 JSON、YAML、TOML、CSV、Markdown。

立即试用,操作简便

用户可通过以下命令试用 Sem:

$ brew install sem-cli
$ sem setup
✓ 创建包装脚本
✓ 设置全局 Git 配置 diff.external = sem
✓ 安装预提交钩子

完成!现在在任何仓库中运行 `git diff` 都将使用 `sem`。若要恢复原状,运行:sem unsetup

只需一个命令,所有 `git diff` 都将变为 `sem diff`,无需配置文件。也可以使用命令 `cargo install --git https://github.com/Ataraxy-Labs/sem sem-cli` 进行安装。Sem 由 Ataraxy Labs 开发。

http://www.zskr.cn/news/1478836.html

相关文章:

  • 惠州市2026贵金属回收精选排名榜单 黄金铂金白银彩金回收靠谱正规门店推荐及联系电话汇总 - 前途无量YY
  • 2026年最新白城市黄金回收白银回收铂金回收彩金回收权威TOP5口碑门店推荐+正规可靠机构联系方式 - 亦辰小黄鸭
  • 高通QCM6490平台DDR测试避坑实录:从QDUTT 2.0.2安装到眼图分析完整指南
  • 别再只调软件了!RGMII接口吞吐率上不去?可能是PCB走线和stmmac驱动时序没配好
  • 苹果 Siri 再升级:基于 Gemini 构建,隐私优势能否逆袭?
  • 告别选型纠结:如何利用CN3905的宽压输入和3.5A大电流搞定无线/DSL猫的电源设计
  • 终极指南:Blender3mfFormat插件实现3MF文件高效导入导出
  • jeecgboot TS + Vue 模板化 03
  • 苹果开发者大会开幕:Siri 改版、健康套件升级,能否追上人工智能竞赛?
  • NVIDIA Profile Inspector性能优化指南:释放显卡隐藏性能的终极秘籍
  • 国内合规AI写作网站盘点:降AIGC查重,这六款工具谁更靠谱?
  • 桂林市2026贵金属回收精选排名榜单 黄金铂金白银彩金回收靠谱正规门店推荐及联系电话汇总 - 前途无量YY
  • 纯C++控制台通讯录程序:离线增删改查+批量清空,含源码和可执行文件
  • 硕士论文写作刚需,5 个本土 AI 辅助写作平台实测,真实参考文献推荐、可选格式模版
  • 多维聚合中的数据操作:Slice、Pivot、Roll-up实战指南
  • 西电离散数学上机实操代码包:图连通性、关系判定与闭包计算全实现
  • 探索Windows Subsystem for Android:让Android应用在Windows上焕发新生
  • 保研推荐信避坑指南:从导师签字到邮件发送,这5个细节千万别忽略
  • 告别“小爱同学”:用LD3320语音模块DIY一个离线语音助手(Arduino/STM32教程)
  • 避坑指南:OneNET平台MQTT设备Topic订阅与发布,双设备通信实战中的3个常见问题
  • 生存分析如何输出可落地的时间点预测?中位数、期望值与分位数的工程选择指南
  • 别再手动清理了!用Crontab给Docker设置自动清理任务,释放你的服务器磁盘空间
  • Blender3mfFormat插件:如何在Blender中轻松实现3MF文件导入导出
  • 别再只会用Arduino了!用STM32CubeIDE玩转LD3320语音模块(附完整工程)
  • 告别编译报错!手把手教你用VS2019和Python3.9搞定最新EDK2环境(附子模块下载避坑)
  • 从“文件柜”到“第二大脑”:元宝资料库的技术原理、体验困境与进化前瞻
  • 别再手动调样式了!用POI 4.1.2动态生成Word图表,这份避坑指南帮你搞定颜色、标签和图例
  • Arduino驱动薄膜按键+LED点阵实时响应方案(MAX7219硬件扫描)
  • 2026数据中心机房建设钢材供应商评测:数据中心施工/数据中心机房建设/数据中心机房瓦楞板/数据中心瓦楞钢板/数据中心钢板/选择指南 - 优质品牌商家
  • 进阶掌握ROS TF2坐标变换:广播技术详解与实践