इस प्रोजेक्ट के बारे में

mgrep是一款命令行工具,为本地文件带来语义自然语言搜索,定位为grep的补充而非替代品。它以npm包(@mixedbread/mgrep)形式分发,采用Apache-2.0许可证,由Mixedbread构建。 核心能力: - 对代码、文本、PDF和图像进行自然语言搜索。音频和视频支持被描述为即将推出。 - 通过`mgrep watch`进行后台索引,执行初始同步,尊重.gitignore和可选的.mgrepignore文件,并在文件变化时保持云支持的Mixedbread存储更新。 - 通过`--web`进行网络搜索,查询`mixedbread/web`存储以及本地结果;`--answer`生成摘要响应。 - 通过`--agentic`进行代理搜索,将复杂问题分解为子查询并运行多次搜索。 - 默认对结果进行重排序,可通过`--no-rerank`或MGREP_RERANK=0禁用。 - 结果包括相对路径和上下文提示,如文本的行范围和PDF的页码。 认证和设置: - `mgrep login`使用设备/浏览器流程;无头或CI环境可设置MXBAI_API_KEY。 - 通过`npm install -g @mixedbread/mgrep`安装(也提到pnpm/bun)。 编码代理集成: - 存在针对Claude Code、OpenCode、Codex和Factory Droid的辅助安装命令(install-claude-code、install-opencode、install-codex、install-droid)。 - README指出,当与编码代理一起安装时,后台进程在会话期间同步文件,并在会话结束时停止。 - 默认限制为每文件1MB和每目录1000个文件,可通过CLI标志、环境变量或配置文件调整。 配置: - 本地`.mgreprc.yaml`/`.mgreprc.yml`或全局`~/.config/mgrep/config.yaml`。 - 优先级:CLI标志,然后是环境变量,然后是本地配置,然后是全局配置,然后是默认值。 - 环境变量涵盖认证(MXBAI_API_KEY)、存储选择(MXBAI_STORE)、搜索行为(MGREP_MAX_COUNT、MGREP_CONTENT、MGREP_ANSWER、MGREP_WEB、MGREP_AGENTIC、MGREP_SYNC、MGREP_DRY_RUN、MGREP_RERANK)和同步限制(MGREP_MAX_FILE_SIZE、MGREP_MAX_FILE_COUNT)。 - `--store <name>`隔离工作区;存储按需创建。 命令概述:`mgrep`/`mgrep search`、`mgrep watch`、`mgrep login`、`mgrep logout`以及四个代理安装命令。 开发:使用pnpm构建的TypeScript项目;`pnpm build`、`pnpm dev`、`pnpm format`(biome)、`pnpm typecheck`;测试使用bats。README指出测试尚未完全接入。 基准声明:README报告了一个内部50任务QA基准,其中mgrep与Claude Code使用的令牌比基于grep的工作流少约2倍,判断质量相似或更好,胜率由LLM判断。这些是项目自身的声明,此处未独立验证。 故障排除说明涵盖重复登录提示、嘈杂的监视器和重新创建存储。通过Mixedbread Slack社区提供支持。