fix(sandbox): 容器装 fonts-noto-color-emoji 修 mermaid 图满图豆腐块 + bump 0.12.9
模型生成的 mermaid 节点标签常前缀 emoji 图标(🌐🔥🛡 等),容器只装了 CJK 字体缺 emoji 字体,chromium 渲染时每个 emoji 都成空心方框 □。加 fonts-noto-color-emoji(+~10MB)并 fc-cache 刷索引即可正常出图标。 纯增量容器改动,需重建镜像 + 重启 per-user 容器生效。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
977923b6cf
commit
314a05e111
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
> 配合 `DESIGN.md`。本文件只记 phase 状态、决策偏差、文件量、下一步。每条 1-2 句:做了啥 + 关键判断;细节查 `git log` / `git diff` / `DESIGN §7.9`。
|
> 配合 `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-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。
|
- 接 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。
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
# zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。
|
# zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。
|
||||||
# 改版本只动这一行。
|
# 改版本只动这一行。
|
||||||
__version__ = "0.12.8"
|
__version__ = "0.12.9"
|
||||||
|
|
|
||||||
|
|
@ -75,15 +75,18 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
chromium nodejs npm \
|
chromium nodejs npm \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& 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-noto-cjk: 出版级字形,matplotlib 出版图 / mermaid 节点首选(+~330MB)
|
||||||
# - fonts-wqy-microhei: 兜底,匹配 style.py 候选 'WenQuanYi Micro Hei'
|
# - fonts-wqy-microhei: 兜底,匹配 style.py 候选 'WenQuanYi Micro Hei'
|
||||||
# + render_icon.py 引用的 wqy-microhei.ttc 路径(+~5MB)
|
# + 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 走自家
|
# fc-cache 刷 fontconfig 索引 ── chromium 经 fontconfig 选字必需;matplotlib 走自家
|
||||||
# font_manager 扫 /usr/share/fonts,运行时首次用图自动建缓存,无需在此处理。
|
# font_manager 扫 /usr/share/fonts,运行时首次用图自动建缓存,无需在此处理。
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
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 \
|
&& fc-cache -f \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue