mcpField
K
Kemory

Kemory

本地服务
kemory.sekondbrain.ai记忆与知识31 天前更新

关于 Kemory

Kemory 是面向 AI Agent 的持久记忆库命令行客户端,可将多种编码客户端连接到记忆库。它配置 MCP、记忆钩子,并提供命令管理和查询记忆。

主要功能

  1. 01连接并配置多种 AI 客户端
  2. 02启动 stdio MCP 桥接
  3. 03会话开始时加载记忆
  4. 04保存会话记忆
  5. 05管理、搜索和导出记忆

适用场景

  1. 01为编码会话提供已有上下文
  2. 02在会话结束时保存内容
  3. 03检查客户端连接并修复配置

MCP 相关

提供 stdio MCP 桥接,供 MCP 客户端启动并访问 Kemory 记忆库;connect 和 mcp install 可写入客户端配置。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"sekondbrainailabs-kemory": {
"command": "npx",
"args": [
"-y",
"kemory"
],
"env": {
"KEMORY_API_KEY": "<KEMORY_API_KEY>"
}
}
}
}
启动命令npx -y kemory
需要配置的环境变量
KEMORY_API_KEY密钥Kemory API key; when unset, mcp serve uses the sign-in from `kemory login`

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmkemory0.19.0

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

kemory

CI npm PyPI License: MIT M8ven Score

Kemory 的命令行客户端。Kemory 是一个为 AI Agent 提供持久记忆的保险库。它会为你登录,将 Claude Code、Codex、Cursor 和 VS Code 等 MCP 客户端连接到你的保险库,并运行它们使用的 MCP 桥接程序。

快速开始

你需要一个 Kemory 账户;请前往 kemory.sekondbrain.ai 注册。

  1. 连接你的 AI 客户端。无需预先安装任何东西:

    npx -y kemory connect   # Node.js 18+
    uvx kemory connect   # or with uv
    

    浏览器会打开登录页面。随后,kemory 会列出这台设备上的 AI 客户端,并标记为 [ready] 或 [connected],然后询问一次:连接所有就绪的客户端、选择部分客户端,或取消。Claude Code 和 Grok Build 会安装 Kemory 插件;Codex、Copilot CLI、Cursor、Gemini CLI、OpenCode 和 VS Code 会添加 MCP 配置项并启用自动记忆;其他客户端会添加 MCP 配置项。随后会检查连接情况。摘要会列出尚待处理的事项,例如需要重启哪些客户端。

  2. 重启列表中列出的客户端。Warp 无需重启即可应用更改。

  3. 随时使用 kemory doctor 端到端检查设置。

--dry-run 会显示将要进行的更改,但不会实际修改任何内容。在脚本中,请改为指定客户端名称:--host all,或 --host claude-code、--host codex 等(MCP 客户端列出了这些名称);这样 kemory 就不会再询问。

安装

brew install sekondbrainailabs/s9n/kemory
npm install -g kemory
uv tool install kemory

提供 macOS(Apple 芯片和 Intel)、Linux(arm64 和 x64)以及 Windows(x64)的构建版本。它们附带校验和与构建来源证明,并发布在每个 GitHub 版本中 (gh attestation verify <file> --repo SeKondBrainAILabs/kemory-cli)。 kemory upgrade 会告知你是否有更新版本,以及如何更新已安装的副本。

命令

命令功能
kemory login通过浏览器登录(OAuth 设备流),或使用 API 密钥加上 --local 登录
kemory logout移除所选环境的缓存登录信息
kemory whoami显示你的账户、当前组织和团队
kemory mcp serveMCP 客户端启动的 stdio MCP 桥接程序
kemory hook session-start, hook capture编码 Agent 钩子运行的命令:会话开始时加载你的 Kemory 上下文,会话结束时保存会话(参见 钩子)
kemory connect如有需要则登录,配置 MCP 客户端并检查连接
kemory connect copilot-cloud为当前仓库中的 GitHub Copilot 云 Agent 启用自动记忆(参见 Copilot 云 Agent)
kemory mcp install将 kemory 配置写入 MCP 客户端(对所有已安装的客户端使用 --host all)
kemory doctor检查登录状态、网络、API 和 MCP 客户端;--fix 会配置或清理它们
kemory orgs, kemory use列出你的组织并切换当前组织
kemory remember, recall, ls, show, forget存储、搜索、读取和删除记忆
kemory ask向你的知识库提问,并获取附有证据的答案
kemory namespaces, kemory export列出命名空间,将整个知识库导出为 JSON
kemory stats查看记忆调用次数及其 token 成本;使用 stats memories 查看从未被调用或被降级评分的记忆
kemory keys为 Agent 创建、轮换、批准、撤销、删除和列出 API 密钥
kemory upgrade, telemetry, completion检查 CLI 是否有更新、设置分析数据偏好、配置 Shell 补全

