Token导航 LogoToken导航TokenDH.com
Lance Context logo
搜索检索未说明官方级别未说明来源级核验

Lance Context

MCP Server

Glancey是一个为Claude Code等AI编程代理添加语义代码搜索功能的MCP插件,能够从整个代码库中提供深度上下文。

工具数

6

提示词数

0

GitHub Stars

1

资源数

0
搜索代码索引TypeScriptClaude开发工具ClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

nicholaspsmith

提供方

nicholaspsmith

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Glancey

这个项目已经日落了。 Claude底层模型的改进使得Glancey提供的语义代码搜索功能不再必要。Claude Code现在能够很好地处理代码库理解,因此外部索引层几乎没有增加任何价值。该软件包将继续在npm上供现有用户使用,但不计划进一步开发或维护。感谢所有尝试过的人!

一个MCP插件,为Claude code和其他AI编码代理添加语义代码搜索,为它们提供整个代码库的深层上下文。

特性

  • 语义代码搜索:自然语言查询在整个代码库中定位相关代码
  • 代币节省:通过仅返回相关代码块,大大减少了上下文使用
  • 多个嵌入后端:谷歌双子座(免费)或Ollama(本地)
  • LanceDB矢量存储:通过混合BM25+密集匹配实现快速高效的矢量搜索
  • MCP兼容:适用于Claude Code、Cursor和其他MCP兼容工具
  • Web仪表板:实时监控索引状态、令牌节省和使用统计数据
  • 珠子集成:如果您的项目使用 珠子

安装

快速安装(推荐)

将Glancey添加到Claude代码中:

claude mcp add --scope user --transport stdio glancey -- npx -y glancey

重新启动Claude Code以开始使用语义搜索。

全局安装(替代)

为了更快的启动(每次运行时不检查npm):

npm install -g glancey

这会自动将Glancey注册到Claude Code。手动更新 npm update -g glancey.

手动注册

如果自动注册不起作用,请手动添加到克劳德代码中:

claude mcp add --scope user --transport stdio glancey -- npx -y glancey@latest

验证安装

在Claude Code中,运行 /mcp 在MCP服务器列表中查看Glancey。

初始化项目(推荐)

安装Glancey后,运行 /init_project 在Claude Code中设置您的项目:

/init_project

这将创建:

  • CLAUDE.md -AI代理如何使用Glancey工具的说明
  • 提交后挂钩 -当提交绕过 commit 工具
  • 斜杠命令 - /glancey, /dashboard, /agents,以及 /init-project

钩子安装在 .husky/ 如果你使用赫斯基,否则 .git/hooks/.

提示: 如果您的代理没有使用Glancey工具(转而使用grep/find),请运行 /glancey 提醒一下。启动新代理(子代理、工作树等)时,告诉他们运行 /glancey 在开始任务之前,让他们知道使用Glancey的语义搜索而不是手动探索。

斜杠命令

Glancey将以下斜线命令安装到 .claude/commands/ 用于克劳德代码:

命令描述
/glancey简要展示工具使用技巧和快速参考。使用此功能提醒代理使用语义搜索而不是grep/find。
/dashboard在浏览器中打开lookey web仪表板,实时监控索引状态、令牌节省和使用情况。
/agents启动1-10个并行的Claude Code代理,每个代理在一个 珠子 在自己的git工作树中执行任务。支持 --auto-merge, --count N, --model MODEL,以及 --budget N 旗帜。
/init-project在当前项目中初始化lookey——设置CLAUDE.md、提交后钩子和斜线命令。

项目级安装

对于特定于项目的MCP配置,添加 .mcp.json 到您的项目根目录:

{
  "mcpServers": {
    "glancey": {
      "command": "npx",
      "args": ["-y", "glancey@latest"]
    }
  }
}

项目配置

创建一个 .glancey.json 项目根目录中的文件,用于自定义索引行为。所有选项都是可选的——Glancey使用合理的默认值即可开箱即用。

最小配置

对于大多数项目,您只需指定要包含的内容:

{
  "patterns": ["**/*.ts", "**/*.js"],
  "instructions": "This is a TypeScript monorepo. Use semantic search to find relevant utilities."
}

完整配置示例

{
  "patterns": ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"],
  "excludePatterns": ["**/node_modules/**", "**/dist/**", "**/*.test.ts"],
  "embedding": {
    "backend": "gemini"
  },
  "chunking": {
    "maxLines": 100,
    "overlap": 20
  },
  "search": {
    "semanticWeight": 0.7,
    "keywordWeight": 0.3
  },
  "dashboard": {
    "enabled": true,
    "port": 24300,
    "openBrowser": true
  },
  "instructions": "Project-specific instructions for AI agents working with this codebase."
}

配置选项参考

