AtlasGate
面向小型研发团队的本地 LLM 基础设施:OpenAI / Anthropic 多协议 API 网关 + 具备协作版本治理、LLM 自动编译与关系图谱的知识库(LLM Wiki)+ 默认引用证据的知识 Agent。
为什么做这个项目
传统 RAG 每次查询都从原始文档现取现答,知识不会积累。AtlasGate 遵循 Karpathy 的 LLM Wiki 方法论:让 LLM 把摄入的素材编译成持续维护的 Wiki —— 实体页、概念页、素材摘要页,以及 index / log / overview 系统页 —— 全部经由版本化审计链(Change → merge → 不可变 Master)治理;知识 Agent 从这份编译后的知识库检索并带引用回答,做到离线优先、零 npm 运行依赖。
核心能力
| 多协议网关 | Chat Completions · Responses · Anthropic Messages · Embeddings · SSE · 模型列表 · Token 计数 |
|---|---|
| 智能路由 | 视觉能力过滤、质量 / 成本 / 延迟 / 可靠性评分、凭据池、冷却与有界 Failover、每次 attempt 留痕 |
| 用量治理 | 客户端密钥 scope · 模型白名单 · RPM/TPM · Token 配额 · 月预算 · 撤销 · 审计保留 |
| LLM Wiki 编译 | 两步编译(分析 → 生成)、持久化摄入队列、SHA256 去重、per-KB review/auto 模式、批次审阅与溯源 |
| 版本治理 | 多用户 Change、乐观并发、冲突账本、tombstone、版本化文档与图谱 |
| 知识图谱 | 纯 JS ForceAtlas2 布局、Louvain 社区检测、5 信号相关边、搜索 / 拖拽 / 小地图 |
| 知识 Agent | 词法 + 本地稠密向量 RRF 混合检索、伪重排、零证据查询改写、wikilink 多跳扩展、证据充分性约束 |
| 控制台与磁盘 | 免构建 8 视图 Web 控制台、Obsidian 可直接打开的 knowledge/ md 镜像、ZIP 导出、MCP 接入 |
架构总览
关键工程决策
-
零 npm 运行依赖
Node.js 24+ 的 node:sqlite 取代数据库驱动,Python 侧仅标准库 + vendored pypdf:克隆即启动,供应链面最小化。
-
单文件 SQLite (WAL) 作为唯一持久层
页面、版本、账本、向量与热度全部落在同一个 WAL 模式的 SQLite 文件中,备份等于复制一个文件。
-
本地 ONNX embedding(bge-small-zh)
稠密检索在本地完成,不向外部服务发送语料;未配置 embedding 时混合检索自动降级为纯词法。
-
证据充分性约束的知识 Agent
回答必须绑定可追溯引用;证据不足时触发查询改写或多跳扩展而不是编造答案。
-
记忆 × 知识闭环
问答自动沉淀回 Wiki(相似问题 ≥3 次或显式请求),图谱记录 query_hits 引用热度,形成持续积累而非一次性索引。
快速开始
$ git clone https://github.com/betterkite/AtlasGate && cd AtlasGate
$ npm start
# 打开 http://127.0.0.1:4310 (离线 mock 可验证全链路)
要求 Node.js 24+ 与 Python 3.11+;无需 npm install。更多配置见仓库 README 与 docs/。