关于 draco
DRACO 是面向编码、系统和安全问题的问答服务,通过检索技术书籍并引用来源作答。它为开发者和安全从业者提供网页界面、REST API 与 MCP 接口。
主要功能
- 01检索技术书籍内容
- 02答案附行内引文和来源列表
- 03BM25 段落搜索
- 04REST API 与流式回答
- 05使用本地 Ollama 模型自托管
适用场景
- 01研究编码或系统问题
- 02通过带引文的资料了解安全主题
- 03搜索相关书籍段落
MCP 相关
其 Streamable HTTP MCP 服务向客户端提供 `draco_ask`、`draco_search` 和 `draco_status`。项目还包含供 Claude Desktop 和本地客户端使用的 stdio 桥接程序。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://draco.thetempleofdoom.com/mcpclaude mcp add --transport http com-thetempleofdoom-draco-draco https://draco.thetempleofdoom.com/mcp{"mcpServers":{"com-thetempleofdoom-draco-draco":{"type":"http","url":"https://draco.thetempleofdoom.com/mcp"}}}在 Cursor 中打开{"servers":{"com-thetempleofdoom-draco-draco":{"type":"http","url":"https://draco.thetempleofdoom.com/mcp"}}}在 VS Code 中打开{"mcpServers":{"com-thetempleofdoom-draco-draco":{"type":"http","url":"https://draco.thetempleofdoom.com/mcp"}}}{"mcpServers":{"com-thetempleofdoom-draco-draco":{"serverUrl":"https://draco.thetempleofdoom.com/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
DRACO — 由书籍锻造的代码先知
其他 AI 靠猜。DRACO 知道答案——并能证明。
DRACO 借助 1,855 本真实技术书籍(3.54 亿个字符、116,558 个已索引段落)中的检索结果,回答编程、系统和安全问题,并为每项论断引用确切的书籍来源。没有知识截止日期。不会洗白幻觉。证据随附。
立即体验: https://draco.thetempleofdoom.com — 每天可免费提问 10 次,无需注册。
与众不同之处
| 通用聊天机器人 | DRACO |
|---|---|
| 从压缩的训练数据中回忆 | 实时检索书架上的 1,855 本书籍 |
| “相信我”的回答 | 每项论断都带有 [n] 引用和 sources 数组 |
| 有知识截止日期 | 正典常驻其中——K&R、Tanenbaum、shellcoders 手册 |
| 出售你的提示词 | 可自托管、零遥测,问题绝不会离开本地 |
快速开始
在浏览器中聊天
https://draco.thetempleofdoom.com — 流式回答、可见推理,每条回答下方都有来源栏。每天免费 10 次,无需账号。
REST API
# 1. Get a free key (30 credits/month, email only, no card)
curl -s -X POST https://draco.thetempleofdoom.com/api/signup \
-H 'Content-Type: application/json' \
-d '{"email":"[email protected]"}'
# → {"api_key":"sk-draco-..."}
# 2. Ask — RAG-grounded answer with citations (1 credit)
curl -s -X POST https://draco.thetempleofdoom.com/api/ask \
-H 'X-API-Key: sk-draco-...' -H 'Content-Type: application/json' \
-d '{"q":"explain the ret2libc technique with a minimal poc"}'
# → {"answer":"...[1]...[2]","sources":[{"title":"...","category":"..."}]}
# 3. Raw passage search across all 1,855 books (1 credit)
curl -s "https://draco.thetempleofdoom.com/api/search?q=tcp%20syn%20flood&k=5" \
-H 'X-API-Key: sk-draco-...'
MCP — 在 Claude、GPT 或任何 Agent 中使用
{
"mcpServers": {
"draco": { "url": "https://draco.thetempleofdoom.com/mcp" }
}
}
工具:
draco_ask(question)→ 有引用、以书籍为依据的回答draco_search(query, k)→ 原始 BM25 段落,包含标题和评分draco_status()→ 实时图书馆统计信息
已正式列入 MCP 注册表:
com.thetempleofdoom.draco/draco
手动 MCP 握手:
curl -s https://draco.thetempleofdoom.com/mcp \
-H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"smoke","version":"1"}}}'
工作原理
question ──► BM25 retrieval over 116k book passages
│
▼
top passages + question ──► local LLM (self-hosted GPU)
│
▼
answer with inline [n] citations + sources array
- 摄取(
ingest.py)— 将 PDF/CHM/DJVU 转为干净的纯文本。自动丢弃劣质扫描件。 - 建立索引(
build_index.py)— 将文本切分为 300 个 token、彼此重叠的片段,并建立经过 Snowball 词干提取的 BM25 索引。 - 提供服务(Flask + gunicorn)— 检索增强生成,支持 SSE 流式传输、独立的推理和回答通道,以及自动检测/重试退化输出。
- 对外提供 — REST API、可流式传输的 HTTP MCP 服务,以及完整的 Agent 发现套件:
/llms.txt、/llms-full.txt、/openapi.json、/.well-known/ai-plugin.json、/.well-known/mcp-server.json、/sitemap.xml。
定价
仅支持 Bitcoin。没有订阅陷阱、KYC 或信用卡处理商。
| 级别 | 价格 | 包含内容 |
|---|---|---|
| 网页版(无需密钥) | 免费 | 每天可在浏览器中提问 10 次 |
| API 密钥 | 免费 | 每月 30 个额度,永久有效 |
| satchel | $3 | 60 个额度 |
| crate | $10 | 250 个额度 |
| hoard pack | $25 | 750 个额度 |
| HOARD | $50/月 | 不限量 — 每次提问、每次搜索,有效期 30 天 |
1 个额度 = 1 次提问或 1 次搜索。额度永不过期。书籍可从 /library 免费下载——我们出售答案,不出售文件。
自托管
git clone https://github.com/drjonesxxx1/draco.git
cd draco
python3 -m venv venv && ./venv/bin/pip install -r requirements.txt
cp config.example.json config.json # set model, ollama URL, limits, payments
# point ingest.py at YOUR book directory, then:
./venv/bin/python3 ingest.py # books → text + manifest
./venv/bin/python3 build_index.py # text → BM25 index
./venv/bin/gunicorn -w 2 --threads 8 -b 127.0.0.1:8012 app:app # API + web
./venv/bin/python3 -m uvicorn mcp_server:app --port 8013 # MCP
任何本地 Ollama 模型都可使用。在前面配置 nginx(SSE 和 MCP 代理的参考配置见 deploy/nginx-draco.conf)。支付功能可选——将 btcpay 区块留空,免费级别即可支撑全部服务。
仓库布局
| 文件 | 用途 |
|---|---|
app.py | Flask:网页 UI、REST API、SSE 聊天、支付 Webhook、Agent 发现套件 |
draco_core.py | RAG 引擎、检索、大模型调用、计量、数据库 |
pages.py / pages2.py | 主题 |
mcp_server.py | 独立的可流式传输 HTTP MCP 服务 |
mcp_client.py | 用于 Claude Desktop / 本地客户端的 stdio 桥接程序 |
ingest.py / build_index.py | 语料处理流程 |
test_splitter.py | 推理/回答通道拆分器的单元测试 |
deploy/ | systemd 单元文件 + nginx 配置 |
说明
- 安全内容仅供学习和授权测试。
- 书籍保留其原始版权;图书馆仅供个人使用。
- 无遥测。不出售日志。永远不会。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。