bloop 是你代码的 ChatGPT。使用自然语言提问,搜索代码,并利用你现有的代码库作为上下文生成补丁。
工程师们正在通过使用 bloop 来提高他们的生产力:
- 用简单的语言解释文件或功能如何工作
- 利用他们的代码作为上下文编写新功能
- 了解如何使用文档不完善的开源库
- 定位错误
- 用其他语言询问关于英语代码库的问题
- 通过检查现有功能减少代码重复
https://github.com/BloopAI/bloop/assets/7957964/01db3ccb-4af0-49a0-92d6-5a9c42357a51
功能
- 基于 AI 的对话式搜索
- Code Studio,一个使用你的代码作为上下文的 LLM 游乐场
- 极速正则表达式搜索
- 同步你的本地和 GitHub 仓库
- 复杂的查询过滤器,帮你缩小搜索结果范围
- 使用符号搜索查找函数、变量或特征
- 精确的代码导航(转到引用和转到定义),支持 10 多种最流行的语言,基于 Tree-sitter 构建
- 注重隐私的设备内嵌入式语义搜索
bloop 建立在 Rust 生态系统之上。我们的搜索索引由 Tantivy 和 Qdrant 提供支持,我们的跨平台应用程序使用 Tauri 构建。
https://github.com/BloopAI/bloop/assets/7957964/93715188-d8d5-477b-8cd1-95d9cbd368cb
开始使用
开始使用 bloop 最简单的方法是下载应用程序并按照入门步骤操作。查看我们的入门指南以及对话式和正则表达式搜索和 Code Studio 的参考文档。
关于如何从源代码构建或从命令行运行 bloop 的说明,请查看以下页面:
如果遇到任何索引问题,你可以清除 bloop 缓存并重新索引。不同平台的操作说明在这里。
从源代码构建
你可以从源代码构建 bloop 并使用自己的 OpenAI API 密钥运行它。克隆仓库,确保切换到 oss
分支,并在仓库的顶层创建一个名为 local_config.json
的文件。local_config.json
应包含以下字段:
{
"github_access_token": "<你的 GitHub 访问令牌>",
"openai_api_key": "<你的 OpenAI API 密钥>"
}
然后按照这些安装说明进行操作。如果从源代码构建,bloop 不会收集任何遥测数据。
贡献
我们欢迎大大小小的贡献!在开始之前,请阅读我们的贡献者指南和我们的行为准则。
以下是仓库的结构:
apps/desktop
:Tauri 应用程序server/bleep
:Rust 后端,包含核心搜索和导航逻辑client
:React 前端
我们使用 Git LFS 来管理构建成本较高的依赖项。
为确保你拥有开始构建所需的一切,你需要为你喜欢的操作系统安装 git-lfs
包,然后在此仓库中运行以下命令:
git lfs install
git lfs pull
如果你发现了 bug 或有功能请求,请提出问题!你可以在以下位置找到应用程序日志:
操作系统 | 日志路径 |
---|---|
MacOS | ~/Library/Application\ Support/ai.bloop.bloop/bleep/logs |
Windows | %APPDATA%/bloop/bleep/logs |
Linux | ~/.local/share/bloop/bleep/logs |
隐私
我们尽可能少地存储数据。我们使用遥测技术来帮助我们识别 bug 并做出数据驱动的产品决策。你可以在这里阅读我们完整的隐私政策。
许可证
bloop 根据 LICENSE 中定义的 Apache 2.0
许可证授权。