
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 开发。