Darwin RAG

io.github.Brightdotdev由 GitHub 账号 Brightdotdev 发布v0.2.18更新于 Oct 24, 2026

Local-first RAG engine with MCP server for AI agent integration.

发布方自己的服务:Darwin

概览

AI 生成的概览

一个本地优先的 RAG 引擎,可摄取文档、建立索引,并让助手在其上检索和回答问题。

可以做什么
Darwin RAG 可摄取 PDF、Markdown、HTML、经 OCR 的图片、CSV、Excel、ODS 文件以及 URL,并构建 BM25 关键词与稠密向量的混合索引,分块策略可配置。通过 MCP 提供 search_darwin(混合、语义或关键词检索)、search_lists 与 get_schema(结构化文件)、run_pipeline(摄取并索引),以及文件状态、已保存结果和日志查询等工具。答案生成由 LiteLLM 调用大模型完成,多个相互隔离的存储可区分不同租户或项目。
适用场景
当助手需要基于私有本地文档集回答问题,且文档格式混杂(如扫描版 PDF 和表格),又不希望把语料发送到托管服务时,适合使用。也适合需要按项目划分独立知识库并查询会话日志的场景。
运行要求
以本地进程方式运行,从 PyPI 安装 darwin-rag,因此需要 Python。需先用 darwin-admin setup 命令完成模型设置。答案生成至少需要一个 LLM 提供方密钥,通过环境变量提供,例如 OPENAI_API_KEY、ANTHROPIC_API_KEY 或 GEMINI_API_KEY;检索和索引无需密钥。DARWIN_BASE_DIR 可覆盖数据目录。仅支持桌面端。
安装前请注意
该服务器通过环境变量索取 LLM 提供方 API 密钥,这些密钥用于答案生成,因此查询内容和检索到的片段可能被发送给所选提供方。它会写入和删除本地数据:run_pipeline 摄取并索引文件,purge_artifacts 删除指定文件的流水线产物。HTTP 或 SSE 模式会把服务器暴露在网络端点上,绑定地址时需谨慎。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Darwin RAG,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Darwin RAG

Search your own documents with any AI agent, privately, on your own machine.

Darwin is a local-first RAG engine that ingests documents, indexes them with BM25 + dense embeddings, and exposes search through an MCP server. Point Claude, Cursor, or any MCP client at it and your agent can search your PDFs, notes, spreadsheets, and web pages without sending them to a cloud index.

One-time internet is needed to download models during setup. After that, search and indexing run fully offline.

[License: MIT] [PyPI]

  • Ingestion: PDF, Markdown, HTML, images (OCR), CSV, Excel, ODS, URLs
  • Indexing: BM25 keyword + dense embedding hybrid index with configurable chunking strategies
  • Search: Hybrid, semantic, or keyword retrieval with reranking, diversity rerank, and structural penalties
  • Generation: LLM-backed answer synthesis via LiteLLM (OpenAI, Anthropic, Gemini, etc.)
  • Observability: Structured logging with per-session history, queryable via MCP
  • Isolation: Multiple independent stores for tenant/project separation
  • Deployment: stdio (AI agent subprocess), SSE, or Streamable HTTP; Docker-ready
  • Local-first: Everything runs locally, fully offline-capable after setup

Built by BrightDotDev.


Why Darwin?

  • Private by default. Your documents stay on your machine.
  • Works with your agent. Standard MCP server: Claude Desktop, Cursor, and other MCP clients.
  • Search that fits the question. Keyword for exact terms, semantic for meaning, hybrid when unsure.
  • Light to start. The required preset downloads just one embedding model.

Quick Start

1. Install

bash
pip install darwin-rag

2. Set up models

bash
# Interactive: detects hardware, pick your modelsdarwin-admin setup interactive
# Or one-shot (embedding-only, no prompts)darwin-admin setup --preset required

3. Start the MCP server & connect

bash
# stdio mode: for AI agent subprocess (Claude Desktop, Cursor, etc.)darwin mcp
# Or HTTP mode: for remote clientsdarwin mcp --http --port 8765

Configure your MCP client:

