{"repo":"xcosmosbox/Cairn","free":true,"listed":false,"github":"https://github.com/xcosmosbox/Cairn","clone":"git clone https://github.com/xcosmosbox/Cairn.git","description":"Open-source GraphRAG domain knowledge layer: LLMs continuously distill scattered skill docs into a queryable, evolvable, human-editable two-layer knowledge graph — versioned, hot-swapped and rolled back via a GitOps pipeline like software releases, and served to AI agents over MCP. RAG, but with relational structure.","language":"Go","stars":25,"topics":["agentic-ai","domain-driven-design","gitops","golang","graphrag","knowledge-graph","llm","mcp","rag","sqlite"],"license":"MIT","category":"ai-agents","readme_excerpt":"Cairn 把散落在 Skill 文档里的领域知识，持续构建成一张可查询、可演化、可分发的知识图谱， 并通过 MCP 交付给 AI Agent。 Continuously turn knowledge scattered across skill documents into a queryable, evolvable knowledge graph — and serve it to AI agents over MCP. 一套开源三件套： 构建端（DK Build）+ 查询端（MCP Service）+ 可视化（Viewer） 。 --- 它解决什么问题 AI Agent 消费文档时面临两难：全量塞进上下文太贵且噪声大；用向量检索又丢失结构关系。 Cairn 走第三条路： 先把文档蒸馏成结构化知识图谱 （领域 → 子域 → 实体/概念 + 语义关系），Agent 按需精准检索子图。同时解决三个工程问题： 问题 做法 --- --- 文档改了，图谱怎么跟上？ 增量更新 ：只重算受影响的子域，人的手工编辑被识别并保留 人能不能直接改图谱？ 结构化回写 ：图谱以 Markdown 块 + sidecar 形式写回源仓库，人改文档即改图谱 图谱怎么分发给团队？ 不可变 Bundle + Catalog ：GitHub Release 分发，消费端自动热更新、零中断 --- 架构 构建端与查询端 严格分离 ：查询端只读、零 LLM、零 embedding（由 make verify 的架构不变量检查强制保证）。 --- 快速开始 环境要求 - Go 1.22+ - Node 18+（仅 graph-viewer 需要） - 一个 OpenAI/Anthropic 兼容的 LLM 端点 1. 构建 2. 跑一次全量提取 构建端的三个流水线二进制走命令行参数（不读配置文件）： 默认模型与端点是 DeepSeek（ --model / --endpoint 可改）。完整参数见 ./bin/cairn-ingest -h 。 产出 knowledge.db （SQLite）。用 CLI 查一下（ --db-path 是全局标志，须置于子命令之前）： 关于中文检索 ： nodes fts 使用 FTS5 默认的 unicode61 分词器，连续汉字是 单个 token，因此请传 完整节点名 而非子串（搜「订单聚合根」可命中，只搜「订单」不行）。 命中一个入口节点后，图遍历会把周边子图带出来。这是当前的既定设计， 原因与后续改法记录在 service/internal/service/query rewriter.go 的文档注释里。 3. 挂给 AI Agent（MCP） 需要团队共享（HTTP/SSE + 免鉴权 REST API）： 想确认 MCP 链路是否通，跑一次冒烟测试： 4. 可视化 无凭证试跑整条流水线 cairnd 支持 --fake 模式，用内存版 Forge 替代 GitHub，无需任何凭证即可走完 「构建 → PR → Catalog → stable」全流程： --- 组件 二进制 归属 职责 --- --- --- cairnd build 持续构建守护进程：轮询源仓库 → 构建 → 开 PR → 发布 Bundle → 提升 stable cairnctl build dkd 的运维 CLI（查看 run 状态、重试、解除阻塞） cairn-ingest build 全量提取流水线（首次建库 / 指纹变更后重建） cairn-inc","default_branch":null,"files":null,"tree":[],"storefront":"/r/xcosmosbox","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/xcosmosbox/Cairn/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}