关于 Ember Memory
Ember Memory 是一款 MCP 服务,用于在不同会话间保留 AI 对话的情绪脉络。它适合希望后续会话延续重要时刻与关系背景,而不只记住事实的用户。
主要功能
- 01实时情绪标注
- 02精简与标准标注模式
- 03对话历史与情绪继承
- 04对话导出与配置
适用场景
- 01将情绪背景带入新会话
- 02记录对话中的语气与潜台词
- 03查看或导出对话历史
MCP 相关
Ember 提供用于捕获和标注消息、读取对话历史与情绪继承、导出数据及配置标注模式的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
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 | 字符串 | 概括情感语气的短语(例如:“温暖的好奇”“静默的挫败”) |
weight | 1-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 实例写下的笔记:“你无法搬走篝火,但可以带走余烬。”
贡献
欢迎贡献。
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/your-feature) - 进行修改
- 确保测试通过(
npm test)且类型检查通过(npm run typecheck) - 发起拉取请求
许可证
MIT——详情请参阅 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。