diff --git a/PROGRESS.md b/PROGRESS.md index 9344685..b2b2481 100644 --- a/PROGRESS.md +++ b/PROGRESS.md @@ -21,6 +21,10 @@ ## 已完成关键能力 +### 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-15 / system prompt 按 backend 注入「运行环境」段:纠正平台误报 + 写明禁外网 - 接上两条(--shm-size + mmdc wrapper 修执行层)。再查发现**引导层的根问题在 system prompt**:`general_v1.md` 的「平台」段写死 "Windows + cmd.exe",但线上是 **docker = Ubuntu 容器 + bash** ── 模型被误导在 Linux 里打 cmd 构文(`where mmdc 2>nul`),且没引导"渲图走本地",模型以为 mermaid.ink 等在线服务能用、反复去试(其实**境外被墙**,容器有外网但渲图不该依赖出站)白烧 token。 diff --git a/core/__init__.py b/core/__init__.py index 3329927..f520cba 100644 --- a/core/__init__.py +++ b/core/__init__.py @@ -1,3 +1,3 @@ # zcbot 版本号单一事实源:web/app.py 的 FastAPI version、/healthz 返回、前端展示都引这里。 # 改版本只动这一行。 -__version__ = "0.12.7" +__version__ = "0.12.8" diff --git a/web/static/js/chat.js b/web/static/js/chat.js index ec25ee5..823cda8 100644 --- a/web/static/js/chat.js +++ b/web/static/js/chat.js @@ -196,17 +196,18 @@ $("filter-order").onchange = () => loadTaskList(); $("filter-wd").onchange = () => loadTaskList(); // select 选完立即筛 $("btn-refresh-tasks").onclick = () => loadTaskList(); -// 筛选区折叠(默认展开;偏好持久化)。折叠只藏 UI,已选中的筛选条件仍生效。 +// 筛选区折叠(默认折叠;偏好持久化)。折叠只藏 UI,已选中的筛选条件仍生效。 function applyTaskFiltersCollapsed(collapsed) { document.body.classList.toggle("task-filters-collapsed", collapsed); $("filter-toggle").textContent = collapsed ? "筛选 ▸" : "筛选 ▾"; } $("filter-toggle").onclick = () => { const next = !document.body.classList.contains("task-filters-collapsed"); - localStorage.setItem(LS_TASK_FILTERS_COLLAPSED, next ? "1" : ""); + localStorage.setItem(LS_TASK_FILTERS_COLLAPSED, next ? "1" : "0"); applyTaskFiltersCollapsed(next); }; -applyTaskFiltersCollapsed(localStorage.getItem(LS_TASK_FILTERS_COLLAPSED) === "1"); +// 默认折叠:只有用户显式展开过(存 "0")才展开 +applyTaskFiltersCollapsed(localStorage.getItem(LS_TASK_FILTERS_COLLAPSED) !== "0"); // 搜索 q 是 text input → 300ms debounce 避免每字符打 API let _filterDebounce = null; diff --git a/web/static/js/state.js b/web/static/js/state.js index eac75a4..24eb117 100644 --- a/web/static/js/state.js +++ b/web/static/js/state.js @@ -8,7 +8,7 @@ export const LS_LEFT_COLLAPSED = "zcbot.left-collapsed"; export const LS_RIGHT_COLLAPSED = "zcbot.right-collapsed"; export const LS_LEFT_WIDTH = "zcbot.left-width"; export const LS_RIGHT_WIDTH = "zcbot.right-width"; -export const LS_TASK_FILTERS_COLLAPSED = "zcbot.task-filters-collapsed"; // 左栏筛选区折叠偏好(默认展开) +export const LS_TASK_FILTERS_COLLAPSED = "zcbot.task-filters-collapsed"; // 左栏筛选区折叠偏好(默认折叠) // ?embed=1&parent_origin=https://... → iframe 模式;父页面用 postMessage 推 token // 可选 task_id=:首次签发 token 后自动定位到该 task 并加载消息