接 --shm-size(0.12.5)。修两层让容器渲 mermaid 不再反复栽: 执行层 ── mmdc wrapper: - Dockerfile 给 /usr/local/bin/mmdc 套 wrapper,没显式 -p 时自动注入 -p /sandbox/puppeteer-config.json(含 --no-sandbox/--disable-dev-shm-usage), 裸调 `mmdc -i x -o y` 一次成;render_diagrams.py 等走 which mmdc 的脚本透明受益。 - 删掉没人读的 MERMAID_PUPPETEER_CONFIG env(mmdc 只认 -p)。 引导层 ── system prompt 按 backend 注入「运行环境」段: - general_v1.md 删写死的 "Windows+cmd" 平台段(线上是 docker=Ubuntu 容器+bash, 误报导致模型在 Linux 里打 cmd 构文)。 - agent_builder 注入 _CONTAINER_ENV_BLOCK(docker)/_HOST_ENV_BLOCK(host):写明 Linux/bash、渲图走本地 mmdc 别调境外在线服务(mermaid.ink 被墙,容器虽有外网但 渲图不该依赖出站)、mmdc/chromium/中文字体已装。 - 撤回上一轮加到 imagegen 的渲图引导(环境事实收归 system)。 顺带:RUN.md 修正把 sandbox 网络写成 --internal 无 outbound 的过时注释(实际 bridge+NAT 有外网,见 network.py)。 部署:Dockerfile 改动需 rebuild 镜像;prompt 改动重启 web 生效。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Dockerfile | ||
| init.sh | ||
| probe_mermaid.sh | ||