项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
技术标签
使用教程
—
环境要求
- 已安装 Rust 工具链与 Cargo(cargo install 必需)
- 一个待搜索的本地代码库或文本目录
- 可选:Claude Desktop / Cursor 等 MCP 兼容 AI 客户端
- 可选:Claude Code CLI(用于一键注册 MCP)
安装与启动步骤
-
1安装 ck 命令行
从 crates.io 安装 ck-search,装好后可直接用 ck 命令;安装完可先在任意目录试跑语义搜索。
cargo install ck-search -
2语义搜索体验
用 --sem 按含义查找代码,无需预先建索引,ck 会自动建立并更新;路径传目录即可。
ck --sem "error handling" src/ -
3关键词与混合检索
传统 grep 用法仍可用,--hybrid 会把语义相关度和关键词过滤结合起来,结果更聚焦。
ck -n "TODO" *.rs ck -R "TODO|FIXME" . ck --hybrid "connection timeout" src/ -
4启动 MCP 服务
--serve 以 MCP Server 方式运行,供 AI 客户端调用;生产环境建议在代码库目录下启动。
ck --serve -
5接入 AI 客户端
推荐用 Claude Code CLI 注册,scope 为 user;也可改为在客户端里手写 mcpServers 配置。
claude mcp add ck-search -s user -- ck --serve -
6验证接入状态
注册后需重启 Claude Code,再用 list 命令或会话内 /mcp 查看 ck-search 是否已连接。
claude mcp list -
7排查分块效果
--inspect 可查看文件被如何切分、token 占用情况,并支持换模型对比效果。
ck --inspect src/main.rs ck --inspect --model bge-small src/main.rs -
8可选源码构建
需要改代码或跑测试时,克隆仓库后用 cargo 构建工作区,再用 debug 二进制验证搜索。
git clone https://github.com/BeaconBay/ck cd ck cargo build --workspace cargo test --workspace ./target/debug/ck --index test_files/ ./target/debug/ck --sem "test query" test_files/
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
mcpServers.ck.command | 是 | MCP 手动配置里要启动的可执行程序名 | ck |
mcpServers.ck.args | 是 | 传给 ck 的参数,以 MCP 服务模式启动 | ["--serve"] |
mcpServers.ck.cwd | 是 | 工作目录,指向你要检索的代码库根路径 | /path/to/your/codebase |
claude mcp add -s | 否 | 注册 MCP 的作用域,user 表示对当前用户全局生效 | user |
top_k | 否 | MCP 工具调用参数,限制返回结果总数,默认 100 | 50 |
snippet_length | 否 | MCP 工具调用参数,控制返回代码片段长度 | 200 |
如何确认成功
执行 ck --sem "test query" test_files/ 或任意 --sem 搜索能返回结果即成功;接入 AI 客户端时用 claude mcp list(或 /mcp)看到 ck-search 已注册连接。
常见问题
Q:首次搜索需要手动建索引吗?
A:不需要。ck 会自动建立并更新索引,直接执行 ck --sem 即可,索引和查询都发生在本地。
Q:索引跑到一半能中断吗?
A:可以,用 Ctrl+C 安全中断。已生成的部分索引会被保存,下次操作从断点继续,只处理新增或变更的文件。
Q:MCP 注册后 AI 客户端里没反应?
A:先重启 Claude Code,再用 claude mcp list 或会话内 /mcp 检查;提示权限时需批准 ck-search 的工具权限。
Q:返回结果太多怎么办?
A:MCP 工具支持内置分页:用 page_size 控制单页数量,配合游标翻页,并用 top_k 限制总条数、snippet_length 控制片段长度。
Q:怎么确认切分和模型效果?
A:用 ck --inspect src/main.rs 查看分块与 token 使用,再加 --model bge-small 切换模型做对比测试。
注意事项
- 项目本地优先,索引与检索都在本机完成,无需上传代码。
- MCP 提供 semantic_search、regex_search、hybrid_search、index_status、reindex、health_check 等工具。
- 接入 Claude Code 后需按提示批准 ck-search 工具权限,否则工具调用会失败。
- 开发调试时需通过 cargo clippy --workspace --all-features --all-targets -- -D warnings 且不得有告警。
核心亮点
- 同时支持 BM25 关键词和向量语义检索,混合排序比单一 grep 更准
- 完全本地运行,代码和文档不上传,隐私友好
- Rust 实现,索引和查询速度快,适合大仓库
不足之处
- 需要先建索引,首次使用比直接 grep 多一步
- 语义检索依赖嵌入模型,配置和效果调优有一定门槛
适用场景
- 在大型代码库中按意图查找实现,而非精确关键词
- 给本地编码助手提供代码检索工具,降低上下文成本
- 在文档或笔记库中做语义模糊搜索
替代项目
ripgrep、ast-grep、sourcegraph
下一篇:Foxel
同类项目推荐
firecrawl
开源
网页抓取像喝水一样简单,开发者省下整周加班
Supercharge your AI agents with data from the web and beyond. Building the library f···
contoso-chat
开源
一键跑通 Azure RAG 应用,从代码到评估部署全流程
This sample has the full End2End process of creating RAG application with Prompty an···
graphify
开源
整个代码库画成一张图,找问题一眼定位
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable k···
WeKnora
开源
文档往里一扔,自动变成啥都能答的知识库
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an auto···