bytedance/deer-flow
View on GitHubfeat(memory): refact memory store to markdown, user chat memory经常报错json格式访问 对 tinking 模型response不友好
Open
#3124 opened on May 21, 2026
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 有以下优势:
优点
- 格式容错性强 - 不像 JSON 那样严格,少一个逗号不会导致整个文件无法解析
- 便于调试 - 可以直接用文本编辑器查看和修改
- LLM 生成更容易 - Markdown 结构更灵活,生成错误的概率更低
- 人类可读性好 - 直接打开文件就能看到记忆内容
需要修改的部分
-
存储层 (
storage.py)- 创建
MarkdownMemoryStorage类,继承MemoryStorage - 用 Markdown 格式读写文件
- 创建
-
Prompt 模板 (
prompt.py)- 将
MEMORY_UPDATE_PROMPT改为生成 Markdown 格式
- 将
-
加载/注入逻辑 (
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 存储方案?
如果需要,我可以:
- 创建
MarkdownMemoryStorage替代FileMemoryStorage - 修改 prompt 让 LLM 生成 Markdown
- 修改注入逻辑解析 Markdown
- 配置
memory.storage_class使用新的存储类
这样你只需要在 config.yaml 中配置:
memory:
storage_class: deerflow.agents.memory.storage.MarkdownMemoryStorage