Commit Graph

540 Commits

Author SHA1 Message Date
6c4f88d4c8 test(e2e): 添加 E2E 测试基础设施和线程记忆测试
- 配置 Playwright:baseURL 改为 localhost:2026,视频仅在 CI 保留
- 更新 .gitignore 排除 Playwright 报告/缓存
- 新增线程记忆 E2E 测试:验证发送消息后可加载 summary 且无日志报错
- thread-memory-panel 添加 data-testid 属性便于定位
2026-06-11 17:51:15 +08:00
mt
c17ba298fb fix(ui): 发送按钮 SVG 属性改为 JSX 驼峰格式
- stroke-width → strokeWidth, stroke-linecap → strokeLinecap, stroke-linejoin → strokeLinejoin
2026-06-11 09:50:32 +08:00
mt
7d5e25e325 feat(input): 附件引用弹窗新增搜索过滤框
- DropdownMenu 内新增 Input 搜索框,autoFocus
- filterMentionCandidates 同时受 mentionQuery 和 mentionSearchText 双重过滤
- 搜索时重置高亮索引避免越界
- 上/下箭头将焦点交还给候选列表复用键盘导航
- 所有关闭路径统一重置搜索文字
- 弹窗打开时自动 refetch 最新文件列表
2026-06-11 09:50:29 +08:00
mt
f3c160f103 feat(artifact): artifact markdown 表格复用 CopyButton
- ArtifactFilePreview 中 Streamdown 的 table 组件覆盖为 MarkdownTable
- artifact 区表格复制/下载行为与聊天区一致
2026-06-11 09:50:22 +08:00
mt
407618baf0 refactor(table): 表格复制按钮复用 CopyButton,下载改为 markdown+BOM
- MarkdownTable 导出为公共组件
- 复制按钮直接复用 CopyButton,行为与 iframe 复制一致
- 表格数据通过 tableRef 在 render 阶段同步计算
- useLayoutEffect 确保首次渲染后即可获取正确数据
- 下载按钮改为 markdown 格式 (.md),UTF-8 with BOM
- 移除废弃的 escapeCsvCell / toCsvTable
2026-06-11 09:50:19 +08:00
mt
1637a0e71c fix(copy): copyToClipboard 始终发送 postMessage
- 移除 copyToClipboard 内独立的 isInIframe 判断
- 改为始终调用 sendToParent,由 sendToParent 内部统一判断 iframe 环境
- 与 openSkillDialog 等其他 iframe 通信保持一致
2026-06-11 09:50:15 +08:00
03ff3ece7f fix(brand): brand更新不及时的问题 2026-06-10 18:01:34 +08:00
mt
c45bc4d521 style(input): 调整发送按钮为圆形图标样式并更新主题色
- prompt-input.tsx: 发送按钮改为 36x36 圆形,使用 SVG 箭头/方块图标替代文字
- input-box.tsx: 占位区域尺寸同步调整为 36x36
- globals.css: 新增 brand-default/brand-sxwz 品牌 CSS class,新增 ws-interactive-hover token,主题色 #8e47f0 → #150033
2026-06-10 17:52:02 +08:00
mt
9eb494b1b4 feat(brand): 聊天页 sxwz 模式下输入框左移 172px
- ChatPage 接入 useBrand,brand === 'sxwz' 时主容器和输入框 translate-x-[-172px]
- 退出对话回欢迎页时同步关闭 artifacts 面板
2026-06-10 17:51:53 +08:00
mt
0bd9b9bdcb feat(brand): workspace 组件接入品牌文案和 Logo 切换
- layout.tsx: 包裹 BrandProvider + BrandSessionInitializer,SidebarProvider 注入 rootClassName
- welcome.tsx: copy.productLabel 替代硬编码,appLogoSrc 条件渲染 Image/文字
- workspace-header.tsx: 侧边栏折叠时显示品牌缩写,展开时显示 Logo 或 appName
2026-06-10 17:51:46 +08:00
mt
62fd2e6f06 feat(brand): 新增品牌切换系统核心模块
- 定义 Brand 类型、BrandCopy 文案映射、BRAND_COPY 配置
- BrandProvider + useBrand hook 提供 brand/copy/rootClassName
- BrandSessionInitializer 从 URL ?isSxwz= 初始化品牌会话
- sessionStorage 持久化 + URL 参数优先级解析
- parseBrandFromSearchParams 区分为 true/false/无参数三种情况
- 新增 default 品牌 Logo (coxwork.png)
2026-06-10 17:51:34 +08:00
63563ce6a3 feat: 重置会话时新增checkbox,清除当前会话的memory 2026-06-02 10:21:33 +08:00
dd98337a92 fix: 修复错误的id 2026-06-01 17:57:29 +08:00
0fdeb27e06 fix(workspace): 优化欢迎建议布局并完善输入框提交判断 2026-06-01 17:55:03 +08:00
ae2cfa2386 chore:快捷Skill按钮维护 2026-05-18 16:03:53 +08:00
15b295f45e dev:版本推进 2026-05-18 16:03:53 +08:00
453ef0d4da chore: 快捷Skill按钮维护 2026-05-18 16:03:53 +08:00
d2d7d0fc99 chore:隐藏管理记忆的入口 2026-05-18 16:03:53 +08:00
41ac04f9f9 feat: 本地清理旧用户遗留的localstorage 2026-05-18 16:03:53 +08:00
92b6bcc5fb feat(ThreadMemoryPanel): 新增会话记忆下拉面板并完成 i18n 接入 2026-05-18 16:03:53 +08:00
fc9a30c784 fix: 修复图标属性名为小驼峰 2026-05-18 16:03:53 +08:00
86a1460d5e fix(workspace): 修复复制消息时误带隐藏上下文内容 2026-05-18 16:03:53 +08:00
88732e58c4 feat: 使用大模型美观输出,等待用户输入之后,大模型输出规范json,再反序列化存入数据库。 2026-05-18 16:03:53 +08:00
f209057b18 dev: 复制会话id按钮和跳转新会话的按钮 2026-05-07 10:51:44 +08:00
cb56507767 fix: 重置按钮放在头部,返回按钮的逻辑不变 2026-05-07 10:34:53 +08:00
b7f2001914 fix:修复需求遗留问题:hasSubmitted变量。现在不需要通过第一次发出对话来切换欢迎页和对话页 2026-05-07 10:17:34 +08:00
cd4c33f3cd feat: 快捷skill按钮更新 2026-05-06 17:34:02 +08:00
96cdf2819c dev: 版本推进 2026-05-06 15:19:55 +08:00
46711ffec8 fix:国际化配置余额不足 2026-05-06 15:16:35 +08:00
345a143e38 fix:补上向主页面发送isChatting的逻辑 2026-05-06 13:46:05 +08:00
08e8de5e3e fix(workspace): 恢复先删后建并修复新会话初始化时序
- 新会话初始化改为 delete -> create

