diff --git a/PROGRESS.md b/PROGRESS.md index b2b2481..700e9b8 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -2,7 +2,7 @@ > 配合 `DESIGN.md`。本文件只记 phase 状态、决策偏差、文件量、下一步。每条 1-2 句:做了啥 + 关键判断;细节查 `git log` / `git diff` / `DESIGN §7.9`。 -最后更新:2026-06-12(双层记忆升级为 agent 自管 + 前端只读记忆面板) +最后更新:2026-06-15(sandbox 装 emoji 字体修 mermaid 豆腐块) --- @@ -21,6 +21,11 @@ ## 已完成关键能力 +### 2026-06-15 / sandbox 装 emoji 字体:修 mermaid 图满图豆腐块 + +- 现象:模型生成的 mermaid 架构图里几乎每个节点标签前缀的 emoji 图标(🌐🔥🛡 等)全渲染成空心方框 □。根因不在 mermaid 语法 / 布局 ── `deploy/sandbox/Dockerfile` 只装了 `fonts-noto-cjk` + `fonts-wqy-microhei`(中文不豆腐),**缺 emoji 字体**,chromium 渲染时找不到 emoji glyph 就用 tofu 占位。 +- 修法:Dockerfile 字体安装行加 `fonts-noto-color-emoji`(+~10MB),与 CJK / WQY 同 `fc-cache -f` 刷索引。chromium 支持 COLR/CBDT 彩色 emoji,fontconfig fallback 即正常出图标。纯增量容器改动,不碰对外契约。**需重建 sandbox 镜像 + 重启 per-user 容器生效**。bump 0.12.8 → 0.12.9。 + ### 2026-06-15 / 左栏任务筛选区默认折叠 - 接 2026-06-13「筛选区可折叠」一条:把默认态从展开改为**折叠**(进页面只见「筛选 ▸」一行,点开才展开)。偏好仍持久化 —— 用户显式展开过(`zcbot.task-filters-collapsed` 存 `"0"`)才默认展开,否则一律折叠。改动:`web/static/js/chat.js`(默认判定 `!== "0"`,onclick 改存 `"1"/"0"`)、`web/static/js/state.js` 注释。bump 0.12.7 → 0.12.8。 diff --git a/core/__init__.py b/core/__init__.py index f520cba..f1d29e7 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -1,3 +1,3 @@ # zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。 # 改版本只动这一行。 -__version__ = "0.12.8" +__version__ = "0.12.9" diff --git a/deploy/sandbox/Dockerfile b/deploy/sandbox/Dockerfile index f89fba6..61ba97e 100644 --- a/deploy/sandbox/Dockerfile +++ b/deploy/sandbox/Dockerfile @@ -75,15 +75,18 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ chromium nodejs npm \ && rm -rf /var/lib/apt/lists/* -# 中文字体 ── 不装则 matplotlib / mermaid(chromium) / render_icon 出的 PNG 里 -# 中文全是方块(豆腐块 □)。装两套: +# 中文字体 + emoji 字体 ── 不装则 matplotlib / mermaid(chromium) / render_icon 出的 +# PNG 里中文 / emoji 全是方块(豆腐块 □)。装三套: # - fonts-noto-cjk: 出版级字形,matplotlib 出版图 / mermaid 节点首选(+~330MB) # - fonts-wqy-microhei: 兜底,匹配 style.py 候选 'WenQuanYi Micro Hei' # + render_icon.py 引用的 wqy-microhei.ttc 路径(+~5MB) +# - fonts-noto-color-emoji: 模型常在 mermaid 节点标签前缀 emoji 图标(🌐🔥🛡 等), +# 缺此字体则 chromium 渲染时每个 emoji 都成 □,满图豆腐块(+~10MB)。chromium +# 支持 COLR/CBDT 彩色 emoji,fontconfig fallback 到它即可正常出图标。 # fc-cache 刷 fontconfig 索引 ── chromium 经 fontconfig 选字必需;matplotlib 走自家 # font_manager 扫 /usr/share/fonts,运行时首次用图自动建缓存,无需在此处理。 RUN apt-get update && apt-get install -y --no-install-recommends \ - fonts-noto-cjk fonts-wqy-microhei fontconfig \ + fonts-noto-cjk fonts-wqy-microhei fonts-noto-color-emoji fontconfig \ && fc-cache -f \ && rm -rf /var/lib/apt/lists/*