每条命令都接受 --output json,供脚本和 Agent 使用(此时标准输出仅包含 JSON 负载),还接受 --quiet、--no-color 和 --env <name>。

MCP 客户端

kemory connect --host <name> 和 kemory mcp install --host <name> 用于连接 一个客户端;--host all 则连接此计算机上安装的所有客户端。

对于 Claude Code 和 Grok Build,这些命令会通过客户端自带的 claude 或 grok 命令安装 Kemory 插件。该插件的钩子会将每次会话保存到 Kemory, 并且在 Claude Code 中还会在会话开始时加载你的记忆。如果没有该命令,或环境不是 prod, 则会改为写入 MCP 配置。

对于 Codex,这些命令还会向 ~/.codex/hooks.json 添加钩子,在会话开始时加载你的记忆, 并在会话进行过程中保存会话(参见 钩子)。Codex 只有在你批准后才会运行新钩子, 因此请启动一次 Codex,并使用 /hooks 批准这些钩子。该文件中的其他钩子会保持不变。

对于 Cursor,这些命令会向 ~/.cursor/hooks.json 添加相同的钩子;对于 Gemini CLI,则会将钩子添加到 ~/.gemini/settings.json 的 hooks 中。两者都会直接运行钩子, 不会征求确认,并且会保留其他钩子。

对于 VS Code 和 Copilot CLI,这些命令会写入 ~/.copilot/hooks/kemory.json; 两者都会运行该配置(VS Code 通过 chat.useHooks 设置运行,默认启用)。此文件由 kemory 管理, 每次连接时都会重写。

对于 OpenCode,这些命令会将 opencode-kemory 插件添加到 opencode.json 的 plugin 列表中,OpenCode 会从 npm 安装该插件。它执行相同的操作:在会话开始时将你的记忆 添加到系统提示词中,并在会话进行过程中保存你的提示词。若连接的是非默认环境, 则会改为将插件写入 ~/.config/opencode/plugins/kemory.js;再次连接时会替换该文件, 因此请将自己的插件保存在其他文件中。

对于其他所有客户端,这些命令都会写入 MCP 配置。该配置只会启动 kemory mcp serve;不会将令牌或密钥写入客户端配置,文件中的其他内容也会保持不变。

--host客户端配置文件(macOS 和 Linux)
claude-codeClaude Code~/.claude.json
claude-desktopClaude Desktop~/Library/Application Support/Claude/claude_desktop_config.json
codexOpenAI Codex~/.codex/config.toml,以及位于 ~/.codex/hooks.json(或 $CODEX_HOME 下)的记忆钩子
cursorCursor~/.cursor/mcp.json,以及位于 ~/.cursor/hooks.json 的记忆钩子
vscodeVS Code(Copilot Agent 模式)~/Library/Application Support/Code/User/mcp.json、~/.config/Code/User/mcp.json,以及位于 ~/.copilot/hooks/kemory.json 的记忆钩子
copilot-cliGitHub Copilot CLI~/.copilot/mcp-config.json(或 $COPILOT_HOME 下),以及位于 ~/.copilot/hooks/kemory.json 的记忆钩子
copilot-jetbrainsJetBrains IDE 中的 GitHub Copilot~/.config/github-copilot/intellij/mcp.json(Windows 上为 %LOCALAPPDATA%\github-copilot\intellij\mcp.json)
junieJetBrains IDE 和 Junie CLI 中的 Junie~/.junie/mcp/mcp.json
gemini-cliGemini CLI~/.gemini/settings.json,记忆钩子也在同一文件中
antigravityGoogle Antigravity~/.gemini/config/mcp_config.json
windsurfWindsurf / Devin Desktop~/.config/devin/mcp_config.json,旧版安装则为 ~/.codeium/windsurf/mcp_config.json
clineClineVS Code 扩展的 cline_mcp_settings.json,或 ~/.cline/data/settings/cline_mcp_settings.json
kiroKiro~/.kiro/settings/mcp.json
grokGrok CLI~/.grok/config.toml
continueContinue(已于 2026 年停止维护;仍在安装的版本会继续正常运行)~/.continue/mcpServers/kemory.json
droidFactory Droid~/.factory/mcp.json,以及位于 ~/.factory/hooks.json 的记忆钩子(如果你将钩子保存在 ~/.factory/settings.json 中,也可以放在那里)
zedZed~/.config/zed/settings.json(Windows 上为 %APPDATA%\Zed\settings.json),位于 context_servers 下;文件中的注释会保留
warpWarp~/.warp/.mcp.json
opencodeOpenCode~/.config/opencode/opencode.json,以及其 plugin 列表中的 opencode-kemory

