██╗ ██╗██╗██╗ ██╗███████╗
██║ ██║██║██║ ██║██╔════╝
███████║██║██║ ██║█████╗
██╔══██║██║╚██╗ ██╔╝██╔══╝
██║ ██║██║ ╚████╔╝ ███████╗
╚═╝ ╚═╝╚═╝ ╚═══╝ ╚══════╝
███╗ ███╗███████╗███╗ ███╗ ██████╗ ██████╗ ██╗ ██╗
████╗ ████║██╔════╝████╗ ████║██╔═══██╗██╔══██╗╚██╗ ██╔╝
██╔████╔██║█████╗ ██╔████╔██║██║ ██║██████╔╝ ╚████╔╝
██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║██║ ██║██╔══██╗ ╚██╔╝
██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║╚██████╔╝██║ ██║ ██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═╝AI编码代理的跨项目存储层——带图形存储
](https://www.npmjs.com/package/hive-memory)  ](package.json)
______________________________________________________________________
Hive Memory是一个 主控程序 为AI编码代理提供持久性的服务器, 图形连接 跨项目的记忆。它将决策、学习和会话进度存储在具有大脑启发的突触连接的本地知识库中,这样你的代理就可以通过基于拓扑的遍历而不仅仅是关键字搜索来发现相关的上下文。
特性
- 33个MCP工具 --项目管理、内存存储/调用、图遍历、浏览、连接器、团队同步、会议、管理和管理员
- SQLite支持 --FTS5全文搜索,WAL模式,零外部服务
- 图形记忆(突触) --15种轴突类型,Hebbian学习,扩散激活
- 混合搜索 --BM25+可选向量相似度与RRF融合
- 4个连接器 --GitHub、Slack、Notion、谷歌日历
- 团队同步 --基于Git的团队共享皮层
- 会议管道 --成绩单→ 结构化票据→ 富集
- HTTP模式 -使用每个用户的API密钥和速率限制在铁路上部署/渲染
- Docker支持 --准备运行容器并进行健康检查
- 架构版本控制 --跟踪迁移历史
schema_meta桌子 - 审核日志记录 --所有工具调用的内存审计跟踪
- 备份CLI —
hive-memory backup [--output path]用于数据库快照
建筑
┌──────────────────────────────────────────────────────────┐
│ Hive Memory (cortex) │
│ │
│ ┌────────────┐ ┌──────────────┐ ┌─────────────────┐ │
│ │ MCP Server │ │ HTTP Server │ │ CLI Interface │ │
│ │ (stdio) │ │ (port 3179) │ │ (hive-memory) │ │
│ └─────┬──────┘ └──────┬───────┘ └────────┬────────┘ │
│ └────────────────┼────────────────────┘ │
│ │ │
│ ┌──────────────────────▼────────────────────────────┐ │
│ │ CortexStore │ │
│ │ ┌────────────┐ ┌──────────┐ ┌──────────────┐ │ │
│ │ │HiveDatabase│ │ Synapse │ │ Enrichment │ │ │
│ │ │ (SQLite) │ │ Graph │ │ Engine │ │ │
│ │ └─────┬──────┘ └──────────┘ └──────────────┘ │ │
│ │ │ │ │
│ │ ┌─────▼──────────────────────────────────────┐ │ │
│ │ │ SQLite Database (cortex.db) │ │ │
│ │ │ entities · synapses · sessions · projects │ │ │
│ │ │ connectors · users · labels · schema_meta │ │ │
│ │ └─────────────────────────────────────────────┘ │ │
│ └────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
▲ ▲ ▲
┌─────┴─────┐ ┌─────┴─────┐ ┌───┴──────┐
│ GitHub │ │ Slack │ │ Notion │
│ Connector │ │ Connector │ │ Connector│
└───────────┘ └───────────┘ └──────────┘快速开始
安装
npm install -g hive-memory克劳德代码
添加 ~/.claude/settings.json:
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory"
}
},
"permissions": {
"allow": [
"mcp__hive-memory__*"
]
}
}这 permissions.allow entry会自动批准所有Hive Memory工具,因此Claude不会在每个会话中都提示权限。克劳德桌面
添加到您的Claude桌面配置(claude_desktop_config.json):
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory"
}
}
}光标
添加 .cursor/mcp.json 在您的项目中:
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory"
}
}
}HTTP模式(远程部署)
CORTEX_HTTP=true CORTEX_AUTH_TOKEN=secret hive-memory --http或者使用Docker:
docker compose up代理说明
当你的AI代理知道时,Hive Memory的效果最好 *当* 调用工具。将提供的指令模板复制到代理的指令文件中:
| 代理 | 指令文件 | 模板 |
|---|---|---|
| 克劳德代码 | ~/.claude/CLAUDE.md | claude-md-template.md |
| 食品法典委员会 | ~/AGENTS.md 或 ./AGENTS.md | codex-md-template.md |
看 完整设置指南 获取分步说明。
工具参考(33个工具)
项目工具(4)
| 工具 | 说明 |
|---|---|
project_register | 注册或更新项目(追加销售) |
project_search | 按名称/标签搜索项目,或列出所有项目(空查询) |
project_status | 获取项目背景(完整模式包括跨项目见解) |
project_onboard | 自动发现目录中的项目+扫描代理内存文件 |
记忆工具(5)
| 工具 | 说明 |
|---|---|
memory_store | 存储决策、学习或笔记。自动创建与相关记忆的突触 |
memory_recall | 使用关键字匹配+图遍历(扩散激活)进行搜索 |
memory_link | 在两个记忆条目之间形成显式突触 |
memory_traverse | 深度图遍历——寻找通过突触通路连接的记忆 |
memory_connections | 查看特定记忆条目的突触连接 |
会话工具(1)
| 工具 | 说明 |
|---|---|
session_save | 保存会话进度——完成了什么,下一步是什么 |
浏览工具(5)
| 工具 | 说明 |
|---|---|
memory_ls | 列出具有筛选器的实体(项目、类型、状态、域) |
memory_tree | 按项目和类型分组的实体树视图 |
memory_grep | 跨实体内容的正则表达式/子字符串搜索 |
memory_inspect | 包括突触在内的特定实体的详细视图 |
memory_timeline | 时间范围内实体的时序视图 |
轨迹工具(3)
| 工具 | 说明 |
|---|---|
memory_trail | 查看最近使用的记忆的访问轨迹 |
memory_who | 查看哪些代理为项目做出了贡献 |
memory_decay | 应用突触重量衰减和修剪弱连接 |
连接器工具(2)
| 工具 | 说明 |
|---|---|
connector_sync | 触发连接器同步(GitHub、Slack、Notion、日历) |
connector_status | 查看所有连接器的同步状态和条目计数 |
团队工具(4)
| 工具 | 说明 |
|---|---|
team_init | 初始化基于Git的共享团队皮层 |
team_push | 将本地条目推送到团队皮层 |
team_pull | 将团队条目拉入本地数据库 |
team_status | 查看待处理的推/拉和冲突计数 |
上下文工具(2)
| 工具 | 说明 |
|---|---|
context_enrich | 对实体(分类、主题、决策)进行丰富 |
entity_resolve | 跨源查找并消除重复的个人实体 |
会议工具(2)
| 工具 | 说明 |
|---|---|
meeting_process | 将会议记录整理成结构化的笔记和决策 |
meeting_briefing | 根据最近的会议生成会议简报 |
管家工具(2)
| 工具 | 说明 |
|---|---|
memory_audit | 对存储的内存运行数据质量审核 |
memory_briefing | 生成每日或每周的记忆简报 |
顾问工具(1)
| 工具 | 说明 |
|---|---|
workflow_analyze | 分析工作流程模式并生成见解 |
用户/管理工具(2)
| 工具 | 说明 |
|---|---|
user_manage | 管理用户-添加、列出、撤销、轮换API密钥 |
memory_audit_log | 检索最近的MCP工具调用审核日志(仅限管理员) |
连接器
| 连接器 | 环境变量 | 它同步的内容 |
|---|---|---|
| GitHub | GITHUB_TOKEN | PR、问题、ADR、代码所有者 |
| Slack | SLACK_TOKEN | 经过信号过滤的消息、线程 |
| 概念 | NOTION_TOKEN | 页面、数据库、块内容 |
| 谷歌日历 | GOOGLE_CALENDAR_CREDENTIALS | 活动、与会者(OAuth2/服务帐户) |
| 展望 | OUTLOOK_TOKEN | 日历事件 |
运作原理
┌──────────┐ ┌──────────┐ ┌──────────┐
│ Claude │ │ Cursor │ │ Codex │
│ Code │ │ │ │ │
│ (Proj A) │ │ (Proj B) │ │ (Proj C) │
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
└────────────────┼────────────────┘
│ MCP (stdio)
┌─────────────┐
│ Hive Memory │
│ MCP Server │
└──────┬──────┘
│
┌────────────────┼────────────────┐
▼ ▼ ▼
┌─────────┐ ┌───────────┐ ┌───────────┐
│ Hive │ │ Synapse │ │ Spreading │
│ Cell │ │ Graph │ │ Activation│
│ Tree │ │ (LTP/LTD) │ │ │
└─────────┘ └───────────┘ └───────────┘没有云。没有账户。无需嵌入。一切都在你的机器上。
图形内存(Synapses)
每个记忆都可以通过以下方式连接到其他记忆 突触 --受神经科学启发的定向加权边:
"Use JWT for auth" ──[causal:0.8]──→ "Add token refresh logic"
│ │
│──[semantic:0.5]──→ "OAuth2 decision" │
│
"Rate limit API" ←──[dependency:0.6]───────────┘Axon类型:
| 类型 | 含义 | 示例 |
|---|---|---|
temporal | A发生在B之前 | 决定A在决定B之前做出 |
causal | A导致B | “使用PostgreSQL”→ “添加pgvector扩展名” |
semantic | 主题相关 | 两者都与身份验证有关 |
refinement | B改进/更新A | “使用JWT”→ “使用15分钟到期的JWT” |
conflict | A与B | “使用SQL”与“使用NoSQL”相矛盾 |
dependency | B依赖于A | 特征B需要特征A |
derived | B来源于A | 从决策中提取的学习 |
传播激活
当你搜索时 memory_recall 或 memory_traverse,系统通过突触图传播信号:
Query: "auth token handling"
│
▼ keyword match
Seed: "Use JWT for auth" (activation: 1.0)
│
├─[causal:0.8]──→ "Add token refresh" (activation: 0.4)
│ │
│ ├─[dependency:0.6]──→ "Rate limit API" (activation: 0.12)
│
└─[semantic:0.5]──→ "OAuth2 decision" (activation: 0.25)赫布学习
“一起放电的神经元,连接在一起”:
- LTP(长期增强)当两个记忆被反复回忆在一起时,它们的突触重量会增加(每次共激活增加0.1)
- LTD(长期抑郁症):未使用的突触随时间衰减(每个刷新周期×0.995)
- 修剪:重量低于0.05的突触会自动移除
- 自动编队当两个记忆共同激活5次以上时,赫比突触会自动产生
HTTP模式和多用户设置
部署为HTTP服务器以实现共享团队访问:
# Create an admin user
hive-memory user create admin-name
# Start HTTP server
CORTEX_HTTP=true CORTEX_AUTH_TOKEN= hive-memory
# Or use Docker
docker compose upAPI键旋转
hive-memory user rotate 新密钥立即处于活动状态。这 graceUntil 时间戳被存储用于审计目的。
速率限制
HTTP服务器强制限制 每位用户每分钟100个请求 (在内存中,每个实例)。
自动会话捕获
Hive Memory可以在Claude Code退出时自动保存会话。添加 ~/.claude/settings.json:
{
"hooks": {
"SessionEnd": [{
"matcher": "",
"hooks": [{
"type": "command",
"command": "hive-memory hook session-end"
}]
}]
}
}这将解析Claude Code转录并自动保存会话摘要。它跳过如果 session_save 在会议期间已被调用。
备份
# Create a backup
hive-memory backup
# Specify output path
hive-memory backup --output /path/to/backup.db配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
CORTEX_DATA_DIR | ~/.cortex | 数据存储目录 |
CORTEX_LOCAL_SYNC | true | 设置为 "false" 禁用写入 .cortex.md 进入项目目录 |
CORTEX_LOCAL_FILENAME | .cortex.md | 本地上下文文件的自定义文件名 |
CORTEX_HTTP | false | 设置为 "true" 启用HTTP服务器模式 |
CORTEX_AUTH_TOKEN | - | HTTP模式的管理员API令牌 |
PORT / CORTEX_PORT | 3179 | HTTP服务器端口 |
CORTEX_SYNC_INTERVAL_MIN | 30 | 连接器自动同步间隔(分钟) |
自定义配置示例:
{
"mcpServers": {
"hive-memory": {
"command": "hive-memory",
"env": {
"CORTEX_DATA_DIR": "/custom/path",
"CORTEX_LOCAL_SYNC": "false"
}
}
}
}本地上下文文件(.cortic.md)
Hive内存写入 .cortex.md 每个已注册项目目录中的文件。此文件包含项目当前上下文的快照——摘要、最近会话、下一个任务和跨项目见解。它是自动生成的,应该添加到 .gitignore.
要禁用此功能,请设置 CORTEX_LOCAL_SYNC=false.
从v1/v2迁移
Hive Memory v3自动迁移现有数据:
- 遗产
knowledge/文件 在首次启动时迁移到配置单元直接条目,然后重命名为knowledge.bak/ - 现有项目注册 (
index.json,summary.json,会话)不变 - 嵌入数据 (
vectors.json,嵌入模型缓存)不再使用,可以安全删除 - 这
@huggingface/transformers依赖关系已被删除——不再下载模型 - 架构版本现在在
schema_meta桌子
无需手动操作,只需更新并重新启动即可。
发展
npm install # Install dependencies
npm run build # Build TypeScript
npm run dev # Dev mode with auto-reload
npm run lint # Lint with ESLint
npm run typecheck # Type check
npm test # Run tests
npm run test:coverage # Run tests with coverage report