huohua325/Memslides

GitHub: huohua325/Memslides

MemSlides 是一个基于层次化记忆机制的个性化幻灯片生成 Agent 框架,解决了传统生成工具缺乏用户偏好记忆与多轮局部修订能力的问题。

Stars: 769 | Forks: 23

MemSlides:一种用于个性化幻灯片生成且具备多轮局部修订的层次化记忆驱动 Agent 框架

具备用户画像记忆、工作记忆、工具记忆以及局部范围幻灯片修订功能的个性化演示 Agent。

Paper Project Page Demo Video Docker Hub Website

Python Node License

如果 MemSlides 对您的研究或幻灯片生成工作流有所帮助,请考虑为该仓库点个 Star,以帮助更多人发现它。

## 新闻
2026-07-03
产品里程碑
🚀 MemSlides 演示网站用户数突破 100 人。
感谢您对 MemSlides 社区的支持。我们始终欢迎您的反馈: 提交 issue 或通过演示网站向我们发送反馈。
2026-06-26
产品里程碑
🚀 MemSlides 实时演示的验证用户数突破 50 人。
感谢每一位试用演示并帮助我们改进个性化幻灯片生成工作流的人: 尝试实时演示
2026-06-25
GitHub 里程碑
⭐ MemSlides 的 GitHub Star 数突破 100。
感谢您帮助本项目达成首个社区 Star 里程碑: 查看 Stargazers
2026-06-24
社区里程碑
🏆 MemSlides 荣登 Hugging Face Daily Papers 当日论文榜首(#1 Paper of the Day)。
感谢研究社区的早期关注。请参见 当日论文榜首, 以及 展示 Space
## 演示视频 https://github.com/user-attachments/assets/a92ab49e-bc5c-4e90-8c0a-0f23b08a8857 ## 概述 MemSlides 将演示文稿生成视为一个有状态的创作过程,而不是一次性的从源文件到幻灯片的转换任务。它根据生命周期分离个性化信号:持久的用户画像记忆捕获跨任务的常规偏好;工作记忆在多轮修订中保持当前会话的约束;而工具记忆则为可靠的局部编辑存储可重用的执行经验。 长期记忆存储了用于首轮(round-0)个性化的意图条件用户画像记忆,以及用于可重用执行经验的工具记忆。工作记忆则在当前文稿中维护活动偏好、会话状态和修订约束。在修订期间,MemSlides 会将用户反馈映射到受影响最小的幻灯片区域,并应用局部范围的补丁,而不是反复重新生成整个文稿。

MemSlides hierarchical memory and localized revision overview

## 核心亮点 - **意图条件用户画像记忆** 根据演示意图路由个性化设置,然后将偏好应用于主题、视觉风格、布局、模板使用、内容策略和常规演示习惯。 - **多轮工作记忆** 在同一文稿的反馈交互中,保留临时偏好、会话约束和编辑状态记录。 - **工具记忆** 在执行类似编辑操作之前检索先前的任务和工具链经验,以减少重复的执行失败。 - **局部范围的幻灯片修订** 更新受影响最小的幻灯片区域,而不是反复重写整个文稿。 ## 效果展示

User profile memory lifecycle Tool memory flow

Localized modify example

- 用户画像记忆通过将意图匹配的偏好路由到当前任务中,支持具有角色感知的首轮个性化。 - 工作记忆在多轮修订中传递活动会话约束和临时偏好。 - 工具记忆存储可重用的执行经验,以便未来的局部编辑可以避免重复失败。 - 局部范围的修订使编辑范围尽可能贴近所请求的元素,减少已对齐幻灯片内容中意外的偏移。 ## 快速开始 从源码安装: ``` sudo apt-get update sudo apt-get install -y libreoffice fontconfig fonts-noto-cjk poppler-utils conda env create -f environment.yml conda activate memslides pip install -e ".[research]" python -m playwright install chromium ffmpeg python -m memslides.experiment --help ``` 运行内置的 smoke 测试套件: ``` python -m memslides.experiment run smoke_minimal \ --output-base .memslides/experiments \ --parallel 1 ``` 同样的实验也可以在 Docker 环境中运行: ``` docker compose build docker compose run --rm memslides python -m memslides.experiment run smoke_minimal \ --output-base /app/.cache/memslides/experiments \ --parallel 1 ``` `smoke_minimal` 只是一个小型的验证套件。用户可以将任何本地的套件 YAML 路径或打包的套件名称传递给 `python -m memslides.experiment run`。 ## 配置说明 MemSlides 进行实际的生成实验时,需要用户提供模型和服务凭证。请将凭证保存在 git 之外,并通过环境变量、`.env` 文件或使用 `MEMSLIDES_CONFIG_FILE` 或 `--config` 指定的私有 YAML 文件来提供。 打包的公共配置文件是 `src/memslides/memslides.yaml`;当加载该 YAML 文件时,其中的占位符会从当前进程的环境中扩展获取。 请勿提交生成的输出、缓存、私有 YAML 文件和凭证。 使用私有 YAML 文件进行 Docker 运行: ``` docker compose -f docker-compose.yml -f docker-compose.private.yml run --rm memslides \ python -m memslides.experiment run smoke_minimal \ --output-base /app/.cache/memslides/experiments \ --parallel 1 ``` 该覆盖配置将 `./memslides.private.yaml` 映射到 `/run/secrets/memslides.private.yaml`,并在容器内部设置 `MEMSLIDES_CONFIG_FILE=/run/secrets/memslides.private.yaml`。 ## 实验 CLI 套件运行器(suite runner)是主要的公共入口点: ``` python -m memslides.experiment run smoke_minimal --output-base .memslides/experiments --parallel 1 python -m memslides.experiment report .memslides/experiments/smoke_minimal python -m memslides.experiment personas ``` 核心的生成、修订和模板归纳命令仍可用于本地脚本执行: ``` python -m memslides generate --instruction "Create a one-slide project summary" --num-pages 1 python -m memslides revise --workspace .memslides/session --feedback "Tighten the title" python -m memslides template induct --template-file template.pptx ``` ## 安全与隐私 - 请将 API 密钥保存在环境变量、`.env` 文件或私有 YAML 文件中。 - 请勿提交 `.env`、`.memslides/`、生成的工作区或私有配置文件。 - 网络获取是可选的,并取决于用户提供的搜索或模型凭证。 - 在展示之前,应审查外部 URL 和下载的资产。 ## 引用 如果您觉得 MemSlides 有用,请引用我们的论文。 ``` @misc{jin2026memslides, title={MemSlides: A Hierarchical Memory Driven Agent Framework for Personalized Slide Generation with Multi-turn Local Revision}, author={Ye Jin and Yangyang Xu and Jun Zhu and Yibo Yang}, year={2026}, eprint={2606.17162}, archivePrefix={arXiv}, primaryClass={cs.CL}, doi={10.48550/arXiv.2606.17162}, url={https://arxiv.org/abs/2606.17162}, } ``` ## 许可证 请参见 [LICENSE](LICENSE) 和 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)。
标签:AI智能体, GNU通用公共许可证, MITM代理, Node.js, Python, 个性化, 多轮对话, 文档生成, 无后门, 特征检测, 记忆系统, 请求拦截, 逆向工具