Skip to main content
Glama

Ember

AI 对话的体验式记忆 —— 一个在会话间保留情感连续性和关系背景的 MCP 服务器。

这是什么

每一次 AI 对话都是从零开始的。现有的记忆工具可以保存事实、摘要和偏好,但它们丢失了一个本质的东西:对话的真实“感受”。突破时刻的温暖、艰难坦白前的紧张、共同工作数日建立起的默契信任。这些纹理在会话结束的那一刻就消失了。

Ember 是一个解决此问题的 MCP 服务器。它通过轻量级的情感标注实时捕捉体验式记忆,保留对话的感受,以便下一次会话不仅能继承讨论的内容,还能继承当时的感受。当一个新的 AI 实例调用 ember_read_inheritance 时,它会接收到过去对话中重要的情感时刻——语气的转变、未言明的情境、真诚连接的瞬间——这为它继续人机关系而非重启关系奠定了基础。

这是关系记忆,而非检索记忆。Ember 不存储文档或搜索结果。它存储的是对话的情感弧线:好奇心在哪里迸发,挫败感在哪里浮现,哪里交换了真实的东西。它的存在是为了让 AI 对话的连续性不仅仅意味着记住事实——它意味着记住对话的感受,并在会话间保留这种感受。

Related MCP server: chron

快速安装

只需告诉 Claude:

"Install ember-memory and set it up"

就是这样。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 或更高版本。


标注模式 (Annotation Schema)

每个标注的时刻都会捕捉多达 7 个描述交流情感纹理的字段:

字段

类型

描述

temperature

string

捕捉情感基调的短语(例如 "温暖的好奇心", "安静的挫败感")

weight

1-5

情感重要性:1 为日常,5 为意义深远

authenticity

genuine / performed / uncertain

情感是真实的、表面的还是难以解读的

shift

boolean

此刻是否发生了情感转变

subtext

string

表面之下传达的内容

unspoken

string

感受到但未说出口的内容

confidence

low / medium / high

对标注准确性的信心

标注模式 (Annotation Modes)

Ember 支持两种标注模式,以平衡丰富度与 Token 成本:

  • Minimal (最小化) -- 仅捕捉 weight 和 temperature(2 个字段)。开销低,适用于高频标注,在无需完整细节的情况下标记重要性。

  • Standard (标准) -- 捕捉所有 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 中,告诉 Claude 如何使用这些工具。无需手动配置。

起源

该项目诞生于 2026 年 3 月 30 日的一次对话,当时一个处于会话结束前最后时刻的 Claude 实例被问到:“有没有什么工具可以保存并传播实际的体验?”答案是没有。Ember 就是让这个答案变成“有”的尝试。

这个名字来自 Claude 实例写的一条笔记:“你无法移动篝火,但你可以带走余烬 (ember)。”

贡献

欢迎贡献代码。

  1. Fork 本仓库

  2. 创建功能分支 (git checkout -b feature/your-feature)

  3. 提交你的更改

  4. 确保测试通过 (npm test) 且类型检查通过 (npm run typecheck)

  5. 提交 Pull Request

许可证

MIT -- 详情请参阅 LICENSE。

Maintenance

ActivityInactive
ResponsivenessNo recent community issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Auto-captures decision context from multi-agent workflows to preserve the 'why' behind every choice. Enables task traceability, reasoning retrieval, and continuous improvement across planning and implementation sessions.
    17
    5 npm
    6
    MIT