Commit Graph

552 Commits

Author SHA1 Message Date
f14d0fe6fd feat(suggestion): 背景色变化 2026-06-15 09:41:29 +08:00
015313cb83 chore: 去除字体放大的多余部分 2026-06-15 09:28:00 +08:00
39eb29d54e fix(brand): 修复品牌根选择器变量覆盖
将品牌类选择器调整为 :root.brand-*,确保品牌变量能够稳定覆盖默认 :root 变量。\n补充品牌选择器测试,校验品牌块中包含 surface elevated 颜色变量。
2026-06-15 09:26:30 +08:00
6adc8cbedf feat(suggestionList): 仅在xclaw中显示 2026-06-15 09:08:18 +08:00
d0afbf1897 refactor(brand): 重构品牌系统,移除 SESSION_BRAND 并完善初始化逻辑
- 将 DEFAULT_BRAND 重命名为 XCLAW_BRAND,统一品牌命名规范
- 删除未使用的 SESSION_BRAND 类型和相关配置
- 优化 getInitialBrandFromBrowser 逻辑:根据 isSxwz 参数直接设置并返回对应品牌
- 更新品牌颜色 tokens 和 CSS 选择器测试
- 同步更新 provider.tsx 和相关测试用例
2026-06-13 11:30:23 +08:00
02692444a5 chore: 暂时隐藏suggestionlist 2026-06-12 17:24:40 +08:00
5d634e3ad1 test(brand): 覆盖新增品牌辅助函数和 CSS 选择器单测
新增 getBrandPrimaryColor / getBrandPrimaryColorWithAlpha / getInitialBrandFromBrowser / syncBrandClassName 的单元测试,以及 brand-default / brand-sxwz CSS 选择器存在性校验。
2026-06-12 11:39:05 +08:00
269408b66f feat(table): 表格下载支持 CSV 和 Markdown 双格式下拉选择
重构下载功能,将单一下载按钮改为 DropdownMenu 下拉菜单,新增 CSV 导出和 escapeCsvCell 辅助函数,downloadTextFile 支持自定义 MIME 类型。
2026-06-12 11:39:02 +08:00
8e6c8c7424 refactor(chat): 品牌化聊天页面布局和图标,移除 sxwz 硬编码偏移
将 SVG 图标 stroke 从硬编码 #150033 改为 currentColor,移除聊天面板 sxwz 专属 translate-x 偏移,为代码编辑器添加组件级 CSS 类名。
2026-06-12 11:38:59 +08:00
6958efb2ad refactor(brand): 品牌颜色系统重构,使用 CSS 自定义属性驱动主题
将品牌主色从硬编码值迁移为 CSS 自定义属性(--brand-color-primary 等),新增 getBrandPrimaryColor / syncBrandClassName 等辅助函数统一管理品牌状态,清理 layout 中未使用的 rootClassName 引用。
2026-06-12 11:38:56 +08:00
3f9fad05f5 chore: 推进版本,v3.3.1 2026-06-11 17:56:11 +08:00
b0876e6542 fix(sxwz): 修复制品面板打开时输入框布局偏移
仅在制品面板关闭时应用 SXWZ 品牌的 -translate-x-[172px] 偏移,
避免面板打开时输入框被推出可视区域。
2026-06-11 17:51:15 +08:00
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