Token导航 LogoToken导航TokenDH.com
semango (Omarkamali) logo
搜索检索stdio官方级别未说明来源级核验

semango (Omarkamali)

MCP Server

Semango是一个结合了词法(BM25)和语义(向量)搜索的混合搜索引擎,支持代码库和文档的自然语言查询。

工具数

9

提示词数

0

GitHub Stars

2

资源数

0
C++DockerClaude混合搜索Claude DesktopClaude

安装说明

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

作者 / 组织

omarkamali

提供方

omarkamali

最后核验

2026/5/17 20:19

运行时

Docker

快速接入

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

命令预览

docker run -p 8181:8181 -v $(pwd):/data ghcr.io/omarkamali/semango:latest

详细介绍

🥭 塞曼戈

![CI](https://github.com/omarkamali/semango/actions/workflows/ci.yml) ](https://go.dev/) ![License: MIT](https://opensource.org/licenses/MIT)

🥭 塞曼戈 是一个结合了词汇(BM25)和语义(向量)搜索的混合搜索引擎。对代码库和文档进行索引,并使用自然语言查询进行搜索。

网站和文档:https://semango.org

特性

  • 混合搜索:将BM25词汇搜索(Bleve)与向量相似度(FAISS)相结合
  • 多格式摄入:Markdown/文本、代码(纯文本)、PDF、CSV/JSON/JSONL、Parquet、SQLite、Excel
  • 增量索引:仅重新索引已更改的文件(按mtime+size),使后续运行接近即时
  • 嵌入提供者:兼容OpenAI的API或本地ONNX模型
  • GPU加速:内置对CUDA加速本地嵌入的支持
  • MCP服务器:LLM工具使用的模型上下文协议支持(stdio和SSE传输)
  • Web 界面:嵌入式基于React的暗模式搜索界面
  • REST API:用于编程访问的轻量级HTTP API
  • 优雅地关闭:清除所有命令中的Ctrl+C处理
  • 单一二进制:具有嵌入式UI资产的自包含可执行文件

安装

下载二进制文件

# macOS / Linux
curl -L "https://github.com/omarkamali/semango/releases/latest/download/semango_$(uname -s | tr '[:upper:]' '[:lower:]')_$(uname -m).tar.gz" | tar xz
sudo mv semango /usr/local/bin/

码头工人

docker pull ghcr.io/omarkamali/semango:latest
docker run -p 8181:8181 -v $(pwd):/data ghcr.io/omarkamali/semango:latest

从源代码构建

需要Go 1.23+、Node.js 20+和CGO依赖项(FAISS、OpenBLAS)。

git clone https://github.com/omarkamali/semango.git
cd semango
make build

快速开始

# 1. Initialize configuration
semango init

# 2. Index your content
semango index

# 3. Start the server (includes web UI + auto-reconciliation)
semango server

打开http://localhost:8181对于web UI,或查询API:

curl -X POST http://localhost:8181/search \
  -H "Authorization: Bearer your-secret-token" \
  -H "Content-Type: application/json" \
  -d '{"query": "how does authentication work", "top_k": 5}'

CLI命令

命令描述
semango init创建默认值 semango.yml 配置文件
semango index索引文件(增量--跳过未更改的文件)
semango index stats显示索引统计信息(文档计数)
semango search 从命令行搜索
semango server使用UI和定期对账启动HTTP服务器
semango mcp stdio通过stdin/stdout启动MCP服务器
semango mcp sse通过HTTP/SSE启动MCP服务器
semango models list列出可用的本地ONNX型号
semango version打印版本信息
提示: 跑步 semango index 第二次不进行文件更改会立即完成——只有修改过的文件会被重新嵌入和重新索引。

## Configuration

Semango uses `semango.yml` for configuration. Key options:

embedding: provider: openai # or "local" for ONNX models model: text-embedding-3-large # Optional: base_url, api_key, api_key_env, base_url_env

lexical: enabled: true index_path: ./semango/index/bleve

hybrid: vector_weight: 0.7 lexical_weight: 0.3 fusion: linear # or "rrf"

files: include: - '**/*.md' - '**/*.go' - '**/*.pdf' exclude: - .git/ - node_modules/

server: port: 8181 auth: type: token token_env: SEMANGO_TOKENS


看 [docs/SEMANGO_GUIDE.md](docs/SEMANGO_GUIDE.md) 以获取完整的配置参考。

## 环境变量

|变量|描述|默认/可选|
|----------|-------------|--------------------|
| `SEMANGO_TOKENS` |API有效令牌的逗号分隔列表|已分析但尚未强制执行|
| `OPENAI_API_KEY` |当使用API密钥时 `provider: openai` |如果使用 `api_key` 或 `api_key_env` 未设置|
| `OPENAI_BASE_URL` |OpenAI兼容API的基本URL |默认为OpenAI官方端点|
| `SEMANGO_ENV_FILE` |通往 `.env` 要加载的文件|默认为 `.env` |
| `SEMANGO_MODEL_DIR` |本地ONNX型号的缓存目录|默认为 `~/.cache/semango` |

您还可以通过设置来自定义Semango要查找的环境变量 `api_key_env` 或 `base_url_env` 在你的 `semango.yml`.

## MCP(模型上下文协议)

Semango可以充当 [主控程序](https://modelcontextprotocol.io/) 服务器,让LLM将您的索引内容用作搜索工具:

stdio transport (for Claude Desktop, etc.)

semango mcp stdio --config semango.yml

SSE transport (HTTP-based, for remote clients)

semango mcp sse --host 0.0.0.0 --port 8080 --config semango.yml


## 文档

- https://semango.org/guide/
- [本地嵌入](docs/LOCAL_EMBEDDER.md) --使用本地ONNX模型
- [表格数据](docs/tabular.md) --摄入CSV/JSON/JSONL/Parquet/SQLite/Excel文件
- [MCP集成](docs/guide/mcp.md) --将Semango与LLM结合使用

在线的https://semango.org

## 贡献

欢迎投稿!请参阅 [贡献.md](CONTRIBUTING.md) 作为指导方针。

## 许可证

[MIT许可证](LICENSE).

## 作者

由...建造 **奥马尔·卡马利** (https://omarkamali.com)--Omneity实验室(https://omneitylabs.com)

目录标签

目录标签

C++DockerClaude混合搜索本地部署自然语言查询代码库搜索语义搜索向量搜索

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

9

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdiotoken部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP