mindsdb/mindsdb

分类Database
作者Community
星标601
定价Free

简介

MindsDB 的这个 MCP 服务相当于给 AI 助手安装了一个“通用数据库适配器”。它打破了数据孤岛,让 LLM 能够直接通过标准化协议连接并查询各种异构数据库和平台,而无需开发者为每个数据源编写冗长的 API 集成代码。对于需要处理多源数据分析、实时报表或构建数据驱动型 AI 应用的开发者来说,它极大地降低了数据接入的门槛,将 AI 的上下文能力直接延伸到了企业的私有数据库中。

核心亮点

  • 统一接入多种数据库,无需重复编写集成代码
  • 让 AI 直接查询实时数据,消除信息滞后
  • 通过 MCP 协议快速将私有数据转化为 AI 上下文
  • 简化多源数据聚合流程,降低开发运维成本

完整文档

<a name="readme-top"></a>

<div align="center">

MindsHub

让开源模型为你高效工作的统一工作空间。

_让 AI 承担实际工作。随时更换模型 —— 保留你构建的所有内容。_

![Release](https://github.com/mindsdb/minds/releases)
![Stars](https://github.com/mindsdb/minds/stargazers)
![License: MIT](#-license)
![Python 3.10–3.13](https://www.python.org/downloads/)

Website ·
Docs ·
Web app ·
Pricing ·
Discord

<p align="center">
<sub>Read this in: <a href="README.zh.md">中文</a> · <a href="README.es.md">Español</a> · <a href="README.pt.md">Português</a> · <a href="README.hi.md">हिन्दी</a></sub>
</p>

</div>

<p align="center">
<img width="640" height="480" alt="cowork" src="https://github.com/user-attachments/assets/048761b8-aa77-4506-9c4d-32e2fdecbb60" /></p>

MindsHub Cowork 是一个统一的工作空间,您可以在其中委派整个项目(包括 apps、网站、研究、分析、报告、定时操作)并收集可分享的最终结果。连接您的数据,将工作路由至任何模型(开源或私有),运行开源 agents,并将它们的输出转化为可发布的 web applications。它是开源的,且可运行在任何地方 —— 您的本地机器、您的 VPC 或托管应用中。

本仓库是 platform superproject:它整合了 desktop/web app、agent backend 和 data engine,以便您可以从源码构建并运行整个技术栈。

Get started

选择适合您的方式:

免费开始使用。Pro 版本提供所有前沿模型和私有 artifacts —— 详见 pricing

What you can do

适用于每一位知识工作者 —— 创作者、战略家和运营者:- 自动化 涉及读写的重复性多步骤工作:报告、监控、循环工作流和定时操作。

  • 构建 内部 AI 工具和 artifacts —— 应用、仪表盘、演示文稿、文档、分析 —— 无需工程开发,并将其发布到实时 URL 以与团队共享。

核心功能

  • Connected data。 一个安全仓库可链接 BigQuery, Postgres, Gmail, Drive, HubSpot, Notion 和 Linear 等系统。凭据在每个连接中独立定义 —— agents 永远无法看到原始 key。
  • Model Router。 在前沿模型(Claude, GPT, Gemini)和开源模型(DeepSeek, Qwen, Kimi)之间切换,无需为每个供应商配置 key。
  • Open agents。 运行可互换的开源 harness —— Anton(默认)和 Hermes —— 可通过下拉菜单切换。
  • Artifacts。 将 agent 的输出转换为文档、仪表盘、应用和代码,并发布到实时 URL。
  • Memory, skills & scheduling。 跨会话记忆、可复用的技能库以及按计划运行的任务。

从源码构建

1. Clone 仓库

bash
git clone --recurse-submodules https://github.com/mindsdb/minds.git
cd minds
2. 安装依赖
bash
make setup
3. 运行

| 模式 | 命令 |
|---|---|
| 带有热重载的桌面应用 (Electron) | make devmake watch |
| 带有热重载的浏览器 Web 应用 | make dev-web |
| 生产构建 | make build |
| 打包 macOS 版本 | make dist-mac |
| 打包 Windows 版本 | make dist-win |
| 从本地未提交的源码构建 macOS .app | make pack-local |
| 清除所有本地安装及数据(全新开始) | make flush |

> 全新开始: make flush 会移除本地运行时(cowork-server uv 工具和 backend/*/.venv)并删除 ~/.anton(provider 密钥)和 ~/.cowork(数据库、hermes、项目)中的应用状态。用于测试从零开始的安装流程或从损坏的安装中恢复。该命令会提示确认 —— 传递 FORCE=1 可跳过。下次执行 make setup 或启动应用时将重新安装所有内容。⚠️ 这将删除您的对话记录和保存的密钥。

在功能分支上工作 (submodules)

本仓库是一个 superproject,将每个模块 (frontend, backend/core_api, backend/core_agent, backend/data-vault) 固定在某个 commit。为了在不污染 git status 或无需处理固定版本的情况下在模块分支上工作:

1. 在被 gitignore 的 dev.env选择您的分支(复制模板):

bash
cp dev.env.example dev.env      # then set REF=feat/my-thing (or per-module API_REF=…)
2. make 紧随其后 — 一个入口,两种运行路径:

| 命令 | 功能 |
|---|---|
| make use | 在所有 submodule 中 checkout 你的 dev.env refs |
| make dev / make watch | 运行 Electron 应用,并针对本地源码启用 live reload |
| make dev-web | 运行 web SPA,并针对本地源码启用 live reload |
| make server + make app | 从配置的分支 (re)install 桌面服务器,然后启动 |
| make server-local + make app-local | 从 本地未提交源码 安装桌面服务器,然后启动 |
| make pack-local | 从本地未提交源码构建 macOS .app(无需 push) |
| make refs | 显示下次运行将使用的 refs |
| make baseline | 将 submodule 重置为 pinned commits |
| make pin | 将当前的 submodule commits 记录为 superproject 的 pins(一次刻意的 commit) |

Submodule 配置了 ignore = all,因此你的分支工作永远不会显示为 superproject 的变更 —— 父级 git status 保持干净。Pins 通过 make pin 移动。完整工作流请参阅 CLAUDE.md

随处部署

Cowork 为灵活部署而构建 —— 支持 云端、VPC、本地部署 (on-prem)、离线 (air-gapped) 及混合 基础设施 —— 让你对基础设施、模型、权限和数据拥有完全控制权。

帮助与支持- 提问 — 加入 Discord community

  • 报告 Bug — 在 GitHub issue 中提交包含复现步骤的报告。

🤝 Contribute

Cowork 是开源的,欢迎各种贡献 —— 包括代码、集成、文档、Bug 报告和功能建议。阅读 docs 以完成环境搭建,浏览 open issues,并在 Discord 上打招呼。

🔒 Security

发现安全漏洞?请不要公开提交 issue。请通过我们的 security policy 私下报告。

📚 Resources

📄 License本仓库基于 MIT License 发布。捆绑组件由其各自的许可证管理 —— 详情请参阅每个子模块的仓库。

<p align="right">(<a href="#readme-top">back to top</a>)</p>