bytedance/deer-flow

feat(memory): refact memory store to markdown, user chat memory经常报错json格式访问 对 tinking 模型response不友好

Open

#3124 opened on May 21, 2026

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Python (67,767 stars) (9,005 forks)batch import
help wantedquestion

Description

试用deerflow user memory 后台经常碰到memory更新失败,加log看都是 json格式处理失败。建议改成markdown文件保存

feat(memory): refact memory store to markdown, user chat memory经常报错json格式访问 对 tinking 模型response不友好

使用 Markdown 格式替代 JSON 的可行性分析

是的,完全可以!使用 Markdown 格式存储用户 memory 有以下优势:

优点

  1. 格式容错性强 - 不像 JSON 那样严格,少一个逗号不会导致整个文件无法解析
  2. 便于调试 - 可以直接用文本编辑器查看和修改
  3. LLM 生成更容易 - Markdown 结构更灵活,生成错误的概率更低
  4. 人类可读性好 - 直接打开文件就能看到记忆内容

需要修改的部分

  1. 存储层 (storage.py)

    • 创建 MarkdownMemoryStorage 类,继承 MemoryStorage
    • 用 Markdown 格式读写文件
  2. Prompt 模板 (prompt.py)

    • MEMORY_UPDATE_PROMPT 改为生成 Markdown 格式
  3. 加载/注入逻辑 (prompt.py)

    • format_memory_for_injection() 改为解析 Markdown

Markdown 格式设计

# 用户上下文

## 工作背景
Engineer working on memory management system (DeerFlow)...

## 个人偏好
- 语言:中文
- 沟通风格:简洁直接

## 当前关注点
1. Testing user-level memory management with DeerFlow
2. Managing skills via skillhub-cli
3. Tracking Jira issue BUILD-9555

## 历史记忆

### 最近活动
Testing DeerFlow memory management system...

### 长期背景
Working with ecosystem tools...

## Facts
- **[context]** DeerFlow memory API requires authentication
- **[preference]** skillhub-cli preferred for skill operations
- **[goal]** Track BUILD-9555 status

是否需要我帮你实现这个 Markdown 格式的 memory 存储方案?

如果需要,我可以:

  1. 创建 MarkdownMemoryStorage 替代 FileMemoryStorage
  2. 修改 prompt 让 LLM 生成 Markdown
  3. 修改注入逻辑解析 Markdown
  4. 配置 memory.storage_class 使用新的存储类

这样你只需要在 config.yaml 中配置:

memory:
  storage_class: deerflow.agents.memory.storage.MarkdownMemoryStorage

Contributor guide