mirror of
https://gitcode.com/JianFeeeee/HomeAgent.git
synced 2026-09-27 04:43:11 +00:00
feat(webui): 阶段管道的工具格改为滚动展示最新一条调用
「工具」是循环格:一轮里可能调几十次工具/输出通道。此前每一次都追加成 chip,这一格被撑成一长条,反而看不出「现在在调什么」。改为固定一行的 滚动视口——只留最新一条,右侧给出本轮累计次数;新调用到来时旧条向上 滚出、新条滑入(morph 就地改文本不会重放 CSS 动画,故摘类 + 强制 reflow + 重加类)。并给 chip 名称加 .rt-chip-t 承接省略号,窄框不再硬切半截。 配套 TestStagePipelineToolCellShowsLatestOnly 钉住该口径。
This commit is contained in:
@ -1339,6 +1339,40 @@ func TestDashboardAssetsSplit(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
// TestStagePipelineToolCellShowsLatestOnly 钉住总览「阶段管道」里工具格的展示口径:
|
||||
// 只显示**最新一条**工具/输出调用(单行视口 + 滑入动画),而不是把本轮每一次
|
||||
// 都追加成 chip —— 后者在几十次工具调用的一轮里会把这一格撑成长条,
|
||||
// 反而看不出「现在正在调什么」。
|
||||
//
|
||||
// 前端没有 JS 测试运行器,这里按仓库既有做法(见 TestDashboardAssetsSplit)
|
||||
// 直接对产物做字符串钉桩:若日后有人把这条口径改回「不断追加」,用例会红。
|
||||
func TestStagePipelineToolCellShowsLatestOnly(t *testing.T) {
|
||||
js, err := dashboardFS.ReadFile("dashboard.js")
|
||||
if err != nil {
|
||||
t.Fatalf("读 dashboard.js: %v", err)
|
||||
}
|
||||
css, err := dashboardFS.ReadFile("dashboard.css")
|
||||
if err != nil {
|
||||
t.Fatalf("读 dashboard.css: %v", err)
|
||||
}
|
||||
sjs, scss := string(js), string(css)
|
||||
for _, want := range []string{
|
||||
"items[items.length - 1]", // 工具格只取末条(最新)
|
||||
"rt-pipe-scroll", // 单行滚动视口
|
||||
"rtFlashLatestTool", // 新调用到来时重放滑入动画
|
||||
"rt-scroll-count", // 右侧本轮累计次数
|
||||
} {
|
||||
if !strings.Contains(sjs, want) {
|
||||
t.Errorf("dashboard.js 缺 %q:工具格应只滚动展示最新一条调用", want)
|
||||
}
|
||||
}
|
||||
for _, want := range []string{".rt-pipe-scroll", "@keyframes rt-chip-scroll-in"} {
|
||||
if !strings.Contains(scss, want) {
|
||||
t.Errorf("dashboard.css 缺 %q:工具格的滚动视口/滑入动画样式", want)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// TestChatHistoryDefaultIsPaged 钉住 /chat/history 的默认页大小。
|
||||
//
|
||||
// 原先缺省 limit=0 表示"不限制",于是任何不带 limit 的调用每次都拿到完整聊天记录
|
||||
|
||||
Reference in New Issue
Block a user