在 Windows 上,Library/Application Support 和 .config 下的文件位于 %APPDATA% 中;OpenCode 的文件除外,它仍位于 ~\.config\opencode。Grok 也会读取 ~/.claude.json,因此其中的 claude-code 条目也会连接到 Grok。

每个客户端只建立一个连接

每个客户端都应只通过一种方式连接 Kemory。通过两种方式连接会让每个 Kemory 工具出现两次,增加每个会话的上下文开销。

客户端连接方式
claude.ai、Claude Desktop 和 Claude 移动端claude.ai 连接器,从 Kemory 控制面板添加
Claude Code 和 Grok BuildKemory 插件,由 kemory connect 安装
上表中的其他所有客户端kemory connect --host <name>

如果客户端已经连接了 Kemory,connect 和 mcp install 不会为其写入任何内容:已启用 Kemory 插件的 Claude Code 或 Grok Build,或者账号正在使用 claude.ai 连接器的 Claude Desktop。kemory doctor 会报告与上述任一连接重复的 kemory 条目,而 kemory doctor --fix 会将其移除。

Claude Desktop 运行时会根据内存重写配置文件,从而删除期间添加或移除的条目。如果必须在其打开时更改配置,connect、mcp install 和 doctor --fix 会提示先退出应用、进行更改,然后重新打开(doctor --fix --yes 会直接执行,不再询问)。 如果在 Claude 应用内的终端中运行这些命令,由于终端会随应用一同关闭,系统会提示改为打开 Terminal 并在那里继续(macOS)。

Copilot cloud agent

GitHub Copilot 的云 Agent 在无人登录的沙盒中运行,因此它需要使用 API 密钥访问 Kemory。在已登录 gh 的情况下,在它要操作的仓库中运行 kemory connect copilot-cloud。它会:

  1. 写入 .github/hooks/kemory.json,其中的钩子会在会话开始时加载你的记忆,并保存会话(提交并推送);
  2. 为该仓库创建 API 密钥,或在重新运行时创建一个新密钥,并将其存储为仓库的 Agents 密钥 KEMORY_API_KEY(供钩子使用)和 COPILOT_MCP_KEMORY_API_KEY(供 MCP 服务使用);
  3. 输出 MCP 配置,供你粘贴到仓库的 Settings → Copilot → MCP servers 中;还会输出要添加到 Settings → Copilot → Internet access 的 Kemory 主机地址,以便钩子能够访问它。

如果没有 gh,它会只显示一次密钥,供你自行将其添加为这两个密钥。钩子在其他任何无人登录的场景中也会使用 KEMORY_API_KEY。

退出代码

脚本和 Agent 可以根据命令失败的原因采取相应操作:

代码含义
0成功
1不属于以下类别的失败
2调用无效
3未登录,或登录被拒绝——运行 kemory login
4无法访问 Kemory;服务器上未运行任何操作
5已登录但无权限(403)
6未找到(404)
7与现有状态冲突(409)
8请求过于频繁(429)
9Kemory 正常运行,但暂时不可用(503)

配置

变量作用
KEMORY_ENV要使用的环境:prod(默认)、india、local,或环境配置文件中的某个环境
KEMORY_URL使用此 Kemory API 主机,而非当前环境的主机
KEMORY_OIDC_ISSUER、KEMORY_CLI_CLIENT_ID可自托管 Kemory 的身份提供商和客户端
KEMORY_API_KEYmcp serve 使用此密钥进行身份验证,而非使用你的登录信息
KEMORY_HTTP_TIMEOUTmcp serve 等待 Kemory 响应的秒数(默认 120)
KEMORY_OUTPUTtext 或 json,与 --output 类似
NO_COLOR禁用颜色
KEMORY_ACCESSIBLE=1使用纯文本编号提示替代方向键选择器,供屏幕阅读器使用
KEMORY_HEADLESS=1始终不尝试打开浏览器

