EE

enowdev/enowx-rag

开发工具

本页由 AI 翻译,技术细节请以原文为准。 查看原文

41 stars 13 forks 质量 88 趋势 32Apache-2.0

RAG 技能和 MCP 用于 AI 代理,用于代码库索引和内存

概览

每个项目的RAG内存MCP服务器。每个项目都有自己的向量集合,这样LLM可以索引代码库的上下文并快速检索。 服务器从单一二进制文件运行: - (默认):enowx-rag — 通过 Model Context 协议与 Stdio 上的 AI 编码工具通信。- : enowx-rag --serve — 启动一个包含 REST API、SSE 事件流、嵌入式 React 仪表盘的 HTTP 服务器,使代理可以作为远程守护进程(例如 VPS 上)连接到 enowx-rag。 运行enowx-rag ——在主机上服务并远程连接代理。设置RAG_ADMIN_TOKEN以保护安全——它会用承载令牌对/api/*和/mcp进行门控(unset = 无认证,仅限受信任网络)。在前面放置一个TLS反向代理供公开使用。 所有MCP工具的工作方式与本地标准模式相同。详情请参见页面。 LLM编码代理会忘记会话间的所有内容,只看到你粘贴的文件。

概述(AI 翻译)

每个项目的RAG内存MCP服务器。每个项目都有自己的向量集合,这样LLM可以索引代码库的上下文并快速检索。

服务器运行于两种模式,来自单一二进制:

  • MCP 标准模式(默认):enowx-rag — 通过模型上下文协议与 Stdio 上的 AI 编码工具通信。
  • HTTP 服务模式:enowx-rag --serve — 在 [[T2]** 启动一个包含 REST API、SSE 事件流、嵌入式 React 仪表盘和 HTTP MCP 的 HTTP 服务器,使代理可以作为远程守护进程(例如 VPS 上)连接到 enowx-rag。

远程守护进程(通过HTTP的MCP)

在主机上运行enowx-rag --serve,远程连接代理。设置RAG_ADMIN_TOKEN保护——它用承载令牌对/api/*和/mcp进行门控(unset = 无授权,仅限受信任网络)。在前面放置TLS反向代理供公开使用。

指向守护进程的MCP客户端:

所有MCP工具的工作方式与本地stdio模式相同。详情请参见Docs → Remote / daemon页面。


为什么是埃诺克斯布?

LLM编码代理会在会话间忘记所有内容,只看到你 粘贴。enowx-rag 为代理提供一个持久的、每个项目的内存

本页由 AI 翻译,技术细节请以原文为准。

README

以下为原文 README 节选,完整内容请查看原文。

enowx-rag

Per-project RAG memory MCP server. Each project gets its own vector collection, so an LLM can index context about a codebase and retrieve it quickly.

The server runs in two modes from a single binary:

  • MCP stdio mode (default): enowx-rag — talks to AI coding tools over stdio via the Model Context Protocol.
  • HTTP serve mode: enowx-rag --serve — starts an HTTP server with a REST API, SSE event stream, an embedded React dashboard, and MCP over HTTP at /mcp so agents can connect to enowx-rag as a remote daemon (e.g. on a VPS).

Remote daemon (MCP over HTTP)

Run enowx-rag --serve on a host and connect agents remotely. Set RAG_ADMIN_TOKEN to secure it — it gates both /api/* and /mcp with a bearer token (unset = no auth, only for trusted networks). Put a TLS reverse proxy in front for public use.

RAG_ADMIN_TOKEN=$(openssl rand -hex 32) ./enowx-rag --serve --addr :7777

Point an MCP client at the daemon:

{
  "mcpServers": {
    "enowx-rag": {
      "url": "https://rag.example.com/mcp",
      "headers": { "Authorization": "Bearer " }
    }
  }
}

All MCP tools work identically to local stdio mode. See the Docs → Remote / daemon page for details.


Why enowx-rag?

LLM coding agents forget everything between sessions and only see the files you paste. enowx-rag gives an agent a persistent, per-project memory it can search — so it recalls your architecture decisions, gotchas, and conventions without you re-explaining them every time.

  • Per-project isolation. Each project is its own vector collection (project_), so an agent working in one repo never retrieves context leaked from another. Index a codebase once; query it in isolation.
  • Retrieval that actually finds things. Dense semantic search, optional hybrid (dense + lexical RRF), reranking (Voyage rerank-2.5), and near-duplicate compression — tunable per query. See the ranked results, scores, and matched snippets live in the Playground.
  • Persistent memory, durable metrics. Design decisions and facts survive across sessions and restarts; query latency (p50/p95), token usage, and retrieval breakdown are persisted to a local SQLite DB (pure-Go, no cgo).
  • Bring your own stack. Vector stores: a built-in SQLite file (nothing to install), Qdrant, pgvector, Chroma. Embedders: Voyage AI, any OpenAI-compatible /v1/embeddings API, or self-hosted TEI. Swap models or move stores later with the built-in
在 GitHub 查看完整 README

安装

This server does not publish a one-line install command.

Open the repository installation guide 新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "enowx-rag": { "url": "https://rag.example.com/mcp", "headers": { "Authorization": "Bearer <RAG_ADMIN_TOKEN>" } } } }