跳转到主要内容

Dense-Mem 快速开始:让 Claude Code 和 Codex 使用同一份记忆

一篇面向初学者的教程:启动本地 Dense-Mem 服务器,创建第一把 memory key,并把 Claude Code 和 Codex 接到同一个共享 AI 记忆大脑。

7 分钟阅读
分享:
AI 驱动

AI 驱动 · 每小时限 20 次请求

安全共享记忆中枢连接桌面上的多个 AI 客户端窗口
安全共享记忆中枢连接多个 AI 客户端

快速答案

在 2026 年,最简单的 Dense-Mem 部署方式是一套本地 Docker Compose 环境:Dense-Mem、Postgres、Neo4j 三个服务,共用一个 MCP 端点。

最快路径:

  • 用本地 Compose 文件启动 Dense-Mem。
  • provision-team 创建一个记忆密钥。
  • 把 Claude Code、Codex,或两者都连接到 localhost:8080/mcp

大多数 AI 聊天在一个会话里看起来很聪明,第二天早上又忘光了。

Dense-Mem 的作用,是给你的 AI 工具一个共享记忆服务器。Claude Code、Codex 和其他 MCP 客户端都可以连接到同一个地方。你不必在每个新聊天里重复偏好、项目规则、家庭计划或团队决策,而是为这些工具提供一个持久记忆大脑。

目标很简单:

多个 AI 会话 -> 一台 Dense-Mem 服务器 -> 同一份有用记忆

本教程先跑本地版本。这是最安全的第一步,因为所有东西都留在你的电脑上。

Dense-Mem 给你什么

Dense-Mem 不是另一个聊天机器人。它是聊天工具后面的记忆层。

没有 Dense-Mem 时散落的 AI 聊天,与使用一个共享记忆中枢的已连接 AI 客户端对比
没有 Dense-Mem 和使用 Dense-Mem 的区别

从左到右看图。

没有 Dense-Mem 时,每个助手都从冷启动开始。Claude Code 可能知道一件事,Codex 可能知道另一件事,明天的聊天可能两个都不知道。

有 Dense-Mem 时,这些工具指向同一个记忆服务。偏好、项目决策、纠正、团队上下文不会随着聊天窗口关闭而消失。

Dense-Mem 先存证据,然后把经过验证的记忆变成事实。如果新记忆与旧记忆冲突,它应该请求澄清,而不是静默覆盖旧记忆。

这很重要,因为记忆只有在以后还能被信任时才有用。

它解决的问题

四个常见 AI 记忆问题流向一个安全 Dense-Mem 方案中枢
Dense-Mem 解决的常见记忆问题

Dense-Mem 在这些情况下有用:

  • 你不断重复同样偏好
  • 项目决策消失在旧聊天里
  • 不同 AI 客户端不能共享上下文
  • 团队或家庭知识散落在会话中
  • 纠正应该替换旧记忆,而不是制造混乱

你需要什么

你需要四样东西:

  • Docker,用来运行服务器和数据库,不需要手动安装。
  • 终端,用来输入命令。
  • 兼容 OpenAI 的 Embedding 端点和 API 密钥,用于记忆召回和检查。
  • Claude Code、Codex,或另一个会使用记忆的 MCP 客户端。

如果这是第一次,使用已发布的 Dense-Mem 手册作为权威参考:Dense-Mem 快速开始

步骤 1: 下载本地 Compose 文件

笔记本电脑内运行 Dense-Mem、Postgres 和 Neo4j 的 Docker Compose 搭建
本地 Docker Compose 搭建

创建文件夹:

bash
mkdir dense-mem-local
cd dense-mem-local

下载面向初学者的本地部署方案:

bash
curl -fsSLo docker-compose.yml \
  https://raw.githubusercontent.com/markhuangai/dense-mem/main/examples/docker-compose.base.yml

创建 .env 文件:

bash
cat > .env <<'EOF'
POSTGRES_PASSWORD=choose-a-strong-postgres-password
NEO4J_PASSWORD=choose-a-strong-neo4j-password
CONTROL_PORTAL_TOKEN=choose-a-long-control-portal-token
AI_API_URL=https://api.openai.com/v1
AI_API_KEY=your-ai-provider-api-key
AI_API_EMBEDDING_MODEL=text-embedding-3-large
AI_API_EMBEDDING_DIMENSIONS=3072
EOF

打开 .env,把每个占位值换成真实值。

这个文件要保持私密。里面有密码和 API 密钥。

Dense-Mem 会连接兼容 OpenAI 的 Embedding API。上面的例子用 OpenAI 的 text-embedding-3-large,所以维度必须是 3072。如果用 text-embedding-3-small,则用 1536。如果用另一个兼容 OpenAI 的提供商,在存重要记忆前一起修改 AI_API_URLAI_API_EMBEDDING_MODELAI_API_EMBEDDING_DIMENSIONS

