BeaconBay/ck(发音同 "seek")是一个由 Rust 编写的完全本地化的混合代码搜索工具,专为 AI 编程助手和人类开发者设计。
简单来说,它是下一代的高级 grep 替代品。不仅支持传统的精准关键字匹配,还支持基于代码“含义”的语义搜索,让你可以通过概念(而非固定词汇)来寻找代码库中的对应部分。
以下是该项目的几个核心特点和功能:
1. 混合代码搜索 (Hybrid Search)
- 语义搜索:允许你基于“概念”查找代码。例如,当你搜索 "retry logic"(重试逻辑)时,即使代码中没有这几个具体单词,它也能帮你找到相关的断路器 (circuit breakers) 或指数退避 (backoff) 算法代码。
- BM25 关键字匹配:保留了类似
grep的精确文本匹配功能。 - 混合重排:结合关键字和语义搜索的结果,使用交互排名融合(Reciprocal Rank Fusion)算法给出最精确的匹配结果。
2. 100% 本地运行与隐私保护 (Local First)
- 工具完全在本地机器上运行,使用本地的嵌入模型(如 Ollama / Jina 嵌入模型)。
- 无需联网:你的代码和搜索查询绝对不会被发送到外部云端或第三方服务中,极大保障了企业和个人的代码资产安全。
3. 为 AI Agent 原生设计 (Built for AI Agents)
- MCP (Model Context Protocol) 服务:内置了 MCP 支持,意味着它可以无缝接入像 Claude Desktop、Cursor 或任何支持 MCP 的 AI 客户端中。
- 对于大语言模型 (LLM) 而言,
ck能够提供非常规范的 JSON 格式输出以及精准的代码片段(Chunk-level),作为极佳的本地上下文检索引擎(RAG 工具),帮助 AI 更好地理解和修改你的庞大代码库。
4. 极佳的性能 (Blazing Fast)
- 增量索引:项目会进行 Chunk(块)级别的增量索引和缓存。如果你修改了代码,它只会重新计算有变动的部分,缓存命中率极高(通常在80-90%)。
- 速度惊人:能够在 2 分钟内索引约 100 万行代码,且搜索查询响应时间通常低于 500 毫秒。
5. 丰富的交互方式
- TUI (终端用户界面):提供交互式的命令行界面,支持实时结果反馈、热力图和全键盘导航。
- 编辑器集成:支持原生 VS Code 和 Cursor 插件,可以在编辑器内直接搜索和跳转,不用离开开发环境。
总结:
无论你是作为人类开发者想拥有一个带有语义理解的“超级 grep”,还是你想给自己的本地 AI 编程助手(如 Claude / Cursor)配置一个不占用宝贵上下文窗口(Context Window)且高度安全的本地代码搜索工具,BeaconBay/ck 都是当前开源社区非常出色的解决方案。
评论与来信
如果正文触发了新的想法,可以把第一封留言写在右侧;提交后会先进入审核。
写下你的想法
提交后进入审核队列,通过后显示于左侧。