huohua325/Memslides

A hierarchical memory framework for personalized presentation agents. Try it at memslides.com.

MemSlides – 具备分层记忆的个性化幻灯片生成 Agent

是什么 – MemSlides 是一个开源框架,可以让你构建一个用于制作 PowerPoint 风格幻灯片的 stateful AI 助手。系统并非一次性生成整个幻灯片集,而是维护了几个层级的记忆:

Memory layer Purpose
User‑profile memory 存储与演示文稿意图相关的长期偏好(风格、布局、语调)。
Working memory 持有会话特定的约束与临时偏好,这些偏好会在多轮修改中持续存在。
Tool memory 记住过去工具链执行情况(例如:渲染、图像搜索),因此不会不必要地重复相同的操作。

当用户提供反馈时,MemSlides 会将该反馈投影到受影响的最小幻灯片区域,并仅对该部分进行修补,从而避免全套幻灯片重新生成。


Key Features (如 README 所所述)

  • Intent‑conditioned personalization – Agent 首先选择与演示文稿意图相匹配的用户配置切片,然后应用细粒度的风格与内容偏好。
  • Multi‑turn revision – Working memory 会保留临时性修改与约束,从而实现与用户之间的流畅来回互动。
  • Tool memory – 缓存成功的工具链运行结果(例如:图像生成、布局渲染),以防止重复失败。
  • Scoped slide‑local revision – 仅更新用户要求修改的幻灯片区域,减少幻灯片集其余部分的非预期性偏移。
  • CLI entry points – 提供 memslides generatememslides revisememslides template induct 用于脚本化使用,此外还有实验运行器 (python -m memslides.experiment)。
  • Docker support – Docker Hub 上提供预建的镜像;可以在容器内运行 smoke-test 套件。
  • Research‑oriented – 包含可重复性套件 (smoke_minimal) 以及为配套 arXiv 论文所进行的一整套实验。

Quick‑Start Summary

  1. System dependencies – LibreOffice, fontconfig, Noto CJK fonts, poppler‑utils.
  2. Create the Conda environmentconda env create -f environment.yml && conda activate memslides.
  3. Install the packagepip install -e "[research]" (添加可选的研究扩展包).
  4. Set up Playwrightpython -m playwright install chromium ffmpeg (用于 web‑based 工具服务所需的安装).
  5. Run a sanity check
    python -m memslides.experiment run smoke_minimal \
      --output-base .memslides/experiments \
      --parallel 1
    
  6. Or use Dockerdocker compose build && docker compose run --rm memslides ….

How to Use the CLI (README 中的示例)

  • Generate a deck:
    python -m memslides generate \
      --instruction "Create a one‑slide project summary" \
      --num-pages 1
    
  • Revise a slide (在之前的生成结果之后):
    python -m memslides revise \
      --workspace .memslides/session \
      --feedback "Tighten the title"
    
  • Induct a template (教导系统一个新的 PPTX 布局):
    python -m memslides template induct --template-file template.pptx
    

Project Structure (高层级结构)

  • src/memslides/ – 核心运行时代码与公开入口点.
  • src/memslides/memory/ – Profile, working, 与 tool memory 的实现.
  • src/memslides/experiment/ – 用于重现论文实验的脚本.
  • tests/ – 回归测试与合约测试.
  • .memslides/ & ~/.cache/memslides/ – 运行时工作空间、缓存与生成的产出物 (Git 不会追踪这些内容).

Security & Privacy Notes

  • API keys 与其他凭证必须通过环境变量、.env 文件或私有的 YAML config 提供; 它们绝不应被提交到版本控制.
  • 网络访问是可选的,且仅在用户提供搜索或模型服务凭证时才会发生.
  • 建议用户在展示前检视任何下载的外部资产.

Citation

如果你在研究中使用 MemSlides, 请引用 README 中提供的 arXiv 论文 (2026).


License

Apache‑2.0 (见 LICENSE).


Bottom line – MemSlides 是一个全栈、研究级框架, 用于构建 LLM 驱动的 agent, 通过使用分层记忆来保持个性化的一致性并使修改过程局部化,从而生成并迭代式地编辑演示文稿幻灯片.

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目