步骤 2: 启动 Dense-Mem

启动整套服务:

bash
docker compose up -d

检查它是否运行:

bash
docker compose ps

你的本地 Dense-Mem URL 是:

  • http://127.0.0.1:8080/mcp:给 Claude Code、Codex 和其他 MCP 客户端
  • http://127.0.0.1:8080/ui:面向用户的 UI
  • http://127.0.0.1:8090/:管理团队、配置档、密钥的控制门户

重点是:这些都是本地地址,不是公网地址。

步骤 3: 创建第一个记忆密钥

运行:

bash
docker compose exec server /app/provision-team --name "primary-memory"

Dense-Mem 只会打印 API 密钥一次。把它保存到私密位置。

它大概长这样:

json
{
  "team_name": "primary-memory",
  "profile_name": "default profile",
  "scopes": ["read", "write"],
  "api_key": "dm_default-prof_..."
}

API 密钥用来证明你的 AI 客户端可以使用你的记忆。

步骤 4: 连接 Claude Code

API 密钥卡片把两个 AI 助手终端连接到同一个记忆中枢
把多个 AI 客户端连接到同一个记忆中枢

在终端里设置 API 密钥:

bash
export DENSE_MEM_API_KEY="dm_default-prof_..."

然后把 Dense-Mem 加进 Claude Code:

bash
claude mcp add --transport http dense-mem http://localhost:8080/mcp \
  --header "Authorization: Bearer $DENSE_MEM_API_KEY"

现在,当你要求 Claude Code 记住或召回某些东西时,它可以调用 Dense-Mem。

步骤 5: 连接 Codex

设置同一个环境变量:

bash
export DENSE_MEM_API_KEY="dm_default-prof_..."

把下面内容加到 ~/.codex/config.toml

toml
[mcp_servers.dense_mem]
url = "http://localhost:8080/mcp"
bearer_token_env_var = "DENSE_MEM_API_KEY"
tool_timeout_sec = 60
enabled = true

修改配置后重启 Codex。

现在 Claude Code 和 Codex 可以使用同一个 Dense-Mem 服务器。同一份记忆,不同客户端。

步骤 6: 尝试第一条记忆

问你的 AI 客户端:

请记住,我偏好简洁解释和具体例子。

然后启动新会话,问:

关于我的解释偏好,你记得什么?

如果连接正常,助手应该调用 Dense-Mem,并基于已存记忆回答。

让更多人共用一个大脑

个人、家庭、工作团队记忆空间连接到一个安全记忆中枢
团队和配置档让记忆边界更清楚

Dense-Mem 支持团队和配置档。

记忆应该共享时,用同一个团队。记忆不应混在一起时,用不同团队。

  • 一个人使用多个 AI 工具,可以从一个团队、一个配置档开始。
  • 家庭可以用一个家庭团队,配不同配置档。
  • 工作组可以按项目或小组使用一个团队。
  • 只应该搜索的自动化,应使用只读配置档密钥。

真正的价值在这里:记忆不再局限于一个聊天客户端。

Claude Code 会话可以记住一条项目规则。之后 Codex 可以召回它。家庭计划助手可以记住旅行偏好。工作团队可以把项目决策放在同一个共享记忆边界里。

不要存什么

Dense-Mem 是记忆,不是密码管理器。

不要存:

  • 密码
  • 助记词
  • 私钥
  • 支付卡号
  • 任何你不希望已配置 AI 提供商处理的内容

默认情况下,Dense-Mem 会把记忆文本和召回查询发送给配置的 Embedding 提供商。如果这不能接受,请在存敏感记忆前使用自托管提供商。

停止或重启

停止:

bash
docker compose down

再次启动:

bash
docker compose up -d

除非你故意删除 Docker 卷,否则记忆会留在卷里。

下一步

本地 Dense-Mem 是最好的第一步。跑通后,你可以把它放到安全的公网服务器上,让不同机器上的 AI 工具访问同一份记忆。

下一篇教程是:用 Vultr 和 Traefik 安全部署 Dense-Mem

如果 Dense-Mem 对你有帮助,给项目点星,并分享给也使用多个 AI 工具的人:github.com/markhuangai/dense-mem

许可

Article text © 2026 Mark Huang. Licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) unless otherwise noted. 文章文本可在非商业场景下分享或翻译,但需标注原文 URL。商业使用需事先取得书面许可,并清楚引用原始来源。

代码片段、截图、第三方素材和网站源码可能适用单独条款。

建议署名: Based on "Dense-Mem 快速开始:让 Claude Code 和 Codex 使用同一份记忆" by Mark Huang, originally published at https://markhuang.ai/zh/blog/dense-mem-personal-server-claude-code-codex.

订阅更新

Go、AI/LLM 和分布式系统的技术文章,绝不滥发。

评论

正在加载评论...