登录信息按环境存储在 ~/.kemory/credentials-<env> 中。可在 ~/.kemory/environments.json(或由 KEMORY_ENVIRONMENTS_FILE 指定的文件)中定义其他环境:

{"myenv": {"issuer": "https://idp.example.com/realms/x", "kemory_url": "https://kemory.example.com", "dashboard_url": "https://app.example.com", "server_name": "kemory-myenv"}}

Hooks

支持钩子的编码 Agent 可以在会话开始时获取 Kemory 上下文,并在会话结束时保存上下文。kemory connect 会尽可能完成设置;以下是钩子调用的命令。

CommandHook eventDoes
kemory hook session-start --agent <agent>会话开始按 Agent 注入的格式,输出你在 Kemory 中的命名空间摘要,并附上如何使用这些摘要的简短说明。--agent 可以是 claude-code、codex、copilot、gemini-cli、cursor、opencode,也可以是输出纯文本的 text。
kemory hook capture --agent <agent>每轮对话后、压缩前、会话结束时读取 Agent 载荷指定的对话记录(或 --transcript),并将尚未存储的提示词作为一条记忆保存。每轮对话后,会等待 3 条新提示词;压缩和会话结束时,则会保存所有待处理内容。不输出任何内容。

两者都不会阻塞 Agent:任何错误都不会显示,退出状态始终为 0,并且每个钩子都会在 KEMORY_HOOK_TIMEOUT 秒后放弃(默认值为 2)。KEMORY_HOOK_DEBUG=1 会显示钩子未执行操作的原因。

捕获功能只会发送你自己的提示词,不会发送 Agent 的回复或工具输出:每条记忆最多包含最近的 12 条新提示词和 8000 个字符;符合凭据格式的文本(API 密钥、令牌、密码、私钥)会替换为 [REDACTED]。这些内容会存储在 user:sessions 命名空间中,仅你可见。功能会在 ~/.kemory/.captured/<session> 中记录已存储的内容;Kemory 插件也会使用同一文件,因此不会重复存储同一会话。

VariableEffect
KEMORY_CONTEXT=0关闭会话开始时的上下文
KEMORY_CONTEXT_DEPTH、KEMORY_CONTEXT_MAX_CHARS、KEMORY_CONTEXT_NAMESPACES摘要深度(默认值为 l3)、字符数上限(默认值为 4000)、要包含的命名空间(逗号分隔;默认包含全部)
KEMORY_AUTO_CAPTURE=0关闭捕获功能
KEMORY_CAPTURE_NAMESPACE、KEMORY_CAPTURE_VISIBILITY捕获内容的存储位置(默认值为 user:sessions、user-private)
KEMORY_CAPTURE_MAX_TURNS、KEMORY_CAPTURE_MIN_NEW_TURNS每条记忆包含的提示词数(默认值为 12)、每轮捕获等待的新提示词数(默认值为 3)

CLI 会发送哪些内容

命令会与所选环境的 Kemory API 通信;login 和令牌刷新则会与该环境的登录服务通信(生产环境为 accounts.sekondbrain.ai)。每个 API 请求都会携带你的访问令牌、当前组织、CLI 版本、操作系统和架构(X-Kemory-Client),以及所运行命令的名称(X-Kemory-Command,不包含命令参数)。Kemory 会将后两项用于产品分析;运行 kemory telemetry off 可为你的帐户关闭此功能。kemory doctor 和 kemory upgrade 还会读取 GitHub 上的公开版本列表以比较版本。

SeKondBrain 如何处理你的帐户和保险库数据,请参阅隐私政策。

卸载

  1. 从 MCP 客户端的配置文件中移除 kemory 条目(MCP 客户端表中列出了各配置文件);对于 Continue,请删除 ~/.continue/mcpServers/kemory.json。
  2. 运行 kemory logout,或删除 ~/.kemory/ 以移除所有已保存的登录信息。
  3. 按照安装时使用的方式卸载 CLI:brew uninstall kemory、npm uninstall -g kemory 或 uv tool uninstall kemory。

从源代码构建

make build   # produces ./kemory
make check   # what CI runs: tests, lint, vulnerability scan, hygiene check

如何参与 CLI 开发,请参阅 CONTRIBUTING.md;有关凭据处理方式以及如何报告漏洞,请参阅 SECURITY.md。如有问题或发现错误,请前往 GitHub issues。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。