|
|
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 |
|
|
|
a7a40a8a2f
|
fix(utils): 原子写重试预算上调至8次/4.75s,索引保存失败留证与日志落盘
- replace_with_retry: attempts 6→8,新增 max_delay 参数(默认1.6s),覆盖 Defender/Search 索引器持续持锁超过原1.55s预算的场景
|
2026-08-03 22:18:41 +08:00 |
|
|
|
3ceace2762
|
fix(skills): skill 文件读取等待同步窗口,避免并发全量同步误判不存在
工作区 skills 目录会被并发全量同步(rmtree+重建)短暂清空:每个新对话级 terminal 实例各触发一次同步(标记 _skills_synced_project_path 挂实例),实测新会话开始 2.5s 内并发 4 次全量同步,_resolve_workspace_skill_path 一次 is_file() 失败即 400「skill 文件不存在」。新增 wait_skill_file_ready(复用同步锁有界等待本轮重建 + 200ms 轮询,预算 2.5s),读方改走该原语;补 4 项单测(共 7 项全过)。缓存踩踏/rmtree 全量重建等架构层竞态按决议暂不处理,方向见项目记忆 conversation_vs_workspace_terminal。
|
2026-08-02 00:00:41 +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 |
|
|
|
32633f7eec
|
docs(agents): 修正冒烟测试命令,Windows 上 stdlib test 包遮蔽本地 test 目录
|
2026-08-01 10:45:53 +08:00 |
|
|
|
a136e818d7
|
fix(mcp): stdio 客户端改用读线程+队列,修复 Windows select 管道 WinError 10038
|
2026-08-01 10:45:29 +08:00 |
|
|
|
dc61bd92dc
|
refactor(runtime-mode): 运行期模式切换通知改为基线漂移检测机制
|
2026-08-01 10:02:24 +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 |
|
|
|
2c2c5aba4d
|
fix(modules): 修复 Windows UTF-8 编码链(对照 Codex #7290 类问题)
- persistent_terminal 解码写死 GBK 改为 UTF-8 优先 + GBK 回退逐块自适应,GBK 边界感知 + _pending_bytes 暂存半字,进程结束冲刷
- start.py:Windows 默认 cmd.exe 启动后注入 chcp 65001,与 PYTHONIOENCODING=utf-8 对齐,消除输出/解码自相矛盾
- 5 处 subprocess text=True 补 encoding=utf-8(后台命令x3、MCP stdio、版本管理、病毒扫描、容器管理),照 server/status/git.py 示范
- main.py:补 PYTHONUTF8/PYTHONIOENCODING 兜底 + stdout/stderr reconfigure;修复 print 中被双重编码固化的 emoji
- docx 验证器 XML 改二进制读取,由 lxml 按声明自解码
|
2026-07-31 22:39:51 +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 |
|
|
|
7aab7da8aa
|
fix(windows): 超时终止链弃用 CTRL_BREAK_EVENT,修复后端自杀式崩溃
根因(日志实证):沙箱命令超时后 _interrupt_subprocess 发送的
CTRL_BREAK_EVENT 会投递到本进程自身(即使子进程带
CREATE_NEW_PROCESS_GROUP),无保护的后端收到后直接终止,
终端仅显示 ^C、无任何报错。沙箱 git 病态缓慢导致频繁超时,
是该崩溃的触发器(已由上一个提交的 git 配置修复)。
- terminal_ops/run.py: Windows 超时中断直接 taskkill /F /T 杀整棵树
(抽出共用 _taskkill_tree),不再尝试 CTRL_BREAK 优雅中断
- background_command_manager.py: _terminate_pid 同步弃用 CTRL_BREAK
- 拆除全部 [SBX-DEBUG] 诊断埋点,删除 modules/sbx_debug.py
(探针会吞掉 Ctrl+C,诊断任务完成,归还正常信号行为)
|
2026-07-31 19:33:43 +08:00 |
|
|
|
5ef0a04ed0
|
fix(windows): 沙箱发行版 git 增加 autocrlf/checkStat/trustctime 配置
|
2026-07-31 18:19:51 +08:00 |
|
|
|
04c9db8a5b
|
feat(windows): 沙箱最小根文件系统与崩溃排查调试埋点
|
2026-07-31 17:51:05 +08:00 |
|
|
|
77be044c44
|
fix(versioning): 修复首改文件 diff 基准丢失导致全文件计新增
根因:track_edit 在编辑前备份的 v1(修改前内容)只存在于该消息的
中间行,make_snapshot 用最终行(v2 修改后内容)整体替换该行后,
v1 不再被任何快照引用。对会话中首次被跟踪的文件,diff 配对找不到
上一条消息里的基准,按 added 处理并把全文件计为新增(+479 -0)。
26f31a09 修的是重复行配对,未覆盖这一数据丢失路径,故跨平台复现。
修复(不改数据模型,纯读取侧恢复):
- 新增 _resolve_diff_base_backup:优先用上一条消息快照里的备份;
缺失时利用备份名确定性(sha256(绝对路径)@vN)与版本逐文件连续的
不变量,回退到 v(N-1) 作为消息前状态(新建文件 v1 不落盘,自然
仍判 added);首次出现即 v1 说明消息未改动该文件,与自身比较得 0。
- get_diff_stats / get_file_diff_stats / get_file_patch_lines 三处
统一走该解析;旧 state 数据(v1 备份文件仍在)透明愈合,亦兼容
MAX_SNAPSHOTS 逐出旧行的场景。
- 新增 5 个回归测试(生产顺序:track_edit 先于写入);修正 2 个旧
测试的模拟顺序使其与生产一致(原顺序先写后 track,把新建文件
误模拟成 v1 首现)。
验证:11/11 通过;旧代码跑新测试 4/5 失败(复现);用事故对话
conv_20260731_114736_581 真实数据只读复算,#1 由 +479/-0 added
修正为 +4/-1 modified(与实际编辑一致),#2 保持 +0/-0;全量测试
失败/错误数与 HEAD 基线完全相同(2+10,均为预存在/环境问题)。
|
2026-07-31 04:39:35 +00:00 |
|
|
|
1760ca66f3
|
docs(repo): AGENTS.md 运行环境边界补充 Windows 环境位置
|
2026-07-31 03:59:56 +00:00 |
|
|
|
493ac160eb
|
fix(windows): 平台适配与稳定性修复(进程终止/编码/原子写/事件竞态/子智能体)
- 进程终止:Windows 用 CTRL_BREAK + taskkill /F /T 替代不存在的 killpg/SIGKILL,
超时/取消全路径有界;_is_pid_alive 改 ctypes(原 os.kill(pid,0) 在 Windows 会真杀进程);
reader 任务 finally 收口,消除 Task was destroyed but it is pending / unclosed transport
- 子智能体调度链:_run_coro 超时 60s + 失败 cancel/close 防幽灵协程;create 改先调度后提交、
失败回滚;state 归属守卫 + 新建 120s 宽限期防误标已终止;_ensure_event_loop 加锁;
子智能体 todo 改 per-agent 隔离存储,不再串到主智能体前端
- 子智能体执行环境(execution_env_text.py):创建/切换/恢复三时点注入环境说明,
Windows 下 sandbox=WSL2 bash、direct=cmd;inject_notification 纯通知不触发新一轮工作,
tool 序列中延迟到安全点 flush;传统子智能体按既定语义不通知
- 编码:git 侧边栏 subprocess 显式 utf-8 + errors=replace(修中文 Windows GBK
_readerthread 崩溃导致侧边栏空白);check_environment/install_package 用 self.python_cmd
- 安全/路径:permission.py Windows deny 列表生效 + 驱动器根拦截;路径比较统一 normcase;
/tmp 白名单平台分流;正斜杠判断归一化;os-release 平台守卫;PowerShell -ExecutionPolicy Bypass
- 稳定性:任务事件轮询持锁快照(修 deque mutated during iteration);
原子写新增 replace_with_retry(修 WinError 5/32 瞬时持锁);
共享文件兜底链 symlink→os.link 硬链接→copy2
- 部署:新增 _bootstrap.bat / setup.bat / start.bat Windows 启动脚本
|
2026-07-31 11:33:57 +08:00 |
|
|
|
3bb47ff857
|
docs(repo): 恢复追踪 AGENTS.md 与 agentskills/,AGENTS.md 完成脱敏
|
2026-07-30 22:43:01 +08:00 |
|
|
|
97e1327987
|
perf(host): 新建对话延迟从10s降至3s并消除后台日志刷屏
- 索引覆盖检查改与 min(needed, 文件总数) 比较,修复每次列表请求
必触发两次全量重建的逻辑错误(重建索引日志刷屏根源)
- OCRClient 的 httpx.Client/OpenAI 改为首次调用 VLM 时懒加载,
构造耗时 3675ms -> 2ms(此前每个对话级 terminal 创建都要付一次)
- WebTerminal 复用父类 TerminalManager 仅注入广播回调,不再二次创建;
close_all 在无终端时静默,消除 GC 路径的关闭终端噪音日志
- 新建对话版本控制初始化去重:create_new_conversation 返回
versioning_initialized 标记,路由层跳过重复初始化
- _update_index 读-改-写整体纳入 _io_lock,修复并发丢索引条目
进而引发连锁全量重建的隐患
|
2026-07-30 17:42:12 +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 |
|
|
|
42cd99d2d8
|
feat(windows): WSL2 沙箱执行环境与执行环境提示词平台拆分
- Windows 宿主机模式基于 WSL2 实现沙箱执行:只读/批准/自动审核识别、
工作区可写+区外只读挂载、网络档位(受限/开放/禁止)、敏感目录屏蔽
- 新增 scripts/setup-wsl-sandbox.ps1 一键准备 WSL 沙箱发行版
- 执行环境提示词按平台拆分骨架:prompts/execution_mode/macos.txt
(原 execution_mode.txt,mac/dockerweb 沿用)与 windows.txt
(骨架+动态注入环境与路径、当前规则、网络档位、切换一致性说明)
- Windows 执行环境切换通知改为完整命令写法说明(双向),mac 保持原样
- 附调研与 PoC 验证报告:wsl2-sandbox-research.md、
windows-sandbox-research.md、wsl2-sandbox-poc-report.md
|
2026-07-30 13:06:34 +08:00 |
|
|
|
a0ea599c05
|
fix(ui): 模型列表加载与工作区状态解耦
loadInitialData 先请求 /api/status 再拉取模型列表,未创建工作区时
status 503 导致 fetchModels 不执行、模型选择器为空。现将 fetchModels
提前到 status 请求之前,无工作区也能看到已配置的模型。
|
2026-07-29 23:21:13 +08:00 |
|
|
|
72f6a9e8e8
|
fix(host): 启动时不再自动创建默认工作区,改为等待用户手动创建
- host_workspace_manager 首次启动写入空配置,移除列表为空时自动播种
源码树 ./project 默认工作区的兜底逻辑
- resolve_host_workspace 无工作区时返回 None,get_user_resources 抛出
明确提示而非 500 崩溃
- host_login 允许无工作区登录,由前端引导用户创建
- 删除工作区不再强制至少保留一个,删光后回到空状态
- 工作区列表/删除接口适配空状态,清理 session 与全局指向
|
2026-07-29 23:21:06 +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 |
|
|
|
1cde84273b
|
fix(tools): view_image 移除 svg 支持
工具描述与执行层 allowed_ext 同步去掉 svg,调用 svg 返回不支持的图片格式
|
2026-07-29 11:45:22 +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 |
|
|
|
57352b28fb
|
feat(compression): 深度压缩提示词支持轮次/最新输入占位与运行时状态注入
|
2026-07-26 00:55:24 +08:00 |
|
|
|
64902b124a
|
feat(admin): 二级密码未配置时显示设置引导页,登录 Docker 报错改为原地弹窗
|
2026-07-25 16:52:42 +08:00 |
|
|
|
b78504c31e
|
fix(admin): 修复管理面板创建旧式命名孤儿容器,切除 app_legacy 旧架构死代码
|
2026-07-25 12:27:06 +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 |
|
|
|
a900d6cc61
|
fix(sidebar): 修复删除工作区不生效与控制台 TDZ 报错
- ConversationSidebar: immediate watcher 在 setup 阶段同步执行,却引用了
之后才声明的 isGroupByWorkspaceActive,触发 TDZ ReferenceError;
调整声明顺序并加注释防回退
- WorkspaceSwitcher: onDocClick 为捕获阶段监听,未排除 teleport 到 body
的二级菜单,点击菜单项(删除/重命名)会先关闭整个浮层,导致内联
确认框永远不可见、删除流程无法走完;补充 .ws-menu-floating 排除
- WorkspaceSwitcher: 删除确认按钮区靠右对齐
|
2026-07-23 21:55:14 +08:00 |
|
|
|
c6151e86fe
|
chore(prompts): 调整沙箱权限提示、ask_user 适用边界与 git 提交授权语义
|
2026-07-23 19:41:16 +08:00 |
|