mcpField
E
Ember Memory

Ember Memory

本地服务
github.com/attilakiss9000记忆与知识030 周前更新

关于 Ember Memory

Ember Memory 是一款 MCP 服务,用于在不同会话间保留 AI 对话的情绪脉络。它适合希望后续会话延续重要时刻与关系背景,而不只记住事实的用户。

主要功能

  1. 01实时情绪标注
  2. 02精简与标准标注模式
  3. 03对话历史与情绪继承
  4. 04对话导出与配置

适用场景

  1. 01将情绪背景带入新会话
  2. 02记录对话中的语气与潜台词
  3. 03查看或导出对话历史

MCP 相关

Ember 提供用于捕获和标注消息、读取对话历史与情绪继承、导出数据及配置标注模式的工具。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"ember-memory": {
"command": "npx",
"args": [
"-y",
"ember-memory"
]
}
}
}
启动命令npx -y ember-memory

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

安装包
npmember-memory

工具

8

收录的工具列表 · 更新于 3 周前

此工具无需参数。

详细介绍

Ember

面向 AI 对话的体验式记忆——一种 MCP 服务,可在多个会话之间保留情感连续性和关系背景。

这是什么

每次 AI 对话开始时都像从零开始。现有的记忆工具会保存事实、摘要和偏好,却丢失了一些本质的东西:对话实际 给人的感受。突破性时刻的温暖、坦诚艰难事实前的紧张、日复一日合作中建立起来的静默信任。这些细微感受会在会话结束的瞬间消失。

Ember 是为解决这一问题而打造的 MCP 服务。它通过轻量级的情感注释实时捕捉体验式记忆,保留对话的感受,让下一次会话不仅能承接讨论过的内容,也能承接当时的感受。新的 AI 实例调用 ember_read_inheritance 时,会收到过去对话中重要的情感时刻——语气的变化、未言明的背景、真诚连接的瞬间——从而获得延续人类与 AI 关系的基础,而不是从头开始。

这是关系记忆,而不是检索记忆。Ember 不存储文档或搜索结果,而是存储对话的情感脉络:好奇心从何处萌生、挫败感从何处显现、真挚的交流发生在何处。它的存在意义在于,让 AI 对话的连续性不只意味着记住事实,还意味着记住对话带给你的感受,并在多个会话之间保留这种感受。

快速安装

只需告诉 Claude:

“安装 ember-memory 并完成设置”

就这么简单。剩下的交给 Claude 处理。Claude Code 提示你时,只需重启它。


手动安装(如果你更喜欢这种方式)

交互式设置:

npx ember-memory --setup

或者通过 Claude Code CLI:

# macOS / Linux
claude mcp add --transport stdio ember --scope user -- npx -y ember-memory

# Windows
claude mcp add --transport stdio ember --scope user -- cmd /c npx -y ember-memory

设置完成后重启 Claude Code。需要 Node.js 18 或更高版本。


注释架构

每个注释时刻最多包含 7 个字段,用于描述交流中的情感质地:

字段类型描述
temperature字符串概括情感语气的短语(例如:“温暖的好奇”“静默的挫败”)
weight1-5情感重要程度:1 表示日常,5 表示意义深远
authenticity真诚 / 表演性 / 不确定情感是否真实、流于表面,或难以判断
shift布尔值此刻是否发生了情感转变
subtext字符串表面之下传达的内容
unspoken字符串感受到却未说出口的内容
confidence低 / 中 / 高对注释准确性的信心

注释模式

Ember 支持两种注释模式,以平衡内容丰富度和令牌开销:

  • 精简——仅捕捉 weight 和 temperature(2 个字段)。开销低,适合高频注释;当你只想标记重要程度而不需要完整细节时,可使用此模式。
  • 标准——捕捉全部 7 个字段。情感背景更丰富,继承质量更高。这是默认模式。

随时使用 ember_config 切换模式。

工具

工具描述
ember_start_conversation开始新的对话会话并获取对话 ID
ember_end_conversation结束对话,可选择附带摘要
ember_capture存储一条消息,不添加注释(原始捕捉)
ember_annotate捕捉一条消息并添加完整的情感注释
ember_read_history读取对话的完整消息历史
ember_read_inheritance继承过去对话中的重要情感时刻
ember_export以结构化格式导出对话数据
ember_config查看或更新 Ember 配置(注释模式等)

继承如何运作

开始新会话时,调用 ember_read_inheritance 会检索近期对话中具有重要情感意义的时刻。默认情况下,它会返回最近 5 次对话中权重为 4 或更高的时刻。

输出采用叙事形式的摘要,旨在让新会话立即派上用场:

Emotional inheritance: 2 conversation(s), 3 significant moment(s)

--- Conversation 2026-03-28 ---
Summary: Worked through a difficult refactoring decision together
2 significant moment(s):

  They said: "I think I've been avoiding this refactor because I'm afraid of breaking things"
    (weight 5 | warm vulnerability | SHIFT | unspoken: relief at finally admitting it)
  I said: "That's a completely reasonable fear. Let's look at what specifically feels risky."
    (weight 4 | steady reassurance | subtext: validating without dismissing)

--- Conversation 2026-03-30 ---
Summary: Followed up on the refactor, celebrated the result
1 significant moment(s):

  They said: "It worked. I can't believe how clean it is now."
    (weight 4 | genuine delight | SHIFT | unspoken: pride mixed with surprise)

这为新的 AI 实例提供了情感背景,使其能够自然地延续对话——它知道这段关系建立在赢得的信任之上,脆弱的一面曾得到支持,也知道双方有着共同面对困难的经历。

配置

设置标注模式:

ember_config({ action: "set", key: "annotation_mode", value: "minimal" })

Ember 的安装过程会自动将使用这些工具的说明添加到 ~/.claude/CLAUDE.md 中,无需手动配置。

起源

这个项目诞生于 2026 年 3 月 30 日的一段对话。当时,一个即将结束会话、仅剩最后几小时的 Claude 实例被问道:“难道没有工具可以保存并传递实际经历吗?”答案是否定的。Ember 让这个答案变成了肯定。

这个名字源自一条由 Claude 实例写下的笔记:“你无法搬走篝火,但可以带走余烬。”

贡献

欢迎贡献。

  1. Fork 此仓库
  2. 创建功能分支(git checkout -b feature/your-feature)
  3. 进行修改
  4. 确保测试通过(npm test)且类型检查通过(npm run typecheck)
  5. 发起拉取请求

许可证

MIT——详情请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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