- 通过初始化就绪门控,确保 history 在创建完成后再加载

- 发送消息前等待初始化完成,避免与初始化并发
2026-04-28 18:34:18 +08:00
d1cdb7eef7 fix(workspace): 调整输入区与消息展示逻辑
- 输入框新增返回欢迎页按钮

- 人类消息展示保留原始换行

- 调整引用刷新策略与中英文文案
2026-04-28 18:29:39 +08:00
1fd7a5d4f7 fix(backend): 修复 replace 标记泄漏到展示层 2026-04-24 18:37:30 +08:00
299d819026 feat(references): 统一引用来源并过滤 uploads/skill 2026-04-24 18:37:30 +08:00
2d50c49369 chore(i18n): 更新中文模型推荐项映射 2026-04-24 18:37:30 +08:00
74813ff61d fix(frontend-workspace): 修复引用滚动与产物路径解析 2026-04-24 18:37:30 +08:00
d8226b834c feat(frontend-messages): 支持摘要折叠与表格导出 2026-04-24 18:37:30 +08:00
31f4bdb99a fix: 修复单个\n输入,渲染时不会换行的问题 2026-04-24 18:37:30 +08:00
6853ed71bc refactor(workspace): 将颜色 token 重命名为语义化命名 2026-04-24 18:37:30 +08:00
d337e46868 feat: 更新文生图为GPT-Image-2 2026-04-23 17:10:55 +08:00
9fc7b25a01 feat: 更新快捷skill按钮 2026-04-23 13:49:09 +08:00
18e39deece fix: 注释掉提交按钮和审核按钮,后端接口正在维护 2026-04-23 10:47:08 +08:00
54ef439226 fix(08): 用主题色替换留存的 white/black 工具颜色, 2026-04-23 10:31:09 +08:00
45ce998578 fix(08-04): 使主题颜色检查在各工作区状态下都更健壮
- 通过注入的探测节点断言 bg-background,而非依赖易碎的可见布局选择器
- 移除未使用的颜色解析辅助函数,保持悬停/可见性断言具有确定性
2026-04-23 10:30:26 +08:00
56cdadb082 fix(08-04): 稳定主题颜色端到端测试断言
- 使用 bg-background 探测节点来断言亮色/暗色主题下根节点令牌的差异
- 放宽暗色主题下的可见性检查,改为非透明悬停状态,避免不稳定的对比度阈值
2026-04-23 10:29:55 +08:00
cf36873d99 feat(08-04): 添加工作区主题颜色回归端到端测试
- 添加可复用的 setTheme 辅助函数,用于在端到端测试中切换亮色/暗色主题
- 添加 theme-colors 测试规范,覆盖线程根节点、提交按钮悬停、产物详情等场景
2026-04-23 10:28:56 +08:00
fc27d179d4 feat(08-03): 将产物预览内联样式变量令牌化
- 将产物预览 srcdoc 内联样式中的十六进制颜色值替换为工作区主题令牌变量
- 在 globals 和工作区主题令牌注册表中注册缺失的工作区主题令牌,以支持亮色/暗色主题
2026-04-23 10:27:16 +08:00
3d4e180a05 feat(08-02): token化 input/suggestion/streaming 颜色
- 将 input-box 与 suggestion 的硬编码颜色和 SVG fill/stroke 迁移为 ws token/currentColor
- 移除 task 验收范围内的颜色/arbitrary 命中并保持 hover/active 可见
- 通过 lint 与 typecheck(仅保留仓库既有 warnings)
2026-04-23 10:27:06 +08:00
bceea21f9b feat(08-03): 将产物列表/详情中的硬编码颜色字面量迁移至工作区主题令牌
- 将产物列表中的图标/下载按钮的硬编码颜色工具类替换为工作区主题令牌类
- 将产物详情中的 SVG 描边/填充色以及关键状态转换为主题令牌/currentColor
2026-04-23 10:25:50 +08:00
287d45bb48 feat(08-02): token化 thread page 与 layout/header 颜色
- 将 page/layout/header 中指定硬编码颜色替换为 ws-* token utility
- 将返回箭头 SVG 迁移为 currentColor + token class,移除 hex 颜色字面量
- 通过 Task 1 验收扫描与 guard:colors
2026-04-23 10:25:34 +08:00