最近在调研本地AI知识库方案时,我发现了一个有趣的开源项目——SeekDB。
它来自蚂蚁集团OceanBase团队,是一款AI原生的混合搜索数据库。

相比于业界常见的"数据库拼图方案",SeekDB的核心逻辑很清晰:通过统一数据架构,解决Agentic RAG应用的复杂度问题。
为什么需要SeekDB?
在推进RAG应用落地时,大多数团队会面临一个共同的架构困境:需要同时处理三种不同的数据形态。
- 业务元数据(结构化数据):Agent创建时间、作者权限、工作流节点等,需要关系型数据库存储以保证事务安全
- 语义向量(非结构化数据):文本转换为数学向量供AI理解语义,需要向量数据库
- 全文索引:处理关键词精确匹配,向量搜索有偏差时用来兜底
传统做法是采用分布式"拼图"架构——MySQL/PostgreSQL存元数据 + Milvus/Chroma存向量 + Elasticsearch做全文检索。
这种方案的代价很高:
- 需要维护三套完全不同的系统
- 自行处理跨系统数据同步
- 很难保证事务一致性(网络抖动导致单边写入失败,数据状态不一致)
- 系统复杂度与运维成本成正比增长
SeekDB的思路是"做减法":将向量、文本、结构化/半结构化数据统一存储在一个数据库内。
SeekDB的核心能力
| 维度 | 能力特性 | 实际意义 |
| 混合搜索 | 在数据库内核层支持向量、全文和标量过滤的联合查询 | 一条SQL完成多路召回和精排,无需应用层编排 |
| AI函数 | 内置调用大模型/向量模型的能力 | 数据库层面直接进行嵌入和推理,AI功能内置 |
| 协议兼容 | 支持MySQL协议,支持MCP Server标准 | 无需修改客户端代码,Navicat直连;支持Claude、Cursor等工具集成 |
| 资源占用 | 最低配置:1核CPU + 2GB内存 | 适合个人/小团队本地部署和边缘设备 |

适用场景分析
1. 个人或小团队的本地知识库
- 轻量级架构,资源占用极低
- 可部署在旧电脑或低成本云服务器上
- 快速验证AI知识库效果
2. 边缘设备应用
- 手机、车机、工业网关等资源受限环境
- 重型数据库无法满足部署条件
- SeekDB的轻量级特性正好匹配
3. Agent长期记忆体系
- 同时存储结构化对话记录和非结构化向量记忆
- 为AI Agent提供持久化记忆能力
4. Dify知识库效果升级
- Dify官方已在v1.10.1版本兼容SeekDB
- 可替代默认的PostgreSQL+Weaviate方案
- 通过粗排+精排机制实现毫秒级响应和百亿向量检索
部署与配置
4.1 本地部署(三种方式)
方式一:Python SDK(推荐轻量应用)
pip install pyseekdb
方式二:Docker(推荐标准部署)
docker run -d --name seekdb -p 2881:2881 oceanbase/seekdb:latest
特点:
- 启动速度秒级
- 可用Python SDK或MySQL客户端操作
- 支持Navicat等可视化管理工具直连
4.2 与Dify集成(完整示例)

第一步:更新版本
修改docker/docker-compose.yaml,将api、worker、worker_beat、web的image版本改为1.10.1或main,例如:
langgenius/dify-api:1.10.1

第二步:修改环境配置
编辑.env文件(Mac查看隐藏文件:Cmd+Shift+. ;Windows:Ctrl+Shift+H)

选择以下配置方案之一:
方案A:SeekDB作为元数据库和向量数据库
DB_TYPE=mysql
DB_USERNAME=root
DB_HOST=seekdb
DB_PORT=2881
DB_DATABASE=test
VECTOR_STORE=oceanbase
OCEANBASE_VECTOR_HOST=seekdb
OCEANBASE_VECTOR_USER=root
COMPOSE_PROFILES=seekdb
方案B:仅作为元数据库
DB_TYPE=mysql
DB_USERNAME=root
DB_HOST=seekdb
DB_PORT=2881
DB_DATABASE=test
COMPOSE_PROFILES=${VECTOR_STORE:-weaviate},seekdb
方案C:仅作为向量数据库
VECTOR_STORE=oceanbase
OCEANBASE_VECTOR_HOST=seekdb
OCEANBASE_VECTOR_USER=root
COMPOSE_PROFILES=seekdb,${DB_TYPE:-postgresql}
第三步:启动服务
docker-compose up -d
默认密码:difyai123456(可在.env中修改)

启动完成后,SeekDB将同时扮演元数据库、向量数据库和全文检索系统的三重角色。

在Navicat中查询时,可在vector_index开头的表中查看已存储的向量数据。
4.3 MCP Server集成(连接本地Agent)
前置条件:
- 已部署SeekDB
- Python 3.11+
- 安装uv包管理器:
pip install uv
集成步骤:
1. 克隆并安装MCP项目
git clone https://github.com/oceanbase/mcp-oceanbase.git
cd mcp-oceanbase
uv venv
source .venv/bin/activate # Windows用 .venv\Scripts\activate
uv pip install
2. 在Trae/Cursor等工具配置MCP Server
{
"mcpServers": {
"oceanbase": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-oceanbase/src/oceanbase_mcp_server",
"run",
"oceanbase_mcp_server"
],
"env": {
"OB_HOST": "127.0.0.1",
"OB_PORT": "2881",
"OB_USER": "root",
"OB_PASSWORD": "difyai123456",
"OB_DATABASE": "test"
}
}
}
}
注意:首次启动会下载MySQL驱动,速度较慢,后续启动正常。
MCP Server提供的10个工具
| 工具名 | 功能说明 |
| execute_sql | 在OceanBase上执行任意SQL语句 |
| get_ob_ash_report | 生成ASH报告用于性能分析(可指定时间范围和租户) |
| get_current_time | 获取数据库当前系统时间 |
| get_current_tenant | 获取当前连接所属租户名称 |
| get_all_server_nodes | 列出集群中所有server节点(需sys租户权限) |
| get_resource_capacity | 获取集群资源容量信息(需sys租户权限) |
| search_oceanbase_document | 从OceanBase官方文档自动检索相关内容 |
| oceanbase_text_search | 在表中执行全文检索(支持指定文本列、WHERE条件、返回列) |
| oceanbase_vector_search | 执行向量相似度搜索(支持距离算法选择、TopK设置) |
| oceanbase_hybrid_search | 混合搜索:结合结构化过滤和向量相似度的多模态检索 |
与同类项目的对比

SeekDB的差异化优势:
- 统一存储模型:无需维护多个系统,减少数据同步复杂度
- 事务一致性:所有数据更新在同一ACID事务内完成
- 资源效率:最低配置最优,特别适合资源受限环境
- AI友好:内置AI函数,支持MCP标准,与现代AI工具链无缝对接
实践建议
快速验证阶段:使用Docker一键启动,通过Python SDK或SQL客户端测试功能。
与Dify集成:如果已使用Dify开源版,升级到v1.10.1后可无缝切换为SeekDB作为向量库,预期可提升检索精度(通过粗排+精排机制)和响应速度(毫秒级)。
Agent工具集成:接入MCP Server后,Cursor、Claude Code等工具可直接访问本地知识库,为编码助手补充私有知识。混合搜索工具适合需要"精确匹配+语义理解"并行处理的场景。
生产部署参考:对于中等规模应用(百万级文档、十亿级向量),SeekDB支持集群扩展,但具体配置建议查阅官方文档。
总体评价
从产品层面看,SeekDB抓住了AI应用落地中的真实痛点——数据架构复杂度。
通过"统一存储+混合检索"的设计思路,将原本需要多个系统协作的工作流内聚到单一数据库内核,降低了系统维护的认知负担。
尤其是对个人开发者、小团队或初创企业而言,快速搭建一个可靠的AI知识库系统变得更加可行。
同时,通过兼容MySQL协议和MCP标准,SeekDB展现出了对现有生态的尊重——不是要替代所有存储方案,而是提供一个更高效的统一入口。
如果你正在评估本地知识库方案,或者为Dify知识库的检索效果头疼,SeekDB是值得一试的选项。
相比自行搭建"三件套"系统,节省的运维成本和架构复杂度的降低是显而易见的。
官方资源:
GitHub:https://github.com/oceanbase/seekdb