内容
<div align="center">
# 地面控制(GCTRL)
### 面向企业AI的知识基础设施层
**奠定你的数据基础。指挥你的AI。**
[](https://github.com/GCTRL-TECH/platform/actions/workflows/build-push.yml)
[](./LICENSE)
[](#-快速开始)
[](#-访问控制与合规)
[](#-快速开始)
</div>
---
GCTRL 将您分散的文档、数据库和代码转化为 **一个受控的知识图谱**,然后在此基础上建立您的LLM和代理,提供企业级访问控制,**完全在您自己的基础设施上**。
大多数“AI记忆”都是一堆向量碎片:模糊的回忆,没有结构,没有出处,没有权限。GCTRL 是 **图谱原生**的——实体、类型化关系、档案和混合检索——并且 **100%本地运行**,因此没有任何数据离开您的建筑。
> **一行介绍:** 将GCTRL指向您的数据,获得一个受控的知识图谱,并让任何代理(Claude Code、Cursor、Codex……)读取和写入它作为持久的、受控的内存。
---
## ✨ 为什么选择GCTRL
- **🕸️ 图谱原生,而非向量块。** 实体、类型化关系、实体档案和混合检索(密集+关键词+图谱遍历)——每个事实都有出处。问 *“X如何连接到Y?”* 并得到一个确切的答案,而不是模糊的猜测。
- **🔒 100%自主托管,本地推理。** 在您的硬件上运行,配备本地Ollama。 DSGVO/GDPR设计——RAG会话驻留在浏览器内存中,没有服务器端对话存储,数据不会离开您的网络。
- **🛡️ 企业级访问控制。** 每个元素的分类和许可,范围内的同事令牌,严格的多项目隔离和完整的审计跟踪。设计符合ISO 27001,目标是TISAX 3级。
- **🤖 适用于任何代理。** 一个MCP配置,Claude Code、Cursor、Codex或任何MCP客户端都获得持久的、受控的、图谱原生的内存——以及内置的 **Pi** 代理。
- **⚙️ 自我维护内存。** 热度/衰减/信任评分,语义重复数据删除,社区检测和自动策划的Wiki使图谱在时间推移中保持清洁和有用。
- **🎯 近乎SOTA的实体解析——无监督且在设备上。** 融合核心在系统之间解决重复和矛盾,无需标签且无需云。
---
## 🧩 平台
GCTRL是四个模块在一个图谱上的叠加,加上一个代理层:
| 模块 | 功能 |
|---|---|
| **KEX** — 知识提取 | 将其指向PDF、文档、纯文本或 **代码仓库** → 从中提取实体和类型化关系到图谱中。本地NER + 本地关系提取,零云。代码通过AST解析为文件/类/函数/导入/调用。 |
| **FUSE** — 知识融合 | 将多个来源和图谱合并为一个 **规范** 图谱。确定性实体解析和链接发现协调系统间的重复和矛盾。 |
| **知识图谱管理** | 将知识组织成汇编,安排增量或完整刷新,并按许可级别控制每个节点、边和块。 |
| **图谱对话** | 图谱上的GDPR合规RAG。本地推理;会话保留在浏览器内存中—— **无服务器端对话存储**。 |
| **Pi + MCP网关** | 内置代理 + MCP服务器,供外部代理获取受控内存:`store`、`query`、`get_dossier`、`search_entities`、`get_neighbors`、`shortest_path`、`ingest_repo`等。 |
---
## 🚀 快速开始
一条命令即可启动整个堆栈:
```bash
curl -fsSL https://gctrl.tech/install | bash
```
完成后,在 **`http://localhost:3001`** 打开仪表盘并创建管理员账户。安装程序检测您已经运行的内容(图谱存储、向量存储、本地LLM),仅部署缺少的内容,并拉取本地模型,以便您立即开始。
完整的操作步骤 — 安装 → 连接模型 → 激活许可证 → 连接代理 → 导入您的第一个PDF: **[gctrl.tech/docs/quickstart](https://gctrl.tech/docs/quickstart)**。
卸载(保留数据)/ 完全重置:
```bash
curl -fsSL https://gctrl.tech/uninstall | bash # 保留您的数据
curl -fsSL https://gctrl.tech/uninstall | bash -s -- --purge # 清除所有内容
```
---
## 🔌 连接您的代理(MCP)
为任何具备MCP能力的代理提供持久的、基于访问控制的内存,涵盖您的图谱。在 **设置 → 代理** 中生成一个范围内的令牌,然后将其放入Claude Code、Cursor、Codex或Claude Desktop:
```jsonc
{
"mcpServers": {
"gctrl": {
"type": "http",
"url": "http://localhost:4000/api/agent/mcp",
"headers": { "Authorization": "ApiKey YOUR_TOKEN" }
}
}
}
```
您的代理现在读取和写入一个真实的知识图谱——范围限定在其令牌被许可的范围内。参见 **[代理与MCP](https://gctrl.tech/docs/agents-mcp)**。
---
## 🛡️ 访问控制与合规
GCTRL适用于受监管的、多租户环境:
- **每个元素的分类。** 每个节点、边、块和Wiki页面都带有自己的许可级别——在查询时强制执行,而不是通过文件夹规则。
- **严格的项目隔离。** 将同事(或代理)的令牌范围限定到特定的知识库。 Client A项目上的代理实际上无法检索、引用或泄露Client B的数据——甚至不会意外泄露。
- **GDPR设计。** 本地推理,浏览器内存聊天会话,主动和可擦除的个性化。
- **审计跟踪。** 令牌、操作、资源、结果——每个授予和拒绝的权限都被记录。
设计符合ISO 27001,目标是TISAX 3级。参见 **[访问控制](https://gctrl.tech/docs/access-control)** 和 **[合规与主权](https://gctrl.tech/docs/compliance)**。
---
## 📊 基准测试
融合核心(实体解析/链接发现)与 **监督** 的最新水平竞争——同时 **无监督且完全在设备上**:
| 任务 | GCTRL(无监督,本地) | 监督SOTA |
|---|--:|--:|
| 清洁结构化记录(DBLP-ACM) | **F1 0.967 – 0.976** | ~0.989 |
| 脏文本记录(Abt-Buy) | **F1 0.866** | ~0.891 |
无需标签,无需云,您的设备不会离开机器。更多信息请参见 **[基准测试](https://gctrl.tech/docs/benchmarks)**。
---
## 🏗️ 架构
```mermaid
flowchart LR
subgraph SRC[您的来源]
P[PDFs / 文档]
R[代码仓库]
C[驱动器 · SharePoint · Obsidian · API]
end
P & R & C --> KEX[KEX · 提取]
KEX --> NEO[(Neo4j · 图谱)]
KEX --> QD[(Qdrant · 向量)]
FUSE[FUSE · 融合 + 实体解析] --> NEO
NEO --> RAG[图谱对话 · 本地RAG]
NEO --> WIKI[自动策划的Wiki]
MCP[MCP网关] --> AG[Claude Code · Cursor · Codex · Pi]
RAG --> AG
NEO -. 每个元素的许可 .-> RAG
NEO -. 每个元素的许可 .-> MCP
```
Rust控制平面编排Python提取/融合工作进程、React UI和本地推理——所有这些都基于Docker Compose。
---
## 🧪 技术栈
- **控制平面:** Rust(Axum)API + 代理边车
- **工作进程:** Python(KEX提取,FUSE融合)
- **前端:** React + Vite(仪表盘 + 许可证门户)
- **存储:** Neo4j(图谱)· Qdrant(向量)· PostgreSQL · Redis
- **推理:** 本地Ollama(多提供商可配置)
- **打包:** Docker Compose,一键安装
---
## 📚 文档
完整文档位于 **[gctrl.tech/docs](https://gctrl.tech/docs)**:
- [快速开始](https://gctrl.tech/docs/quickstart) · [安装](https://gctrl.tech/docs/installation)
- [架构](https://gctrl.tech/docs/architecture) · [四个模块](https://gctrl.tech/docs/modules) · [内存层](https://gctrl.tech/docs/memory-layers)
- [代理与MCP](https://gctrl.tech/docs/agents-mcp) · [访问控制](https://gctrl.tech/docs/access-control) · [合规](https://gctrl.tech/docs/compliance)
- [基准测试](https://gctrl.tech/docs/benchmarks) · [FAQ & 故障排除](https://gctrl.tech/docs/faq)
---
## ⚠️ 生产前 — 修改默认密钥
捆绑的compose文件随附 **众所周知的占位符密钥** (`POSTGRES_PASSWORD`、`NEO4J_PASSWORD`、`JWT_SECRET`,…),以便GCTRL在localhost上开箱即用。 **设置您自己的实际值** (通过本地`.env`,永远不要提交)后再将GCTRL公开到网络上。可预测的`JWT_SECRET`允许任何人伪造管理员令牌;默认数据库密码是公共知识。
---
## 📄 许可证
GCTRL **双重许可**:
- **开源 - GNU AGPL-3.0** ([`LICENSE`](./LICENSE)):免费使用、修改和自我托管,只要您的栈保持开放且符合AGPL。
- **商业许可证**:用于专有/闭源或托管使用 **无需** AGPL copyleft义务。
参见 **[`LICENSING.md`](./LICENSING.md)** 了解每个选项的允许内容以及如何获取商业许可证。
---
## 🙏 由以下技术构建
GCTRL建立在优秀的开源工作基础上。完整的第三方通知和许可证: **[`docs/LICENSES.md`](./docs/LICENSES.md)**。
Neo4j · Qdrant · Ollama · GLiNER · Qwen · PostgreSQL · Redis · React · Rust / Axum · FastAPI · LIMES.
---
<div align="center">
<sub>© Cinque Monti Ltd. — GCTRL(地面控制)。为拒绝幻觉的企业而建。</sub>
</div>