json
{  "mcpServers": {    "darwin": {      "command": "darwin",      "args": ["mcp"],      "env": {        "OPENAI_API_KEY": "sk-..."  // At least one LLM provider key      }    }  }}

Or generate config automatically:

bash
darwin config claude          # Claude Desktop configdarwin config cursor          # Cursor configdarwin config all --copy      # All clients + copy to clipboard

4. Try it

Ask your agent: "Ingest ./my-notes with Darwin, then find everything I wrote about ."


Use it as an agent skill

Darwin ships with a skill (skills/darwin-rag/SKILL.md) that tells agents when and how to use the MCP tools: check what's indexed, ingest, pick a search mode, and answer from sources. Copy the darwin-rag folder into your agent's skills directory (for Claude Code: ~/.claude/skills/).


MCP Tools

ToolDescription
search_darwinQuery the knowledge base with hybrid/semantic/keyword search
search_listsSearch structured data (CSVs, JSON arrays) by field values
get_search_resultsList saved search results
get_search_result_by_idLoad a saved search result by filename
get_schemaInspect schemas for structured files (keys, types, record counts)
run_pipelineIngest + index documents from a path or URL
purge_artifactsDelete pipeline artifacts for specific files
create_storeCreate a new isolated data store
list_filesList all tracked files with pipeline status
file_statusDetailed status for a single file across all stages
get_logsQuery session logs (oldest first, INFO excluded)

Full documentation: docs/mcp.md


Remote / HTTP Mode

Start the server on a network-accessible endpoint:

bash
# SSE transport (legacy)darwin mcp --sse --host 0.0.0.0 --port 8765
# Streamable HTTP transport (recommended for production)darwin mcp --http --host 0.0.0.0 --port 8765

Configure your MCP client with the URL:

json
{  "mcpServers": {    "darwin": {      "url": "http://your-host:8765/mcp"  // or /sse for SSE mode    }  }}

Environment Variables

VariableRequiredDescription
OPENAI_API_KEYNo*OpenAI provider key
ANTHROPIC_API_KEYNo*Anthropic provider key
GEMINI_API_KEYNo*Google Gemini provider key
MISTRAL_API_KEYNo*Mistral AI provider key
GROQ_API_KEYNo*Groq provider key
COHERE_API_KEYNo*Cohere provider key
TOGETHER_API_KEYNo*Together AI provider key
OPENROUTER_API_KEYNo*OpenRouter provider key
DEEPSEEK_API_KEYNo*DeepSeek provider key
DARWIN_BASE_DIRNoOverride the base data directory
NO_COLORNoSet to any value to disable ANSI color output

* At least one LLM provider key is required for answer generation. Search/indexing works without any.


Setup Details

CommandWhat it does
darwin-admin setup interactiveGuided setup: detect hardware, choose models
darwin-admin setup --preset requiredDownload embedding model only (fastest)
darwin-admin setup --preset recommendedEmbedding + reranker + OCR models
darwin-admin setup loggingReconfigure logging only
darwin-admin setup validateValidate current setup

See docs/setup.md for the full walkthrough including Docker, from-source install, and API key configuration.


CLI Reference

darwin: User CLI

CommandDescription
darwin mcpStart MCP server (stdio, --sse or --http for network)
darwin config [client]Generate MCP client config

darwin-admin: Power-user CLI

CommandDescription
darwin-admin setupSetup models, logging, and configuration
darwin-admin statusSystem status overview
darwin-admin modelsModel registry: list, install, switch, keys
darwin-admin storeData store: status, files, audit, health, repair
darwin-admin pipelineIngestion pipeline: run, ingest, index, purge
darwin-admin searchInteractive search
darwin-admin logsStructured log viewer and management
darwin-admin systemSystem information
darwin-admin uninstallRemove Darwin data and configuration

See docs/admin.md for the full command reference.


Python API

For embedding darwin-rag as a library in your own app:

python
from core import Darwin
d = Darwin()d.ingest("./papers", recursive=True)results = d.search("what is this paper about")records = d.search_records(filters={"status": "active"})

Full reference: docs/api.md


Documentation

DocWhat
setup.mdFull setup walkthrough
mcp.mdMCP server, tools, resources, transports
admin.mdAdmin CLI reference
architecture.mdFor developers and contributors
pipeline.mdIngestion & indexing
retrieval.mdSearch engine
storage.mdDarwinStore
models.mdModel registry & inference
logger.mdStructured logging
orchestrators.mdHigh-level business logic
api.mdPython API (Darwin class)

Contributing

Found a bug? Want to add something? You're welcome here.

Read CONTRIBUTING.md for the full guidelines.


License

MIT. See LICENSE.

Core architecture and implementation by BrightDotDev.

来源:README.md,提交 dd74e2b

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.2.18最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Darwin 集成