【免费下载链接】Memslides
A hierarchical memory framework for personalized presentation agents. Try it at memslides.com.
MemSlides 是一个面向个性化演示文稿 Agent 的开源分层记忆框架,支持基于用户画像记忆、工作记忆与工具记忆的多轮局部修订。本指南是一份 MemSlides Docker 部署教程:带你用 Docker Compose 在容器环境快速运行内置实验套件,并通过只读挂载等安全方式注入模型 API 密钥与私有配置,几分钟即可跑通第一个实验。
📦 一、MemSlides Docker 镜像里有什么
MemSlides 把演示文稿生成建模为"有状态的创作过程",而不是"一次性转 PPT"。Docker 镜像预装了完整的实验运行时,包括:
- Python 3.11 + Node.js 20:实验调度器与 PPTX 导出运行时
- Playwright Chromium + ffmpeg:幻灯片截图与渲染
- LibreOffice + Poppler + CJK 字体:PDF 导出与文档转换
- pptxgenjs、sharp 等 Node 依赖:PPTX 导出工具链
镜像定义见 docker/Dockerfile,所有依赖在构建阶段一次性装好并做了完整性校验(Dockerfile 第 82-94 行 会检查关键产物是否存在)。下面是 MemSlides 的核心记忆架构,容器内运行的实验正是围绕这套"长短期记忆 + Agent 循环"展开的:
💡 镜像是实验环境而非常驻服务:每次
docker run/docker compose run执行完实验即退出。
🚀 二、Docker Compose 三步快速启动实验
第 1 步:获取代码仓库
git clone https://gitcode.com/gh_mirrors/me/Memslides cd Memslides第 2 步:构建镜像
docker-compose.yml 默认使用固定版本镜像huohua325/memslides:v2.0.1,也可本地构建:
docker compose build构建完成后,先用--help验证容器环境是否可用:
docker compose run --rm memslides python -m memslides.experiment --help第 3 步:运行冒烟实验套件
内置的smoke_minimal套件会生成一张单页幻灯片并导出 PPTX,用于验证整条流水线(配置见 smoke_minimal.yml):
docker compose run --rm memslides python -m memslides.experiment run smoke_minimal \ --output-base /app/.cache/memslides/experiments \ --parallel 1运行结束后会输出suite_report.json摘要,包含successful成功数与各实验结果。想看更多可用命令与套件写法,可参考 docs/INSTALL.md 和 docker/README.md。
🔐 三、安全注入私有配置的 3 种方式
真实的生成实验需要模型与服务的凭据。官方建议密钥不进镜像、不进 git,按需选择以下任一方式:
方式 1:环境变量(最简单)
公共配置 memslides.yaml 中的占位符会在加载时从进程环境展开,例如:
export MEMSLIDES_RESEARCH_API_KEY=sk-xxxx export MEMSLIDES_DESIGN_MODEL=gpt-4.1方式 2:.env文件(推荐本地开发)
Compose 会自动读取项目根目录的.env(docker-compose.yml 第 7-9 行)。可参照 .env.example 模板创建本地.env,填入数据目录、Chromium 路径等覆盖项,注意不要把.env提交到仓库。
方式 3:私有 YAML 只读挂载(推荐团队/CI)
把完整的私有配置写入仓库根目录的memslides.private.yaml,然后叠加 docker-compose.private.yml 覆盖层:
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_CONFIG_FILE=/run/secrets/memslides.private.yaml,让运行时切换到私有配置 - 将宿主机文件只读挂载到容器的
/run/secrets/目录(read_only: true),且明确禁止在宿主机自动创建该文件(create_host_path: false)
🛡️ 私有配置安全清单
| 做法 | 是否推荐 |
|---|---|
| 密钥写进镜像构建层 | ❌ 严禁 |
提交.env、.memslides/、私有 YAML 到 git | ❌ 严禁 |
通过环境变量 /.env传入 | ✅ |
私有 YAML 只读挂载到/run/secrets/ | ✅ 推荐 |
另外,网络检索与生图属于可选项,smoke_minimal默认全部关闭(web_research_mode: disabled),适合无外网环境验证。
💾 四、实验输出与数据持久化
容器内所有生成产物、缓存与记忆状态都存放在/app/.cache/memslides,并通过VOLUME声明(Dockerfile 第 99 行)。使用docker compose时,它会被绑定到宿主机的./.memslides目录(docker-compose.yml 第 16-17 行):
./.memslides ├── experiments/ # 实验工作区 │ └── smoke_minimal/ │ ├── suite_report.json │ └── .history/ # 日志 └── .memory/ # 记忆数据库状态由于实验可中断续跑,这个目录不要随意删除:
docker compose run --rm memslides python -m memslides.experiment resume smoke_minimal \ --output-base /app/.cache/memslides/experiments✅ 五、常见部署问题速查
1. 提示missing-api-key?说明尚未注入模型凭据。按第三节的三种方式之一配置后再运行。
2. 为什么镜像里设置了MEMSLIDES_PLAYWRIGHT_AUTO_INSTALL=0?容器构建阶段已预装 Chromium 与 Node 依赖并创建符号链接,运行时禁止自动安装可避免污染镜像缓存、保证离线可用(Dockerfile 第 7-22 行)。
3. 只想跑验证不想消耗 API?smoke_minimal关闭了联网研究与生图,但仍会调用设计模型;纯环境自检可只跑--help。
4. 实验中断了怎么办?用resume子命令复用已有输出目录继续,避免重复生成。
🎬 六、写在最后
按照本指南,你只需要docker compose build一条构建命令加两条运行命令,就能在容器中获得可复现的 MemSlides 实验环境;私有配置则通过环境变量、.env或只读挂载的私有 YAML 安全注入,密钥全程不落盘到镜像。
跑通smoke_minimal之后,就可以尝试更完整的示例套件 three_round_revision_table_smoke.yml——它模拟了三轮用户反馈的局部修订流程,能直观看到分层记忆在容器环境中的完整效果。MemSlides 的在线 Studio 也提供了 Profile、Memory、Sessions 管理与 PPTX 导出的可视化界面,欢迎结合使用:
【免费下载链接】Memslides
A hierarchical memory framework for personalized presentation agents. Try it at memslides.com.
相关推荐
Visual Genome论文精读:从摘要到实验结果全面解析
Visual Genome论文精读:从摘要到实验结果全面解析 引言:认知视觉任务的瓶颈与突破 你是否曾困惑为什么AI能精准识别"猫"和"狗",却无法回答"猫坐在
数据集成数据工程数据分析终极GOAD Docker容器化部署指南:如何在任何环境快速运行Active Directory实验室
终极GOAD Docker容器化部署指南:如何在任何环境快速运行Active Directory实验室 GOAD(Game of Active Director
网络安全渗透测试如何在Docker和Nix环境中快速部署和运行Lem编辑器
如何在Docker和Nix环境中快速部署和运行Lem编辑器 Lem是一款基于Common Lisp的高扩展性编辑器,支持多种前端界面和丰富的编程语言模式。对于开
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考