SuperAPI AI 工具集

pluck

编程与开发

查看项目

更新于 10-15 21:36

技能介绍

用途:Pluck 是面向 AI agent 的 MCP 原生代码检索引擎,以本地 Rust daemon 运行,通过 MCP 协议暴露工具,作为 agent 默认的代码检索层,替代 cat/grep 读取与搜索代码。

主要能力:智能 outline 代替整文件读取以节省 token;会话去重,已发送过的代码块用 1-token 占位符;混合搜索采用 BM25F 加静态 embedding(potion-code-16M);基于 Tree-sitter 的 AST 分块,粒度到函数/类;每个工具提供 --raw fallback 保底。MCP 工具包括 read(智能 outline 与按需展开)、search(BM25 与语义混合搜索)、grep(ripgrep 包装的正则搜索)、symbol(精确提取函数体)、peek(函数签名与调用者)、expand(展开函数体与 N 跳 callees)、digest(日志压缩)、impact(调用链分析)、deps(前向/反向 import 图)、plan(任务到相关代码推荐)。

使用方式:在 agent 中优先调用 pluck 工具,例如 mcp__pluck__read path="src/auth/login.ts"、mcp__pluck__search query="auth token validation"、mcp__pluck__symbol name="validate_token"、mcp__pluck__impact name="validate_token" depth=3、mcp__pluck__deps path="src/auth/login.ts"。工具失败或不适用时(二进制文件、repo 外路径)回退到 rg、read、fd。CLI 初始化示例:pluck init --target claude --mode aggressive、pluck init --target cursor --mode strong;手动启动 daemon:pluckd --repo /path/to/repo。环境变量 PLUCK_DISABLE_EMBEDDINGS=1 可禁用语义搜索仅用 BM25,RUST_LOG=debug 输出调试日志。MCP 服务器配置写入 ~/.claude.json,command 为 pluckd,args 为 --repo .。

适用场景:需要为编码 agent 降低 token 消耗、进行符号级代码读取、混合搜索、调用链与依赖分析的场景。

限制:要求 Rust 1.75+;Tree-sitter 语法自动下载;首次启动需索引 repo,大 repo 可能需几秒。其余收费、平台支持等信息暂未提供。