From 91347d5245fe3462007abbe193d6035ac31323fe Mon Sep 17 00:00:00 2001
From: JOJO <1498581755@qq.com>
Date: Wed, 29 Jul 2026 11:45:08 +0800
Subject: [PATCH] =?UTF-8?q?fix(quickdock):=20=E8=AF=A6=E6=83=85=E9=9D=A2?=
=?UTF-8?q?=E6=9D=BF=E8=A1=A5=E5=9B=9E=E5=AD=90=E6=99=BA=E8=83=BD=E4=BD=93?=
=?UTF-8?q?=20Tokens=20=E6=98=BE=E7=A4=BA=EF=BC=8C=E5=88=97=E8=A1=A8?=
=?UTF-8?q?=E7=BB=9F=E4=B8=80=E6=9C=80=E6=96=B0=E5=9C=A8=E5=BA=95=E9=83=A8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 详情面板头部恢复上下文 token 显示(数据源=列表轮询自带的 current_context_tokens,
即旧工作区面板被移除前所用字段),格式 x.xk Tokens,快照防关闭动画闪烁
- 子智能体/后台指令列表前端统一按 created_at 升序(后端均返回倒序),
快捷窗口四窗口一致最新条目在底部
- 文件窗口加 hydrated 守卫:移动端↔桌面端重挂时水合渲染一律静态,
修复 editedFilesLive 残留 true 导致全部行重播进入动画
---
.../components/chat/quickdock/FileWindow.vue | 10 +++-
.../chat/quickdock/RunnerDetailPanel.vue | 46 +++++++++++++++++++
.../components/chat/quickdock/quickdock.css | 9 ++++
static/src/stores/backgroundCommand.ts | 6 ++-
static/src/stores/subAgent.ts | 7 +++
5 files changed, 76 insertions(+), 2 deletions(-)
diff --git a/static/src/components/chat/quickdock/FileWindow.vue b/static/src/components/chat/quickdock/FileWindow.vue
index 1169f4e1..393f75b3 100644
--- a/static/src/components/chat/quickdock/FileWindow.vue
+++ b/static/src/components/chat/quickdock/FileWindow.vue
@@ -146,11 +146,19 @@ async function playEnter(row: Row, delay = 0) {
}, 380);
}
+// 首次(重)挂载的水合渲染一律静态:移动端↔桌面端切换时组件随 QuickDock
+// 整体 v-if 卸载重挂,immediate watch 立即以现有数据触发;此时 editedFilesLive
+// 可能是任务期 socket 事件残留的 true(socket 是最后一个写入者,之后没有
+// REST 回填重置它,与待办不同),不拦截会把全部行误判为「运行期新增」重播
+// 进入动画。只有挂载后 store 的新更新才允许走 live 动画路径。
+let hydrated = false;
+
watch(
editedFiles,
(list) => {
// live=true 来自任务期实时事件(播动画);false 来自加载/bootstrap(静态呈现)
- const live = quickDock.editedFilesLive;
+ const live = quickDock.editedFilesLive && hydrated;
+ hydrated = true;
const byPath = new Map(list.map((item) => [item.path, item]));
// 移除已消失的行(文件被删除 / 对话切换清空)
diff --git a/static/src/components/chat/quickdock/RunnerDetailPanel.vue b/static/src/components/chat/quickdock/RunnerDetailPanel.vue
index 5f8eed93..257e1afe 100644
--- a/static/src/components/chat/quickdock/RunnerDetailPanel.vue
+++ b/static/src/components/chat/quickdock/RunnerDetailPanel.vue
@@ -8,6 +8,7 @@
{{ title }}
{{ statusText }}
+ {{ tokensText }}