uehaj/jev-semgrep

# 技术雷达学习卡:jev-semgrep

一、一句话定位


一个基于语义理解(含义)而非正则表达式的命令行 grep 工具,能跨语言按“命题是否成立”搜索文本行,无需翻译。

二、核心技术/架构亮点


- 交叉编码器判断命题:使用 TypeSafe AI 的 Jev 模型(System One),不是向量相似度,而是判断指定命题对每一行是否成立,支持否定、时态、主体识别。
- 零依赖单文件:仅需 Node.js 20.12+,自带 `fetch`,可全局安装或 `npx` 运行。
- 语言无关:含义和文本可以是任意不同语言(如英文含义找出日、法、俄、中、韩文行),无需翻译步骤,速度与同语言一致。
- 逻辑组合直接支持:AND / OR / NOT 为原生布尔运算,阈值统一(默认 0.5),无需 top-k 调参。
- 批量并发高效:每请求处理 30 行,8 个并发,210 行文件约 1 秒完成。

三、适用场景与目标用户


- 混合语言日志/工单分析:客服团队、运维工程师快速提取“客户愤怒”“退款请求”等含义的行。
- 多语言内容审查:从多语言语料中提取特定概念,无需维护多组正则。
- 与 Claude Code 集成:作为 skill 使用,适合 AI 辅助开发场景。

四、可动手动作


```bash
# 安装
npm install -g @uehaj/semgrep
# 设置 API 密钥(从 console.typesafe.ai 获取)
export TYPESAFE_API_KEY=your-key
# 搜索含义
semgrep -n -e "customer is angry or frustrated" tickets.txt
# 逻辑组合
semgrep -n -e "network failure" -v "a retry is happening" logs.txt
# 也可从源码运行:git clone 后 node semgrep.mjs
```

五、学习优先级


P1(排期学习) — 概念新颖(语义grep)且实用(多语言日志),但需外部 API 和网络,不值得立即投入;可先装好玩一下,后续在真实混合语言场景中应用。

六、主题标签


语义搜索
赣ICP备2026023170号-1
⌂