Omarchy MCP搜索
一个用于搜索Omarchy Linux手册的智能模型上下文协议(MCP)服务器,内置用于生成语料库的抓取器。
特性
✨ 模糊搜索 -与Fuse.js兼容拼写错误 🔍 智能同义词 -自动查询扩展 📊 TF-IDF排名 -智能相关性评分 ⚡ LRU缓存 -500个查询缓存,用于即时结果 🎯 关键字提取 -自动概念识别 🌿 波特斯特明 -匹配单词变体 💬 多字逻辑 -智能短语处理
项目结构
omarchy-mcp-search/
├── mcp-server/ # MCP server implementation
│ ├── src/
│ │ └── server.ts # Main server code
│ ├── package.json
│ ├── GetStarted.md # Detailed MCP documentation
│ └── README.md
├── scraper/ # Corpus generation tool
│ ├── scrape_and_build_omarchy.py
│ ├── requirements.txt
│ └── README.md
├── corpus/ # Generated search index (gitignored)
│ ├── index.jsonl
│ └── pages/
├── setup-first-time.sh # ⭐ First-time setup script
├── update-corpus.sh # Automated update script
├── UPDATING.md # Update documentation
├── README.md # This file
└── LICENSE # ISC License快速开始
自动设置(推荐)
git clone https://github.com/12lolo/omarchy-mcp-search.git
cd omarchy-mcp-search
./setup-first-time.sh这个脚本将:
- ✅ 设置Python虚拟环境
- ✅ 安装所有依赖项(Python+Node.js)
- ✅ 通过抓取Omarchy手册生成语料库
- ✅ 向您显示要添加到Claude Code的确切命令
然后只是 添加到Claude代码并重新启动!
手动设置
Click to expand manual setup steps
1.生成语料库
cd scraper
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python3 scrape_and_build_omarchy.py --out ../corpus --max-pages 200这创造了 corpus/index.jsonl 使用优化的文档块。
2.安装MCP服务器
cd mcp-server
npm install3.添加到克劳德代码
claude mcp add --transport stdio omarchy-manual \
--env CORPUS_INDEX=/path/to/omarchy-mcp-search/corpus/index.jsonl \
-- npx tsx /path/to/omarchy-mcp-search/mcp-server/src/server.ts替换 /path/to/ 根据您的实际项目路径。
4.重新启动克劳德代码
退出并重新启动Claude Code以激活MCP服务器。
5.测试它
询问克劳德代码:
"Search the omarchy manual for shortcuts"更新语料库
当Omarchy手册在线更新时,刷新您的本地语料库:
./update-corpus.sh然后 重新启动克劳德代码 加载新内容。
看 更新.md 用于:
- 手动更新过程
- 自动化选项(cron等)
- 故障排除
- 更新频率建议
______________________________________________________________________
用法示例
基本查询
"hotkeys" → Finds keyboard shortcuts
"theme settings" → Finds appearance/style docs
"how to screenshot" → Multi-word intelligence拼写错误容忍度
"neovimm" → Corrects to "neovim"
"shortcutts" → Finds "shortcuts"
"instaling" → Finds "install"同义词扩展
"shortcuts" → Searches: hotkeys, keybinds, keyboard...
"wifi setup" → Searches: wireless, network, internet...
"editor config" → Searches: neovim, vim, nvim...文档
- mcp服务器/GStarted.md -完整的MCP服务器指南
- mcp服务器/README.md -MCP快速参考
- scraper/README.md -刮板文件
演出
| 度量 | 值 |
|---|---|
| 搜索速度(缓存) | \<1ms |
| 搜索速度(首次) | 10-30ms |
| 内存使用量 | ~6-7MB |
| 缓存容量 | 500个查询 |
建筑
搜索管道
Query → Cache Check → Synonym Expansion → Multi-Mode Search → Ranking → Cache → Results多模式搜索包括:
- 精确的子字符串匹配
- 模糊匹配(Fuse.js)
- 关键字匹配
- 阀杆匹配(波特)
- TF-IDF评分
评分权重
- 完全匹配的标题:+150
- 标题包含:+50
- 准确航向:+75
- 标题包含:+25
- 身体匹配:+5
- 关键字匹配:+15
- 杆匹配:+10
- TF-IDF:变量
- 多词奖励:+30
发展
MCP服务器
cd mcp-server
# Start server
npm start
# Development mode (auto-reload)
npm run dev爬虫
cd scraper
source .venv/bin/activate
# Re-scrape corpus
python3 scrape_and_build_omarchy.py --out ../corpus测试MCP工具
从Claude Code中,您可以测试:
search_omarchy(query="shortcuts", limit=10)
get_omarchy_chunk(id="abc123")
cache_stats()故障排除
MCP服务器无法启动
检查语料库路径:
cd mcp-server
CORPUS_INDEX=../corpus/index.jsonl npm start搜索未返回任何结果
- 验证语料库是否存在:
ls -lh ../corpus/index.jsonl - 检查MCP连接:
claude mcp list - 完全重新启动Claude代码
- 尝试使用精确的术语:“热键”、“主题”、“neovim”
刮板故障
- 增加等待时间:
--wait 2.0 - 减少最大页数:
--max-pages 50 - 检查互联网连接
- 验证源URL是否可访问
技术
MCP服务器
- TypeScript+tsx
- Fuse.js(模糊搜索)
- 自然(NLP/词干)
- lru缓存(查询缓存)
- @模型上下文协议/sdk
爬虫
- Python 3
- 请求(HTTP)
- beautifulsoup4(HTML解析)
- lxml(快速解析器)
贡献
这是一个个人项目,但请随时根据自己的文档需求进行分叉和调整!
许可证
ISC
积分
专为搜索 Omarchy Linux手册. Omarchy是由 DHH/大本营.
______________________________________________________________________
状态: ✅ 生产就绪 版本: 2.0.0 演出 ⚡ 优化