选项描述默认值
patterns要索引的文件的全局模式["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx", "**/*.py", "**/*.go", "**/*.rs", "**/*.java", "**/*.rb", "**/*.php", "**/*.c", "**/*.cpp", "**/*.h", "**/*.hpp", "**/*.cs", "**/*.swift", "**/*.kt"]
excludePatterns要排除的文件的全局模式["**/node_modules/**", "**/dist/**", "**/.git/**", "**/build/**", "**/target/**", "**/__pycache__/**", "**/venv/**", "**/.venv/**", "**/vendor/**", "**/*.min.js", "**/*.min.css"]
embedding.backend嵌入提供程序: "gemini""ollama"基于可用的API密钥的自动检测
embedding.model覆盖默认嵌入模型后端默认
embedding.ollamaConcurrency最大并发Ollama请求数(1-200)100
indexing.batchSize每个嵌入批处理请求的文本(1-1000)200
chunking.maxLines每个块的最大行数100
chunking.overlap块之间的重叠线用于上下文连续性20
search.semanticWeight语义(向量)相似度权重(0-1)0.7
search.keywordWeightBM25关键字匹配权重(0-1)0.3
dashboard.enabled启用web仪表板true
dashboard.port仪表板服务器的端口24300
dashboard.openBrowser仪表板启动时自动打开浏览器true
instructions返回的项目特定说明 get_project_instructions没有

默认行为

