Go to file
caoqianming f2c6f2e2f4 docs(design): 加 §8.3 PPTX 前端在线预览方案(LibreOffice → PDF)
前端 preview.js 已用 iframe 原生渲 PDF,故方案极简:后端 pptx→PDF,前端
复用现有 _showPdf,前端改动近零。要点:
- 与 pptx_preview.py(HTML→Chrome→PNG,agent 自检用)分工:本方案是
  前端面向用户的高保真预览(LibreOffice→PDF,像素级,任意 pptx)
- 后端 web/pptx_render.py(soffice 转换+哈希缓存+独立 profile 绕并发锁+超时)
  + GET /v1/files/preview_pdf(复用 files 鉴权与 _safe_path)
- 前端 preview.js 加 ppt 类,pptx 走转换端点拿 PDF 喂 _showPdf
- 依赖:服务器装 libreoffice-impress + fonts-noto-cjk;无新 pip 依赖
- 风险:冷启动/上传 pptx 跑 LibreOffice 安全/字体保真;分两阶段落地

status=design,未实施。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 10:22:00 +08:00
config feat(usage): 记账给前缀缓存命中折价 + 前端体现缓存命中/真实成本 2026-06-05 08:26:09 +08:00
core feat(tools+loop): 批量抓取 + 重复调用守卫 —— 治高轮数烧 token 2026-06-08 16:47:56 +08:00
db/migrations Stage C 收尾包:资源 yaml + 磁盘配额 + 网络放开 + 容器内源持久化 2026-05-27 08:35:53 +08:00
deploy fix(deploy): npm 默认源改回腾讯 — npmmirror 访问不稳 2026-06-03 11:00:28 +08:00
prompts/system feat(prompt): 工作原则加「少来回」—— 独立步骤合并,广谱减轮 2026-06-08 11:31:22 +08:00
scripts feat(tools+loop): 批量抓取 + 重复调用守卫 —— 治高轮数烧 token 2026-06-08 16:47:56 +08:00
skills feat(ppt): 补信息设计纪律 + 混合背景 + pptx 预览器(深读 pptmaster 后) 2026-06-09 09:41:55 +08:00
tests feat(tools+loop): 批量抓取 + 重复调用守卫 —— 治高轮数烧 token 2026-06-08 16:47:56 +08:00
tools feat(tools+loop): 批量抓取 + 重复调用守卫 —— 治高轮数烧 token 2026-06-08 16:47:56 +08:00
web fix(progress): 停压 task_progress 参数修进度还原 + 进度区移到对话区顶部 2026-06-08 09:52:44 +08:00
.gitattributes Add .gitattributes: force LF for shell + Dockerfile 2026-05-26 10:45:17 +08:00
.gitignore skills+core(命名约定): task 级宪法文件 <date>-<short_id>-<name>.spec.md + spec_lock → spec 简化 2026-05-20 14:03:21 +08:00
CLAUDE.md docs(claude): 加 Shell 语法规约 — 别把 PowerShell here-string 喂给 Bash 工具 2026-06-02 12:28:23 +08:00
DESIGN.md docs(design): 加 §8.3 PPTX 前端在线预览方案(LibreOffice → PDF) 2026-06-09 10:22:00 +08:00
DOCUMENT_SEARCH_API.md feat(skill): documents skill 接内部材料学科知识库(document_search API) 2026-05-21 15:31:21 +08:00
EMBED.md feat(web): embed 模式接受 ?task_id=<uuid> URL 参数自动定位 task 2026-05-22 15:27:19 +08:00
PROGRESS.md feat(ppt): 补信息设计纪律 + 混合背景 + pptx 预览器(深读 pptmaster 后) 2026-06-09 09:41:55 +08:00
RUN.md fix(loop): 工具调用 arguments 损坏时丢弃重试 + 非流式兜底,断投毒级联 2026-06-06 20:51:45 +08:00
SCIENTIFIC_SKILLS.md skills: 加 pymatgen / stats_ml / plot_pub(建材院无机材料场景) 2026-05-28 11:33:59 +08:00
SKILL_LIST.md feat(ppt): 补信息设计纪律 + 混合背景 + pptx 预览器(深读 pptmaster 后) 2026-06-09 09:41:55 +08:00
alembic.ini core(§7 B Step 1): Storage 基建 — SQLAlchemy ORM + alembic + db CLI 2026-05-14 10:41:44 +08:00
main.py Stage C Step 5: main.py sandbox check + lifespan fs quota WARN 2026-05-26 16:41:16 +08:00
requirements.txt skills: 加 pymatgen / stats_ml / plot_pub(建材院无机材料场景) 2026-05-28 11:33:59 +08:00