hash
自构建知识图谱平台,AI 智能体自动更新图谱并检测冲突
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
自构建知识图谱平台,AI 智能体自动更新图谱并检测冲突
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
图1:HASH 平台官方 Banner
想象这样一个场景:你的公司每天产生大量数据——CRM 里的客户资料、工单系统里的支持记录、ERP 里的供应链数据、公开的新闻报道和行业报告。这些数据散落在十几个互不相通的系统里,格式各异,更新频率不同,你甚至不知道哪些数据已经过时了。
传统方案是花大量时间 ETL(抽取-转换-加载)——写脚本清洗数据、导入数仓、搭 BI 报表。但这套流程有个根本问题:数据是死的,人工维护的成本永远追不上业务变化的速度。
HASH 尝试回答一个更有野心的问题:如果数据库能自己长知识呢?
HASH 是一个自构建(self-building)知识图谱平台。它的核心思路是:系统不仅存储数据,还能理解数据之间的关系,自动构建语义图谱,并且派驻 AI 智能体持续巡逻网络和内部数据源,自动更新图谱、检测冲突、补全缺失信息。开发者不需要手动定义所有实体和关系,AI 会在运行时帮你「长出来」。
HASH 最初是基础设施公司 HashiCorp 内部的数据管理实验项目,2019 年独立为 HASH 公司,2025 年被集成开发平台 Relay 收购并继续开源。其创始人在分布式系统领域有深厚积累,HASH 的类型系统设计深受函数式编程影响,核心图数据库则采用 Rust 实现。
项目 topics 包括:ai、database、graph、hash、rust、simulation、type-system、typescript,定位横跨知识图谱数据库、AI 智能体和多租户 SaaS 三个领域。
HASH 的核心是一个用 Rust 编写的图数据库服务(apps/hash-graph),负责存储和管理知识图谱。这是整个系统最底层的存储引擎,提供:
libs/@blockprotocol/type-system/rust 实现了复杂的类型层次结构,实体类型和关系类型都支持继承和多态。libs/@local/graph/postgres-store 将图数据持久化到 PostgreSQL,利用其 JSONB 字段存储动态属性,同时借用关系数据库的事务能力。Rust 实现带来了几个显著优势:内存安全(杜绝了 C++ 图数据库常见的 dangling pointer 问题)、高性能(并发图遍历性能优于 Python/Go 同类方案),以及编译时保证的并发安全。
apps/hash-api 是用 TypeScript 编写的企业级 RESTful + GraphQL API 服务,连接图数据库和前端。API 层承担以下职责:
libs/@local/graph/authorization 模块实现了细粒度的访问控制,支持多租户隔离(每个租户有独立的命名空间)。apps/hash-frontend 是 HASH 的 Web 可视化界面,基于 React 和 TypeScript 构建。主要功能:
apps/hash-ai-worker-ts 和 apps/hash-integration-worker 是两个 TypeScript 编写的后台服务,分别负责:
这两个服务都接入 Temporal 工作流引擎,确保跨系统的长事务能够可靠执行。
HASH 提供了一个包含 36 个容器服务 的完整 Docker Compose 栈(infra/compose/compose.yml),覆盖数据层、应用层、认证层、可观测性层的所有依赖:
| 服务类型 | 主要服务 | 说明 |
|---|---|---|
| 数据层 | postgres, redis, minio | 图谱存储、缓存、对象存储 |
| 认证层 | kratos, hydra | 身份管理与 OAuth2 |
| 工作流 | temporal, temporal-ui | 异步任务编排 |
| 存储 | vault | 密钥管理 |
| 可观测 | grafana, prometheus, loki, tempo, otel-collector | 监控/日志/链路追踪 |
| 应用层 | graph, api, frontend, ai-worker, integration-worker | HASH 自身服务 |
部署只需五步:clone → mise trust && mise install → yarn install → 创建 .env.local → yarn start(约 30 分钟首次编译 Rust)。如果不需要修改 Rust 图数据库代码,可以跳过本地编译,改用 yarn compose --profile hgres up 将 graph 服务也跑在 Docker 里。
门槛评估:HASH 的上手难度属于中等偏高,主要门槛在于:
适合人群:
不适合:需要轻量级 key-value 存储、无图关系需求的简单 CRUD 应用。
HASH 作为一个复杂的综合系统,也有一些值得关注的问题:
HASH 代表了一个重要趋势:从「数据湖」到「知识图谱+AI 智能体」的范式转移。传统数据湖/数据仓库只是被动存储,而 HASH 通过内置 AI Worker 实现了数据的主动理解和自我进化。
从技术角度看,HASH 的几个设计选择值得关注:
如果你在寻找一个能够持续「自我进化」的知识库系统,HASH 是目前开源领域值得关注的选择之一。