没有a .glancey.json 文件,Glancey将:

  • 索引常用源代码文件(TypeScript、JavaScript、Python、Go、Rust、Java、Ruby、PHP、C/C++、C#、Swift、Kotlin)
  • 排除构建工件、依赖关系和生成的文件
  • 如果满足以下条件,请使用Gemini嵌入 GEMINI_API_KEY 已设置,否则使用当地Olama qwen3-embedding:0.6b
  • 将代码拆分为100行块,重叠20行
  • 使用70%语义/30%关键字权重的混合搜索
  • 在端口24300上启动仪表板

环境变量

设置这些环境变量以配置嵌入后端:

变量描述默认值
GEMINI_API_KEYGoogle Gemini API云嵌入密钥(免费套餐可用)
OLLAMA_URL本地嵌入的自定义Ollama服务器URLhttp://localhost:11434
GLANCEY_PROJECT覆盖项目路径以索引当前工作目录

后端选择优先级:

  1. 如果 embedding.backend 在配置中设置,使用该后端
  2. 如果 GEMINI_API_KEY 已设置,请使用Gemini
  3. 回退到Ollama(必须在当地运行)

Glancey如何节省代币

AI编码代理通常需要读取整个文件来理解你的代码库,这会消耗大量的上下文令牌。Glancey通过以下方式大幅减少了代币使用:

无眩光有眩光节省
读取5-10个文件以查找身份验证代码(约5000行)search_code 返回3个块(约150行)~97%
读取整个文件以了解结构get_symbols_overview 返回紧凑列表~80-90%
浏览许多文件以了解代码库summarize_codebase + list_concepts~95%
读取并比较文件中的重复项search_similar 返回目标结果~90%

代币储蓄仪表板

web仪表板显示实时令牌节省统计数据:

  • 预计节省的代币:使用语义搜索避免的令牌总数
  • 效率:保存的潜在代币百分比
  • 文件无法读取:由于目标搜索而跳过的文件计数
  • 跟踪操作:有助于节省的搜索操作数量

运作原理

  1. 分块:你的代码库被拆分为语义块(函数、类等)
  2. 嵌入:每个块都转换为向量嵌入
  3. 搜索:查询只查找最相关的块,而不是整个文件
  4. 返回:只有匹配的块被发送到AI,保存上下文令牌

建筑

┌─────────────────────────────────────────────────────────────┐
│                    MCP Server (index.ts)                    │
│         Exposes tools: index_codebase, search_code          │
└─────────────────┬───────────────────────────────────────────┘
                  │
┌─────────────────▼───────────────────────────────────────────┐
│                  CodeIndexer (indexer.ts)                   │
│  - AST-aware chunking for supported languages               │
│  - Incremental indexing (only re-index changed files)       │
│  - Hybrid search (semantic + keyword scoring)               │
└─────────────────┬───────────────────────────────────────────┘
                  │
┌─────────────────▼───────────────────────────────────────────┐
│              Embedding Backends (embeddings/)               │
│            Gemini  │  Ollama (local)                        │
└─────────────────┬───────────────────────────────────────────┘
                  │
┌─────────────────▼───────────────────────────────────────────┐
│                   LanceDB Vector Store                      │
│           Stored in .glancey/ directory               │
└─────────────────────────────────────────────────────────────┘

嵌入后端设置

Glancey会自动选择最佳可用后端(按优先级顺序):

  1. 谷歌双子星 (如果 GEMINI_API_KEY 已设置,可用免费等级)
   export GEMINI_API_KEY=AIza...
  1. 奥拉玛 (推荐给大多数用户-免费、本地、无费率限制)

Ollama设置(推荐)

Ollama提供免费的本地嵌入,没有API速率限制。非常适合索引大型代码库。

要求: Ollama 0.2.0或更新版本(用于批量嵌入API)

  1. 安装Ollamaollama.com
  1. 验证版本 (必须为0.2.0+):
   ollama --version
  1. 拉动嵌入模型:
   ollama pull qwen3-embedding:0.6b
  1. 验证它是否正常工作:
   ollama run qwen3-embedding:0.6b "test"

就是这样!当未设置Gemini API密钥时,Glancey将自动使用Ollama。

模型选项

型号尺寸质量最适合
qwen3-embedding:0.6b639MB良好大多数用户(默认)
qwen3-embedding:4b2.5GB更好16GB+RAM的用户
qwen3-embedding:8b4.7GB最佳32GB+RAM的用户

要使用其他型号,请添加到您的 .glancey.json:

{
  "embedding": {
    "backend": "ollama",
    "model": "qwen3-embedding:4b"
  }
}

项目配置 对于所有配置选项,包括如何指定后端。

用法

安装后,您将可以访问这些工具:

index_codebase

索引您的代码库以进行语义搜索:

> index_codebase
Indexed 150 files, created 800 chunks.

使用自定义图案:

> index_codebase(patterns: ["**/*.py"], excludePatterns: ["**/tests/**"])

search_code

使用自然语言搜索:

> search_code(query: "authentication middleware")

## Result 1: src/middleware/auth.ts:1-50
...

get_index_status

检查索引状态:

> get_index_status
{
  "indexed": true,
  "fileCount": 150,
  "chunkCount": 800,
  "lastUpdated": "2024-12-27T12:00:00Z"
}

clear_index

清除索引:

> clear_index
Index cleared.

get_project_instructions

从配置中获取特定于项目的说明:

> get_project_instructions
Use semantic search for exploring this codebase. Always run tests before committing.

仪表盘

Glancey包括一个用于监控索引状态和使用情况的web仪表板。

访问仪表板

当MCP服务器运行时,仪表板会自动启动,可在以下位置访问:

http://127.0.0.1:24300

浏览器在启动时自动打开(可配置)。

仪表板功能

  • 索引状态:文件索引、块创建、上次更新时间
  • 嵌入后端:当前后端和索引路径
  • 配置:项目路径、块设置、搜索权重
  • 文件模式:包括/排除正在使用的模式
  • 命令用法:MCP工具使用的实时图表(使用 charts.css)
  • 珠子集成:问题跟踪器状态和就绪任务(如果配置了珠子)

仪表板配置

通过配置仪表板 dashboard 选项在 .glancey.json。参见 配置选项参考 了解详情。

运作原理

  1. 索引:代码文件被分块为~100个重叠的线段
  2. 嵌入:使用您选择的后端将每个块转换为向量
  3. 存储:矢量存储在LanceDB中(.glancey/ 目录)
  4. 搜索:嵌入自然语言查询,并将其与存储的向量进行匹配

支持的语言

TypeScript、JavaScript、Python、Go、Rust、Java、Ruby、PHP、C/C++、C#、Swift、Kotlin等。

故障排除

“没有可用的嵌入后端”

此错误意味着没有设置API密钥,Ollama无法运行/访问。

解决:

  1. 设置Ollama(推荐):
   # Install from https://ollama.com, then:
   ollama pull qwen3-embedding:0.6b
  1. 或者设置Gemini API密钥: export GEMINI_API_KEY=AIza...

“嵌入维度不匹配”

当在嵌入后端之间切换时(例如,从Gemini到Ollama)会发生这种情况。每个后端产生不同的向量维度。

解决方案: 强制完全重新索引:

> index_codebase(forceReindex: true)

索引速度慢

大型代码库最初可能需要时间进行索引。

提示:

  1. 使用 excludePatterns 跳过不必要的目录(测试、生成的代码)
  2. Ollama在当地使用更快,但需要更多资源
  3. 后续运行使用增量索引(仅更改文件)

指数腐败

如果您遇到奇怪的搜索结果或错误:

解决方案: 清除并重建索引:

> clear_index
> index_codebase

或手动删除 .glancey/ 目录和重新索引。

许可证

麻省理工学院-参见 许可证 了解详情。

贡献

欢迎投稿!请阅读我们的 贡献指南 在提交PR之前。

相关项目

积分

内置:

灵感来源:

目录标签

目录标签

搜索代码索引TypeScriptClaude开发工具语义搜索本地部署AI编程辅助向量数据库开发效率

支持客户端

ClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP