de5160ead0
feat(ui): 子智能体消息 Markdown 渲染与气泡展开淡出优化
...
- 子智能体输出内容使用 MarkdownRenderer 渲染
- 修复多智能体气泡内 Markdown 元素底色适配气泡背景
- 修复对话区域 Markdown 行内代码与加粗样式
- 用户消息/子智能体消息气泡展开按钮增加横纵向淡出效果
- 展开/收起时按钮位置通过 margin 平滑过渡
2026-07-13 00:48:05 +08:00
692748d567
fix(multi-agent): 修复消息渲染、分类、存储与滚动抖动
...
- 子智能体消息渲染为左侧对话气泡
- 多智能体通知细分为进度/完成/提问三类
- 修复多智能体会话存储到 mutiagents 目录并迁移数据
- 修复 token-statistics API 支持多智能体会话
- 修复 ma_debug 未定义报错
- 移除 .message-block content-visibility 修复滚动抖动
2026-07-12 23:09:56 +08:00
7863e497d8
feat(ui): restore reply-header generating hint and refine composer avatar text
2026-07-06 04:47:40 +08:00
4a54d6fbb7
feat(ui): add status avatar interactions
2026-07-05 00:57:06 +08:00
359caca672
feat(input): support file mentions
2026-07-04 22:58:58 +08:00
ae5676cd30
feat(ui): add assistant status avatar
2026-07-04 22:33:00 +08:00
dd5e94b294
fix(frontend): smooth initial conversation rendering
2026-06-28 10:57:54 +08:00
2b2ff44fcd
Fix: user message timestamp from backend, bubble action layout
2026-06-28 01:48:18 +08:00
0a4c75ce45
Add fold/expand and hover actions to user message bubbles
2026-06-28 00:15:07 +08:00
737c4d61a2
fix(chat): 修复流式代码块闪烁、复制错位及数学公式实时多行渲染
...
- 将聊天消息中的代码块提取为独立 Vue 组件,稳定 key 避免流式输出时重建
- 代码块复制按钮直接复制当前组件内容,全局复制逻辑改为按容器查找
- 预处理 LaTeX 公式占位符并在组件 onUpdated 中实时渲染,支持多行 49888...49888
- 公式块过长时提供横向滚动,渲染后主动追底避免滚动锁定失效
2026-06-27 23:11:09 +08:00
e4a663594d
feat: Android App 原生 PDF 预览与前端 show_file 卡片
...
- 集成 AndroidPdfViewer (mhiew fork) 实现不依赖浏览器的 PDF 预览
- 新增 PdfPreviewActivity 与 JS Bridge (AndroidPdfBridge)
- ShowFileCard 在 Android App 内对 PDF 显示「预览」按钮,不内嵌 iframe
- 新增 /api/file/content 后端接口用于文件内容 inline 预览
- 前端支持 <show_file> 标签与 download:// 链接渲染
- 更新 Android 版本号至 1.0.35
2026-06-24 00:06:10 +08:00
f9d194f100
fix(ui): 块模式展开箭头改用SVG mask,修复偏位和非中心旋转
2026-06-11 00:24:56 +08:00
0ed262c87b
fix(ui): 深色模式块底部运行指示线太亮,改用 accent 灰色系
2026-06-10 19:27:28 +08:00
dcb25dfe89
fix: 堆叠块深色hover不可见 & 底部块高度偏差 & 新增隐藏边线开关
...
- 深色模式 hover 修复:用 !important 覆盖 _overlays 中的 surface-panel 规则,使用 --hover-bg(6%白) 对齐对话列表 hover
- 底部块高度修正:shellHeight = targetShell + 2 补偿 border-box 下内容区裁剪
- 深色模式运行横条改为白色(var(--text-primary))
- 新增隐藏边线开关:后端 PersonalForm 持久化 stacked_hide_borders,前端条件渲染开关(仅堆叠模式可见)
2026-06-10 19:18:29 +08:00
6255efc594
perf: CSS content-visibility + containment 优化长对话渲染性能
...
- .message-block 添加 content-visibility: auto 跳过屏幕外消息渲染
- .messages-flow / .messages-area 添加 contain: layout style 隔离布局
- 减少长对话 DOM 重排开销,解决横向 resize 时的级联卡顿
2026-06-10 01:08:47 +08:00
2fcd241d94
fix(frontend): 移除历史消息加载时action-item的入场动画,仅流式输出时保留动画
2026-06-09 10:27:48 +08:00
f50d87fc79
feat(chat): render streaming code blocks
2026-06-07 03:34:00 +08:00
f383b0ec71
fix(ui): refine dark code block styling
...
Remove stray borders, outlines, shadows, and token backgrounds from markdown code content in dark mode to avoid the visible white frame around code text.
Adjust code block body padding so code content sits closer to the block edge while staying visually aligned with the language label.
2026-06-07 02:57:58 +08:00
d095531bb8
refactor(frontend): unify chat content rail alignment
...
Normalize the chat content rail around the input composer as the width baseline. This introduces shared rail variables, compensates message content for the actual scrollbar gutter, and separates mobile/webview behavior so desktop, mobile web, and app shell layouts stay centered consistently.
Align assistant text, markdown blocks, tables, minimal-mode summaries, expanded minimal steps, slash/runtime/git floating UI, and brief-message separators to the same horizontal rail. Remove the collapsed right resize handle and mobile menu glow while preserving the intended percentage widths for floating composer affordances.
Validation: npm run build --silent 2>&1 | tail -n 5
2026-06-07 01:55:20 +08:00
05e8ea5e40
feat(frontend): 输入栏现代化重设计 + 配套高度/配色修复
...
- 输入栏由体育场形改为圆角矩形,输入区与按钮行分离
- +/发送按钮移至底部行(左下/右下),缩小尺寸、圆角 hover、同心圆角对齐
- 发送按钮去光晕:浅色黑底白三角、深色白底黑三角,仅留浅阴影
- logo 旁思考模式按钮去除扩散光晕,focus 仅留描边环
- 对话区预留高度基准 80→90 适配更高输入栏,欢迎语 padding 同步加大
- /菜单命令名配色:经典 accent 橙、浅/深色保留 state-info 蓝
- /菜单及深色 + 菜单 hover 统一为侧边栏同款 --theme-tab-active(修复深色全黑)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 18:25:20 +08:00
b4030c386e
refactor(frontend): 颜色 token 系统两层重构 + 三主题填色 + 去半透明
...
将前端配色从散落的硬编码/双命名体系(--claude-* / --theme-*)重构为
两层 token 结构(原始层 + 中性语义层),并按"经典抄 Claude、浅色抄
ChatGPT、深色自研"的定位完成三主题填色,同时建立 stylelint 防回退栏杆。
代码大量由 AI 生成的历史遗留配色问题(同语义多值、跨主题塌缩、强调色
撞文字色、fallback 第二真相源等)在此一并收口。
== 一、Token 结构重构(_tokens.scss)==
- 重写为两层:原始层 + 语义层;组件只引用中性语义名
(--surface-* / --text-* / --border-* / --accent* / --state-* 等)。
- --claude-* / --theme-* 降级为兼容别名(41 个转发),迁移完成后删除。
- 三主题(classic / light / dark)+ 首屏回退(:root:not([data-theme]),
与经典同值)全部补齐,结构对齐、不再缺项。
== 二、三主题填色 ==
- 经典 = Claude 官网亮色盘:暖奶油表面阶梯
canvas #faf9f5 < soft #f5f0e8 < card #efe9de < cream-strong #e8e0d2
< 纯白浮起;文字 #141413;hairline #e6dfd8;暖橙 primary #cc785c。
- 浅色 = ChatGPT 亮色盘:冷白 #ffffff / 侧栏 #f9f9f9 / 嵌套 #f3f3f3,
中性灰文字,近黑 primary #181818。
- 深色 = 自研中性灰阶,本轮完全不动(原样保留)。
- 修复塌缩 bug:强调色在 light/dark 原被误填成灰(CTA 失去品牌色),
现统一回品牌 primary;light 表面原全塌成 #ffffff(过于平面),
现按灰阶拉开层次。
- 强调色克制(CTA-only voltage):primary 仅用于发送按钮/logo 等极少
数处;hover / 选中 / 运行态一律走中性灰(运行态指示器从 amber 改灰)。
- 对话区背景从纯白改为暖奶油 canvas;个人空间下拉菜单、git 状态条、
二级菜单等收口到统一语义色。
== 三、全面去半透明 ==
- 所有实体面板/二级菜单背景改为不透明(surface token 由半透明白改实色,
--mobile-menu 三亮色主题改实色)。
- 移除已不透明面板上失效的 backdrop-filter 磨砂(移动端菜单、右键菜单、
模型模式下拉等)。
- 遮罩 scrim(--overlay-scrim)与刻意玻璃质感装饰保留半透明。
== 四、块展开底色统一 ==
- 思考/工具块展开区底色统一为对话背景色:.collapsible-block 及其 header
背景由 --surface-soft 改 transparent,与堆叠块(stacked-block)一致,
消除"单块奶油底 vs 多块透明"的不一致。
== 五、布局修复 ==
- 工作区隐藏后残留空白:.workspace-panel--collapsed 补 flex-basis:0 +
width/min-width:0,修正 flex-basis:auto 被子元素内容宽度撑开导致内联
width:0 失效、collapsed 后仍占 ~300px 的问题。
== 六、防回退栏杆(新增)==
- 新增 .stylelintrc.cjs:三条规则拦截裸 hex / rgb()|hsl() 字面色 /
var(--x, fallback) 兜底 / prefers-color-scheme;存量未清理文件用
BASELINE_EXEMPT 临时豁免(现仅剩 5 个 admin 页面,本轮按用户要求不处理),
清理一个移除一个、不再回退。
- package.json:build 脚本接入 stylelint(tsc → stylelint → vite),
新增 lint:css 脚本及 stylelint/postcss-scss/postcss-html 依赖。
- 修复 25 处 \!important 笔误(zsh 历史扩展污染导致的无效 CSS)。
== 七、辅助脚本(新增 scripts/)==
- lint_check.py:Node 环境不可用时的 stylelint 替身(复刻三规则 + 括号
校验,支持多行声明检测)。
- color_map.py:硬编码色 → token 反查,判定可映射/野色。
- strip_fallback.py:安全剥离已定义 token 的冗余 fallback。
== 八、文档 ==
- CLAUDE.md / AGENTS.md 前端设计规范更新:颜色规则扩写为三主题定位 +
两层 token + 表面层次 + 强调色克制 + color-mix 派生 + stylelint 栏杆;
新增"实体面板禁止半透明"规则;"禁止边缘光晕"补充"仅在用户明确允许
或要求时才可使用"。
注:前端构建验证(npm run build / lint:css)由用户本机完成;AI 工具
上下文 Node v24 段错误无法运行 node/npm/vite/stylelint。
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 16:20:58 +08:00
6f78277a03
feat(ui): add project git status panel
2026-05-31 17:27:24 +08:00
39328cf6a9
fix(web): use tiptap mention for skill input
2026-05-30 23:31:13 +08:00
f5e4541d83
feat(chat): add compact message display mode and goal-review/compression headers
...
- 审核(goal_review) user 消息气泡显示「审核 + circle-alert 图标」
- compact 消息新增「简略信息」显示形式(个人空间可切换),渲染为横线包裹的一行概要
- 压缩续接消息单独标记为 compression_handoff,visibility 改为 compact
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-05-30 19:05:59 +08:00
32865f6d6e
fix(ui): refine message visibility and goal approval flow
2026-05-30 16:30:05 +08:00
e220b3703a
feat(web): add skill slash selector
2026-05-30 14:50:00 +08:00
8da51b3b68
fix(ui): refine dark mode menu highlights
2026-05-29 00:20:31 +08:00
0b6b39f262
fix(ui): refine sidebar and personal space styling
2026-05-28 14:15:02 +08:00
3bc6f718eb
feat(ui): refine sidebar workspace and code blocks
2026-05-28 03:53:49 +08:00
cd82c6d658
fix(ui,runtime,search): merge runtime/frontend stabilization into main
2026-05-27 16:38:19 +08:00
8395cf8b4b
fix(prompt): merge disabled-tool notice into leading system prompts
2026-05-09 18:56:49 +08:00
bb6bfff176
fix(ui): stabilize tool header icons and mcp completion label
2026-04-27 15:51:52 +08:00
9d8beacc8d
fix: align thinking and tool status text in blocks
2026-04-27 15:35:10 +08:00
3cd8bdabef
feat(ui): add refresh button for showhtml cards
2026-04-27 01:42:24 +08:00
9199f5ca7c
fix: unify show cards rendering and prompt constraints
2026-04-26 18:13:24 +08:00
24c702c0af
fix(show_html): add js mode with sandbox iframe rendering
2026-04-26 17:13:08 +08:00
ac788daa03
fix(show_html): freeze completed card during streaming
2026-04-26 16:52:22 +08:00
383e68188c
fix: stabilize show_html rendering and restore conversation mode state
2026-04-26 01:04:23 +08:00
33d270ff63
fix: stabilize show_html streaming rendering and recovery
2026-04-25 23:17:07 +08:00
1c928d7518
chore: backup snapshot before show_html scroll rework
2026-04-25 20:39:52 +08:00
6379f8c729
feat: complete conversation versioning UX and restore workflow
2026-04-11 16:16:40 +08:00
90233690ad
feat: add json-based extensible model registry and dynamic model UI
2026-04-09 20:56:54 +08:00
39af4151d9
fix: enforce max-width hard wrapping in chat input and bubbles
2026-04-07 11:50:28 +08:00
6f2f854f6d
fix: refine mobile assistant content spacing
2026-04-05 21:25:01 +08:00
3e800609c5
fix: tighten mobile chat gutters and user bubble width
2026-04-05 20:54:57 +08:00
a5412dae34
fix: adjust sub-agent notice spacing in minimal mode
2026-04-05 16:58:22 +08:00
2700a25702
feat: add per-user-message work timer with persistence
2026-04-05 15:14:29 +08:00
0c213b0a9f
feat: polish minimal summary loader interactions
2026-04-04 20:52:50 +08:00
321818f7ef
feat: 新增极简模式(Minimal Mode)
...
新增了一个全新的消息显示模式,提供更简洁的对话体验。
主要功能:
- 新增 MinimalBlocks.vue 组件,实现极简风格的消息块展示
- 在 ChatArea.vue 中集成极简模式渲染逻辑
- 在个性化设置中添加"极简模式"选项(blockDisplayMode)
- 支持三种显示模式:堆叠模式、极简模式、传统模式
技术实现:
- 使用 personalization store 管理显示模式状态
- 通过 computed 属性动态切换渲染组件
- 保持与现有堆叠模式和传统模式的兼容性
用户体验:
- 更清爽的界面布局
- 减少视觉干扰
- 适合快速浏览对话内容
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-04-04 14:47:45 +08:00
bd863f6d38
feat: 优化图片/视频上传和显示功能
...
- 支持从本地一次选择多个文件上传
- 图片选择器上传完成后自动关闭
- 输入框和用户消息块显示缩略图(60x60px)而非文件名
- 输入框缩略图悬停时显示删除按钮(右上角 × 符号)
- 统一图片/视频预览样式,提升用户体验
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-03-13 11:40:54 +08:00