|
|
16900b0a20
|
fix(chat): 修复子智能体完成通知不实时显示,压缩残留锁死输入与切换
- 通知:inject_runtime_user_message 不再把子智能体任务 id 透传为事件顶层
task_id(sender setdefault 不覆盖,前端任务归属守卫丢弃事件;socket 通道
在轮询模式下不渲染,双通道断头导致只能刷新后从历史看到)。后台指令因透传
的是 command_id 而不受影响
- 通知:修复 _persist_and_echo_preceding_notice 回显写在 except 分支内,
批量通知前 N-1 条从不实时回显
- 压缩:移除「压缩中切换/新建对话需确认并取消压缩」拦截(多对话独立运行后
无存在意义)
- 压缩:新增 compressionConversationId,输入/发送/停止锁按对话隔离,/new
新建页不再被其他对话的压缩状态锁定
- 压缩:metadata 记录 compression_pid,status/compression_status 读取时按
pid 懒清理进程重启后的残留 in_progress 标记;run_deep_compression 异常时
自动清理标记
|
2026-08-12 22:27:31 +08:00 |
|
|
|
34bb5d61cc
|
fix(personalization): 修复子智能体最大执行轮次保存丢失,多智能体豁免该上限
- sanitize_personalization_payload 白名单注册 sub_agent_max_turns /
sub_agent_compress_threshold_tokens(此前保存时被静默丢弃,刷新回默认)
- PUT /api/multiagent/settings 恢复默认由 pop() 改为写显式 null,
绕开 save 的 fallback=existing 复活旧值问题
- task.py:multi_agent_mode 任务一律不设轮次上限(含历史任务恢复),
该设置仅对传统后台子智能体生效
- 个人中心文案标明适用范围
|
2026-08-12 19:14:22 +08:00 |
|
|
|
ff927d6739
|
refactor(files): 下线独立 /file-manager 页面及其写操作端点
- 删除页面路由:/file-manager、/file-manager/editor、/file-preview/<path>
- 删除写端点:/api/gui/files/{create,delete,rename,copy,move,upload,download/batch}
- 保留主 SPA 共享端点:/api/files、entries、text、download、/api/project/files/search
- 拆除前端入口链:QuickMenu → InputComposer → App.vue → openGuiFileManager
- 删除 static/file_manager/ 目录(git 历史可恢复)
- sanitize_filename_preserve_unicode 迁至 server/utils_common.py,
清理 5 个拆分文件的死 import,修复 api_v1/chat 上传的引用来源
- 安全收益:create/rename 路径穿越与 preview 存储型 XSS 随页面物理消解
|
2026-08-12 19:14:01 +08:00 |
|
|
|
70d2bceb45
|
feat(chat): 编辑摘要卡片文件列表限高 5 行 + 内部滚动
原先全量渲染无高度限制,编辑文件多时卡片撑爆消息流。现 160px 封顶
(32px x 5 行),超出内部滚动,滚动条隐藏(同 QuickDock 惯例)。
|
2026-08-12 11:24:12 +08:00 |
|
|
|
dd08845bbc
|
fix(quickdock): 子智能体/后台指令/文件行选中态由近黑改为 hover 色
is-active 原先使用 --surface-soft,dark 主题下为 #0f0f0f 近黑色,违反
大面积色块禁近黑规范;改为 var(--hover-bg),点击选中与 hover 视觉一致。
|
2026-08-12 11:23:57 +08:00 |
|
|
|
4b78fd6d40
|
fix(input): 输入栏 + 按钮改 SVG 图标,修复视觉重心偏下
原为裸文本 + 字形(font-size 20px),flex 居中的是行框而非字形光学
中心,hover 背景块下可见偏下。改用项目既有 SVG 加号(16x16,stroke 2),
与 WorkspaceSwitcher 同路径。
|
2026-08-12 11:23:41 +08:00 |
|
|
|
8da4a596eb
|
fix(frontend): 空对话与显式新建路由下 has_images/has_videos 不应用残留状态
status 中的值来自 terminal 残留的旧对话上下文,空对话语义上无图片/视频,
直接置 false,否则误拦 handleModelSelect 的图片/视频能力检查。
|
2026-08-12 11:23:06 +08:00 |
|
|
|
55e0dcfb4f
|
feat(modify-history): 新增文件修改留痕——编辑实时落盘 diff、开关与 prompt 注入
|
2026-08-12 02:20:40 +08:00 |
|
|
|
9a2469e3fb
|
chore(input): 输入栏类型切换器移除人形 SVG 图标改为纯文字
|
2026-08-12 02:20:17 +08:00 |
|
|
|
a33c3fa6af
|
fix(sidebar): 深色模式类型切换选中态配色,双类型常驻缓存修复切换动画
|
2026-08-12 02:20:03 +08:00 |
|
|
|
492b738859
|
refactor(ui): 打勾框收敛为 FancyCheck 单一组件并修复残缺路径
- 新增 components/common/FancyCheck.vue 作为全局唯一打勾框实现(checked/size/accent-checked)
- 修复个人空间「编辑摘要实时显示」开关 d 路径中段缺失导致对勾渲染变长
- 38 处内联 SVG 全部改为组件引用,删除四处重复的 fancy 样式
|
2026-08-11 23:39:01 +08:00 |
|
|
|
79f8ffa368
|
feat(chat): 编辑摘要卡片弹窗改为锚定定位并修复深色近黑样式
- 弹窗水平相对编辑卡片居中,垂直优先锚定条目上方(空间不足自动翻到下方),高度吃满可用空间
- 行 hover 改用 --hover-bg(深色提亮),弹窗头部去近黑衬底改用分隔线
- 行高亮 is-active 仅钉住态挂载,修复 hover 消失延迟
|
2026-08-11 23:38:47 +08:00 |
|
|
|
56a0acdad2
|
feat(chat): 新增本次工作编辑摘要卡片——工作段末尾显示合并diff,支持显示时机设置
- write/edit 成功后以首次编辑前内容为基线重算净变化 diff,实时写入发起工作的 user 消息 metadata.edit_summary(含带行号上下文的 diff 行),随对话持久化,异常停止保留最后一刻状态
- 消息流工作段末尾渲染卡片(已编辑 N 个文件 + 各文件 +-),居中弹窗展示合并 diff(复用现有 diff 样式),桌面 hover 浮窗/点击钉住,移动端点击模态
- 个人空间新增「编辑摘要实时显示」开关(默认关闭=工作完成后才显示)
- edit_summary_updated 事件 socket + 任务事件流双通道实时更新
|
2026-08-11 21:05:06 +08:00 |
|
|
|
d4301a0f56
|
fix(sidebar): 修复收起时透明对话列表可误触切换、类型切换器未隐藏的问题
|
2026-08-11 19:03:38 +08:00 |
|
|
|
d3ec94e7e8
|
feat(sidebar): 分组模式统一顶部对话类型切换器,列表切换改推挤动画
- 分段控件(普通对话/多智能体)在分组模式下也显示在搜索框下方,移除工作区标题行单字切换按钮
- 列表切换移除 Transition out-in(消除空白期),改为同步推挤滑动:新面板绝对定位从侧边滑入顶出旧面板,去掉 opacity 淡入淡出
- 切换时重置列表滚动位置;同步更新 AGENTS.md 描述
|
2026-08-11 18:14:22 +08:00 |
|
|
|
9fff41650d
|
feat(chat): 输入栏附件系统增强——粘贴图片、文件附加、图片灯箱与文件预览联动
- 输入框支持直接粘贴图片(Tiptap handlePaste,复用拖拽三路分发)
- 文件附加:拖拽/粘贴/选择的普通文件以文件块(FileChips)附加到输入栏,
随消息发送;后端在主消息 metadata.files 记录并插入 hidden file_paths
通知消息告知模型文件位置;运行中队列/自动续发/引导全链路携带 files
- 文件块视觉:196x60 与图片同排同高同圆角,类型彩色图标(文档/表格/
演示/PDF/文本/代码/压缩包),深色提亮变体,SVG 删除按钮与图片统一
- 图片大图预览灯箱(ImageLightbox):最大 1100x780 不铺满全屏,移动端适配
- 文件块点击 → 快捷窗口文件预览面板(复用 /api/file/content)
- 预览面板:hover 灰行在横向滚动下贯穿整行(qd-code 宽度锚定内容全宽);
新增设置项「预览窗口自动换行显示」(默认关闭,换行模式逐行渲染 +
行级 content-visibility 屏外跳过渲染优化)
- SVG 从图片链路剔除(isImageFile 排除 + 图片选择器白名单),按普通文件处理
|
2026-08-11 17:16:56 +08:00 |
|
|
|
b51b2597a8
|
fix(personalization): 修复拖选文字松开落在遮罩上误关抽屉的问题
- 个人空间抽屉与角色编辑弹窗的遮罩关闭由 click.self/mousedown.self
改为「按下与松开都发生在遮罩上」的成对判定
- 修复在输入框内拖选文字、松开落在遮罩上时被误判为点击遮罩,
导致抽屉/角色编辑器意外关闭、表单内容丢失
|
2026-08-11 11:21:30 +08:00 |
|
|
|
1c339d2e6f
|
refactor(conversation): 多智能体从全局模式重构为对话不可变类型属性
- 废除「多智能体模式」全局状态,多智能体改为对话创建时确定的不可变属性
- URL 统一为 /<conv_id>,旧 /multiagent/* 由前端 bootstrap 重定向到裸路径
- 前端拆分为三个语义单一状态:currentConversationType(当前对话类型)、
newConversationType(空对话待创建类型)、sidebarConversationType(列表过滤器)
- 输入栏底行 + 右侧新增对话类型选择器,发送时按类型选择创建接口
- 侧边栏新增类型切换 UI:平铺模式分段控件、分组模式单字切换按钮,
列表区域左右滑动过渡动画
- 清理跨文件主题补丁:_overlays.scss 中覆盖输入栏/对话区/侧边栏/右侧面板的
dark/light 变体(含 !important)全部删除(-363 行),按组件回迁到
_composer/_chat-area/_conversation/_right-panel 各自文件内的主题变体块
- AGENTS.md §11 同步重写为新模型并新增 11.0 前端对话类型模型说明;
§5.5 新增第 10 条「主题变体必须与基础定义同文件(禁止跨文件补丁覆盖)」
|
2026-08-11 11:21:16 +08:00 |
|
|
|
165c771cc7
|
fix(server,static): 网络权限实例级快照与快捷窗口跨对话残留消闪
网络权限此前以进程级 os.environ 为唯一真相:每个 WebTerminal 初始化
都把 env 重置为默认值(切 full 后任何新 terminal 创建即失效),多实例
并发互相覆盖;后台指令与持久终端 shell 直接读 env,导致权限不生效或
跨工作区串扰。
- 唯一真相改为 WebTerminal 实例属性,init/set 不再写 env
- 后台 run_command: create_background_command 快照传入执行线程
- 持久终端 shell: 注入 network_permission_getter 实时取所属终端实例的值
- 快捷窗口: backgroundCommand/subAgent store 在 fetch 前同步剔除
conversation_id 不属于当前对话的残留记录,消除「旧对话数据闪一下
再清空」造成的“任务被停了”误解(后端任务实际一直在运行)
验证: py_compile 通过;冒烟 6 用例 OK;前端构建成功
|
2026-08-08 23:59:45 +08:00 |
|
|
|
045cc72c43
|
feat(ask-user): 弹窗新增「不回答」选项
- 弹窗 footer 新增「✕ 不回答」按钮,只跳过当前查看的问题,
其余问题保持待回答
- 后端 answer() 支持 dismissed 类型答案,跳过非空校验
- 模型侧工具结果返回「用户没有回答或不想回答这个问题,
请直接输出内容向用户提问」,引导模型改为在对话中提问
|
2026-08-07 14:31:05 +08:00 |
|
|
|
dd2f00276d
|
refactor(input): 移除多智能体模式切换的运行中任务限制
|
2026-08-07 11:54:45 +08:00 |
|
|
|
d2dd097248
|
fix(chat): 修复移动端运行期滚动脱锁失效,流式渲染分块防重建
- ChatArea: 新增触摸手势脱锁(手指下拉>8px 视为脱锁意图),与桌面端 wheel-up 同路径;嵌套滚动容器内触摸不解除外层锁定
- ChatArea: 展开锚定改为按条件跳过——仅贴底锁定中的运行态块交给逐帧追底,手动展开(含脱锁后历史块)走锚定,修复外框与内容移动不同步
- scroll: 脱锁标志重置改为严格贴底判定(<=4px),nearBottom 70px 容差与意图冷却期内不再误清脱锁标志,修复移动端第一次上滑必被拽回底部
- lifecycle: 移动端视口 watcher 提前到路由/对话加载前,避免加载期按桌面布局渲染
- MarkdownRenderer: 文本段按顶层块分片渲染+分段级缓存,流式期间已完成前缀块 DOM 不再重设,保护 show_file 卡片/表格/KaTeX 不被反复重建
- view_image: 工具结果携带 size,前端按 path 走 /api/file/content 加载原图,图片限高 480px 防长截图占满对话区
|
2026-08-07 11:32:20 +08:00 |
|
|
|
d2e4422c80
|
feat(chat): 文件卡片新增 HTML 全屏预览
- 抽取 showHtmlSandbox/showHtmlFullscreen 共享模块(CSP/守卫/srcdoc/overlay)
- ShowFileCard 对 .html/.htm 增加预览按钮,复用卡片全屏 overlay
- 全屏 payload 支持 title/notice,检测到外部资源引用时顶栏提示
|
2026-08-05 02:54:58 +08:00 |
|
|
|
ea232d6ac6
|
fix(sidebar): 修复移动端对话「...」菜单点击无反应
- 触屏首次 tap 只应用 hover(按钮显现)并吞掉 click:@media (hover: none) 下「...」按钮与工作区操作按钮常显
- 菜单 fixed 定位受 .mobile-panel-sheet 常驻 transform 影响相对面板错位、被 overflow 裁剪:三处菜单 Teleport 到 body,样式选择器提为顶层,z-index 提升至 2300(高于移动端遮罩 2000)
|
2026-08-05 02:10:34 +08:00 |
|
|
|
2db77fe663
|
feat(chat): show_html 卡片工具栏改为 ⋯ 菜单并新增全屏预览
|
2026-08-05 01:03:03 +08:00 |
|
|
|
79b916f44c
|
fix(chat): 修复 show_html 流式渲染回归并加固卡片沙箱
- renderMarkdownText 透传 isStreaming:恢复 js=off 实时渲染与 js=on 渲染中占位(回归根因:MarkdownRenderer 未透传流式标志)
- js=on 沙箱加固:srcdoc 强制注入 CSP meta(connect-src 'none' 等)与滚动守卫脚本(scrollIntoView/focus 内部化),iframe 加 allow="fullscreen 'none'"
- 卡片尺寸从 JS 内联像素改为 CSS min()+aspect-ratio 自适应:流式/历史宽度一致,resize 自动跟随
- 修复卡片 wrapper 叠加 margin 导致底部圆角被 overflow:hidden 裁切
|
2026-08-05 00:10:47 +08:00 |
|
|
|
677604b538
|
fix(chat): 运行中逐帧贴底锁,修复块外框与内容移动不同步
|
2026-08-03 23:18:49 +08:00 |
|
|
|
ca0d87d9b9
|
fix(frontend): skill 引用渲染与提取兼容 Windows 反斜杠路径
后端 /api/skills 返回 Path.resolve() 字符串(Windows 为反斜杠),而 USER_SKILL_LINK_RE(ChatArea 气泡渲染)与 SKILL_MARKDOWN_LINK_RE(shared.ts 发送兜底提取)硬编码正斜杠 /.astrion/skills/,导致 / 菜单插入的 skill 引用在消息发出后 fallback 为原始文本。两处正则路径分隔符改 [\\/],对存量反斜杠消息同样生效(渲染侧修复)。@ 文件引用不受影响(路径段 [^)\\n]+ 本就能匹配反斜杠,已 Playwright 实测确认)。
|
2026-08-02 00:00:16 +08:00 |
|
|
|
2da6c87245
|
feat(sub-agent): 子智能体最大轮次支持个人空间自定义
- 原 task.py 硬编码 max_turns=50,改为从任务记录读取(None=默认50、0=无上限、N=N轮)
- 个人空间-子智能体新增「最大执行轮次」设置项,PUT /api/multiagent/settings 支持 sub_agent_max_turns(null 删键恢复默认,负数 400)
- 多智能体与传统后台两条创建链路均接入该配置
|
2026-07-31 22:40:20 +08:00 |
|
|
|
89effa71a8
|
fix(frontend): 修复工具参数换行、记忆片段溢出与右侧侧边栏拖拽
- 工具参数区补 white-space: pre-wrap,多行参数(如 run_command 指令)真实换行而非挤作一团被动折行
- 记忆搜索匹配片段改逐行渲染 + nowrap/ellipsis 截断(pre 不换行会溢出容器),悬停 title 看全文
- 恢复 resize-handle--right-panels 基础样式(b593d638 删 _left-panel.scss 时误删,手柄零宽导致 git/终端面板无法拖宽),热区扩至 10px
- FilePreviewPanel 新增左缘拖拽调宽(320-860px,localStorage 持久化),此前从未有过该能力
|
2026-07-31 22:39:18 +08:00 |
|
|
|
510fb8497f
|
fix(host): 修复零工作区新部署的前端死锁
- 后端新增 NoWorkspaceError,零工作区时 /api/status 等接口返回
503 code=no_workspace,与 resource_busy 区分
- 前端 /api/status 失败时识别 no_workspace,进入工作区引导降级流程:
直接确定宿主机模式、显示侧边栏工作区入口并引导创建第一个工作区,
不再因初始化中断导致按钮永不显示
|
2026-07-30 15:21:02 +08:00 |
|
|
|
a0ea599c05
|
fix(ui): 模型列表加载与工作区状态解耦
loadInitialData 先请求 /api/status 再拉取模型列表,未创建工作区时
status 503 导致 fetchModels 不执行、模型选择器为空。现将 fetchModels
提前到 status 请求之前,无工作区也能看到已配置的模型。
|
2026-07-29 23:21:13 +08:00 |
|
|
|
7342a4e198
|
style(chat): 折叠块外壳背景改透明,修复深色下边框观感
--surface-card 在深色主题下比聊天区底色更黑,实色背景会放大
半透明 hairline 边框的亮度差;shell 与 stacked-more 统一改透明。
|
2026-07-29 12:36:15 +08:00 |
|
|
|
04bd93646b
|
fix(chat): /new 页面隔离运行中对话的任务接管与事件推送
对话运行期间进入 /new 会把最近一次用户输入与后续 AI 输出/工具
调用渲染到空白页,刷新/重复进入均复现,任务结束后才正常。
根因是显式新建路由(currentConversationId 为空)下三层隔离缺失:
- restoreTaskState 经 loadRunningTask(null) 接管任意运行中任务并
全量重放事件、恢复轮询(刷新后复现的根因)
- handleTaskEvent 的对话不匹配守卫要求当前对话 id 为真才生效,
空 id 被绕过
- socket 的 thinking/text 六个流式处理器不做 conversation_id 检查
修复:显式新建路由下 restoreTaskState 直接返回;事件守卫把
"空 id + 显式新建路由"判为不匹配;流式处理器补对话守卫。
从 /new 发送消息不受影响(先建对话改路由,后才启动轮询)。
|
2026-07-29 12:36:03 +08:00 |
|
|
|
4596c67967
|
fix(chat): 修复工具调用期间刷新页面导致对话记录重复显示
思考→工具调用(无文本输出)期间刷新时,服务端因文件态末条 assistant
带 tool_calls 判定 needs_rebuild=True(replay_from=0),但前端忽略该
判定自行重算:renderHistoryMessages 已把进行中工具状态改写为 'stale',
hasInProgressActions 的状态清单不含 'stale',误判走 follow 分支后从
事件 0 全量重放并新建 assistant,同一段运行记录显示两遍(伴随
"已恢复连接"弹窗)。
needsRebuild 计算对服务端判定取 OR(bootstrapReplay.needs_rebuild 与
decision_inputs.has_pending_tool_calls):重建是安全方向,拿不准就重建。
|
2026-07-29 12:10:14 +08:00 |
|
|
|
91347d5245
|
fix(quickdock): 详情面板补回子智能体 Tokens 显示,列表统一最新在底部
- 详情面板头部恢复上下文 token 显示(数据源=列表轮询自带的 current_context_tokens,
即旧工作区面板被移除前所用字段),格式 x.xk Tokens,快照防关闭动画闪烁
- 子智能体/后台指令列表前端统一按 created_at 升序(后端均返回倒序),
快捷窗口四窗口一致最新条目在底部
- 文件窗口加 hydrated 守卫:移动端↔桌面端重挂时水合渲染一律静态,
修复 editedFilesLive 残留 true 导致全部行重播进入动画
|
2026-07-29 11:45:08 +08:00 |
|
|
|
4a8c38d24a
|
feat(memory): 新增项目记忆检索工具 search_project_memory
- 后端:关键词全文检索 .astrion/memory/*.md(名称+10/描述+5/正文加权),
返回 top-N 与带行号片段;注册为主 agent 只读工具,子智能体工具集同步;
memory_system 模板与多智能体 prompt 增加检索指引(第二触点)
- 工具 description 含硬性触发条件、query 撰写指引、负例与防重试契约
- 前端:新增 notebook-search 组合图标(notebook 轮廓开口 + 右下角放大镜);
工具详情渲染命中记忆的名称/描述/行号片段;活动汇总归入 memory_read
- 重构:ToolAction.vue 删除约 1600 行重复渲染函数,统一委托
toolRenderers.ts(与 StackedBlocks/MinimalBlocks 同一实现)
|
2026-07-29 02:00:01 +08:00 |
|
|
|
a1e05032a2
|
fix(quickdock): 进页与切换对话时快捷窗口静态呈现,修复跨工作区输入栏跳动
- 设置与内容状态改为 localStorage 同步缓存(主题缓存同模式):
自动展开设置、全局内容状态、按对话 ID 内容状态(LRU 上限 50)
- 三态乐观掩码:assumedActive 生效时 hasContent 完全由缓存假定值
决定(含假定无内容),dock 与对话区同刻切换收起/展开
- 无过渡窗口重写为可重入机制:初始加载与切换对话(flush:sync)
两个时机开启,按 filesSyncSeq/todoSyncSeq 序号推进精确关窗
- 跨工作区点选对话时保持当前对话视图冻结,不再经过空对话
中间态,消除输入栏先上后下
|
2026-07-28 23:24:19 +08:00 |
|
|
|
0aa8af8618
|
fix(chat): 显式新建对话路由隔离后端残留上下文
/new 与 /multiagent/new 上不再被 terminal 状态快照、对话广播事件
拽回上一个对话;个性化默认值在显式新建路由下保持权威。
|
2026-07-28 18:43:19 +08:00 |
|
|
|
3c66c6b05f
|
refactor(naming): 移除代码中的第三方产品名
- DeepSeekClient → APIClient(含 7 个 mixin,38 个文件)
- --claude-* CSS 变量全部替换为新语义 token,删除 _tokens.scss 兼容别名
- build_openai_tools → build_llm_tools
- login/register.html 主题 key claude → classic;terminal.html 变量改 --app- 前缀
- 注释中的 Claude 归因描述中性化
- 顺带删除误跟踪的 __pycache__ .pyc 缓存
|
2026-07-28 18:43:03 +08:00 |
|
|
|
0eaa8ba450
|
feat(quickdock): 新增快捷窗口自动展开设置,修复展开按钮与动画
- 个人空间·外观与显示新增「快捷窗口自动展开」开关(默认开);
关闭后新内容到达不再自动展开,只能通过右侧悬浮按钮手动展开;
设置切换立即生效
- 展开/收起悬浮按钮无内容时也常显;线条色对齐左侧对话记录侧边栏
(--claude-text),移除 hover 与展开态变色
- 修复展开动画方向:empty 态保留上下 padding,消除 padding-top
过渡带来的垂直分量,展开恢复为纯横向从右到左
|
2026-07-28 12:49:24 +08:00 |
|
|
|
ce3979d9c7
|
fix(frontend): 自定义工具指南 md 移入前端源码树,修复构建失败
doc/ 目录在公开发布清洗中已取消追踪,但 CustomToolsGuideApp.vue
仍以 ?raw 方式 import 其中的 custom_tools_guide.md,导致克隆/
同步 main 后 vite 构建无法解析该文件。将指南移入 static/src/admin/
与使用方同目录,import 改为相对路径。
|
2026-07-28 01:00:36 +08:00 |
|
|
|
f1fcba1da0
|
perf(chat): 折叠块跳过子树渲染,根治窗口拖拽卡顿
- 极简模式(0fr)与堆叠/思维链(max-height:0)折叠只裁视觉,DOM 仍全量
参与布局,几千节点的步骤组在窗口拖拽时逐帧重排导致卡顿;
折叠态改为 content-visibility:hidden + contain-intrinsic-size:0
跳过整个子树渲染
- 过渡列表加入 content-visibility + transition-behavior:allow-discrete,
隐藏翻转延迟到收起动画结束后生效,展开立即恢复;不支持的引擎
退化为立即跳过,动画本体不受影响
- 删除 .stacked-block .collapsible-content 冗余 transition 规则:
特异性更高且漏写 content-visibility,曾致收起时内容瞬间消失、
块高瞬间坍塌而外壳慢一拍
- 堆叠块收放改为纯容器裁切、不淡出,与极简模式一致
|
2026-07-27 23:58:55 +08:00 |
|
|
|
8741edec18
|
feat(chat): 快捷导航三态自适应布局与快捷窗口手动收起
- 左侧输入跳转导航支持钉死/居中/隐藏三态:随轨宽空白自适应,
波浪宽度按可用空白比例压缩避免遮挡消息;滚动位置同步高亮当前阅读轮次
- QuickDock 新增悬浮展开/收起按钮,userCollapsed 与无内容自动收起相互独立
- 轨宽/空白经 ResizeObserver 实测校准,兼容 macOS 经典滚动条宽度差异
|
2026-07-27 20:07:03 +08:00 |
|
|
|
eaa312acd4
|
fix(quickdock): 移除后台指令详情首行命令高亮
|
2026-07-26 00:56:26 +08:00 |
|
|
|
7ed54456d6
|
feat(chat): 对话区左侧用户输入快捷跳转导航
|
2026-07-26 00:56:08 +08:00 |
|
|
|
87a6a03943
|
feat(settings): 新建对话按钮行为可选,移除根目录创建文件与诊断日志入口
|
2026-07-26 00:55:46 +08:00 |
|
|
|
64902b124a
|
feat(admin): 二级密码未配置时显示设置引导页,登录 Docker 报错改为原地弹窗
|
2026-07-25 16:52:42 +08:00 |
|
|
|
cf51ab0555
|
refactor(cleanup): 移除余额查询功能、清理前端调试日志、规整终端输出
|
2026-07-25 12:07:04 +08:00 |
|
|
|
bb420b0d04
|
chore(repo): 公开发布准备——取消追踪非源码文件并重写配置文档
- 取消追踪 552 个文件(运行态数据、密钥历史、实验/归档目录、
agentskills/easyagent/demo/android-webview-app 等不公开内容)
- .gitignore 追加公开发布排除项与 cache/ 忽略
- 重写 README.md:mac 为主/开发中声明、web/host 双模式、Docker 镜像、
数据存储、settings.json/custom_models.json 配置说明
- .env.example 删除失效项(AGENT_API_* 等),标注推荐 settings.json
- 新增 config/custom_models.json.example(Kimi-K3 蓝本 + DeepSeek 示例)
- 修复 utils/perf_log.py 硬编码本机路径(改走 config.paths.LOGS_DIR)
|
2026-07-25 00:44:15 +08:00 |
|