Repolode
dosco

dosco/graphjin

一个 Go 语言编译运行时,通过 GraphQL 和 MCP 把数据库、文件与代码以受控方式提供给 AI 智能体。

Star
3,234
Fork
206
未关闭 Issue
18
最近提交
13小时前

这是什么?

GraphJin 将 GraphQL 查询编译为 SQL,支持 PostgreSQL、MySQL、MongoDB、SQLite、Oracle、MSSQL 等数据库,并提供 REST 接口、实时订阅以及 Apollo Federation 子图能力。表之间的外键关系会自动转为可导航的关联,一次 GraphQL 请求对应一条优化后的查询,无需编写 resolver,也不依赖 ORM。

面向 AI 智能体,GraphJin 提供 MCP 接口,模型可以先查看 schema、校验过滤条件,再执行已批准的保存查询,而无需直接持有数据库凭据。项目还用 tree-sitter 将源代码索引为 SQLite 缓存(CodeSQL),把 S3、GCS 和本地文件呈现为可查询的表,并内置服务端智能体接口,以及会定时重跑订阅并把变化写入收件箱的 watch 功能。

项目以单一二进制分发,支持 npm、Homebrew、Scoop、Docker 以及 deb/rpm 安装包,并自带演示数据与 Web 控制台,便于本地快速体验。

核心功能

  • 01将 GraphQL 查询编译为单条优化 SQL,覆盖多种数据库。
  • 02通过统一的 GraphQL 与 MCP 接口访问数据库、对象存储和源代码。
  • 03提供 MCP 工具用于 schema 发现、过滤条件校验和已批准查询的执行。
  • 04支持基于 WebSocket 和 Server-Sent Events 的实时订阅。
  • 05使用 tree-sitter 索引源码树,可与数据一起查询代码。
  • 06提供服务端智能体接口,以及可将结果投递到收件箱或 webhook 的 watch 功能。

适用场景

  • 在不共享原始数据库凭据的前提下,让 AI 助手只读访问生产数据库。
  • 在现有 SQL 数据库之上快速搭建 GraphQL API,无需编写 resolver。
  • 通过 GraphQL 或 REST 像查询数据表一样查询 S3、GCS 中的文件。
  • 查询数据表与使用这些表的源代码之间的关联关系。

快速上手

  1. 1

    通过 npm 安装 GraphJin

    npm install -g graphjin
  2. 2

    启动内置演示应用

    graphjin serve --demo

使用前须知

  • 内置 AI 代理需要 OpenAI、Anthropic 或 Google 的模型 API 密钥。
  • 演示和示例基于 SQLite 及 Docker 环境,连接你自己的数据库需要先创建并配置应用。

收录于专题

标签

常见问题

graphjin 是什么?
一个 Go 语言编译运行时,通过 GraphQL 和 MCP 把数据库、文件与代码以受控方式提供给 AI 智能体。 GraphJin 将 GraphQL 查询编译为 SQL,支持 PostgreSQL、MySQL、MongoDB、SQLite、Oracle、MSSQL 等数据库,并提供 REST 接口、实时订阅以及 Apollo Federation 子图能力。表之间的外键关系会自动转为可导航的关联,一次 GraphQL 请求对应一条优化后的查询,无需编写 resolver,也不依赖 ORM。
graphjin 可以免费使用吗?用的什么许可证?
graphjin 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
graphjin 还在维护吗?
活跃维护中。graphjin 最近一次提交是在 2026年11月6日。
graphjin 适合用来做什么?
在不共享原始数据库凭据的前提下,让 AI 助手只读访问生产数据库。 在现有 SQL 数据库之上快速搭建 GraphQL API,无需编写 resolver。 通过 GraphQL 或 REST 像查询数据表一样查询 S3、GCS 中的文件。 查询数据表与使用这些表的源代码之间的关联关系。
graphjin 怎么安装和运行?
通过 npm 安装 GraphJin: npm install -g graphjin 启动内置演示应用: graphjin serve --demo
在哪里获取 graphjin?
源代码和安装说明在 GitHub 上:https://github.com/dosco/graphjin

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目