# 更新日志 (Changelog) ## v0.4.1 (2026-08-22) ### 修复 - **已归档会话无法「继续会话」**:官方工作区投影会在当前会话仍处于归档集合时清空选中,导致归档会话点「继续会话」后面板关闭但会话打不开。现在「继续会话」遇到归档会话会先走恢复(取消归档)并刷新工作区基线,再打开会话——设置页会话管理与对话顶部抽屉两处同时修复 - 抽屉入口现在也会注入工作区服务,用于恢复后刷新归档基线 ## v0.4.0 (2026-08-22) ### 新增 - **会话重命名**:会话行「更多」菜单新增「重命名」,输入新名称后写入日志中的 session/title 事件(来源 user,与官方重命名一致,自动标题不再覆盖)。运行中会话走官方 sessionTitle.rename;冷会话由 host 直接追加事件帧并同步持久投影缓存,侧边栏与列表标题即时更新、重启不丢 - **导出会话**:「更多」菜单新增「导出 Markdown」「导出 JSON」:Markdown 为可读对话记录(轮次 / 用户 / 助手 / 工具调用与结果),JSON 为无损事件日志(会话头 + 全部事件,含 seq/time);浏览器直接下载,文件名含会话标题与短 id - host 新增 POST /dsh-session-manager/rename、POST /dsh-session-manager/export 两条路由;导出复用官方 sessionPersistence.inspect(解码打包分片行、平衡视图),不修改日志 ### 工程 - 导出构建器为纯函数模块 src/export.ts,新增 13 个单元测试(共 16 个全部通过) ## v0.3.2 (2026-08-22) ### 新增 - **搜索与筛选**:会话管理面板顶部新增搜索框(按标题 / 工作目录实时过滤)与状态筛选(全部 / 运行中 / 未读 / 已归档),计数与空态随筛选联动 - **拖拽移动**:会话行可直接拖到目标工作区标题上完成移动(目标虚线高亮);运行中 / 已归档会话不可拖 - **批量移动**:勾选多个会话后点「移动到…」选择目标工作区一次性搬入;运行中的会话自动跳过并在结果提示中说明 - **移动到新工作区**:「移动到…」菜单新增「+新建工作区(会话所在目录)」,通过官方 `workspaces.create` 把会话原始目录注册为新工作区并移入 ### 工程 - 移动逻辑重构为静默原语 `performMove` + 提示包装,批量移动与单条移动共用,错误提示聚合展示 ## v0.3.1 (2026-08-21) ### 优化 - **设置页会话管理行布局**:行内仅保留「删除」按钮,继续会话 / 暂停 / 恢复 / 新聊天中继续 / 统计 / 文件夹 / 移动到… 全部收进「更多」菜单,会话名称不再被操作按钮遮挡 ## v0.3.0 (2026-08-21) > 公共发布版本:本分支 fork 自 [dream12347/dsh-session-manager](https://github.com/dream12347/dsh-session-manager)(MIT),在 v0.2.2 基础上新增「移动到工作区」并修复相关缺陷。 ### 新增 - **移动到工作区**:会话管理面板与对话管理抽屉的「更多」菜单新增「移动到…」,可把任意**非运行**会话移动到另一个已注册工作区;日志文件夹、会话头工作目录(cwd)与工作区记账同步更新,移动后立即生效、重启不丢(host 新增 `POST /dsh-session-manager/move-workspace` 路由) ### 修复 - **修复移动会话时报 `corrupt Zstandard session log`**:DSH 要求 zstd 日志**首帧恰好一行会话头**。此前把整个日志重写为单帧会被判定为损坏;现改为首帧只写会话头(`header + '\n'`)、事件帧独立写回,移动后会话可正常打开 - **修复移动失败回滚可能造成数据丢失**:回滚顺序改为**先把目录改名搬回原位置**,再恢复原始文件字节,绝不「先删目录再改名」(此前极端情况下会删掉日志目录) - 错误响应附带 `detail`(分步标签 + 堆栈),便于排查失败原因 ### 工程 - **公共可构建**:devDependencies 全部改为 npm 注册表版本范围(`^0.1.0-rc.6` 等),移除本机绝对路径的 `file:` / `link:` 依赖;任何机器 `pnpm install && pnpm run check` 即可构建 - README 增加「移动到工作区」「隐私与安全」「从 GitHub 安装」说明;未收录原作者截图(assets)与市场提交清单(market-submission),需要可自行补充 ## v0.2.2 (2026-08-20) ### 修复 - **macOS 打开日志目录**:在 macOS 使用系统 `open` 命令,不再错误调用 Linux 的 `xdg-open`;同时捕获文件管理器命令启动失败,避免未处理的 `ENOENT` 导致 DSH web 进程崩溃([#10](https://github.com/dream12347/dsh-session-manager/issues/10)) ### 致谢 - 感谢 [cmj799](https://github.com/cmj799) 提交 Issue [#10](https://github.com/dream12347/dsh-session-manager/issues/10),并提供清晰的错误日志、环境信息和修复建议 ## v0.2.1 (2026-08-19) ### 修复 - **修复非默认 Agent 预设下保存压缩阈值报错**:通过 DSH 官方 `agentPresets` 服务解析预设的真实 composition 文件路径;系统预设不再尝试写入只读安装目录,用户预设仍正常持久化([#9](https://github.com/dream12347/dsh-session-manager/issues/9)) ### 致谢 - 感谢 [Chen5173](https://github.com/Chen5173) 提交 Issue [#9](https://github.com/dream12347/dsh-session-manager/issues/9) 并提供详细的根因分析与复现信息 # 更新日志 (Changelog) ## v0.2.0 (2026-08-19) ### 修复 - **语言跟随 DSH 设置**:插件改用 DSH locale 服务判断当前语言并监听运行时切换,不再受浏览器语言或 `` 影响;同时移除批量删除结果中的硬编码中文([#5](https://github.com/dream12347/dsh-session-manager/issues/5)) ### 优化 - **官方按钮样式**:对话顶部按钮与 Session log 的尺寸、圆角和边框保持一致;设置页常规操作改用官方 `Button` 组件,并保留禁止换行与防收缩布局([#6](https://github.com/dream12347/dsh-session-manager/issues/6)) - **完整统计弹窗**:抽屉与设置页的统计信息统一改为屏幕中央弹窗,完整显示会话名、轮次、用户/助手消息、全部工具调用和活动窗口;支持关闭按钮、点击遮罩和 `Esc` 关闭,不再截断或依赖 tooltip([#7](https://github.com/dream12347/dsh-session-manager/issues/7)) ## v0.1.9 (2026-08-18) ### 修复 - 串行化删除、恢复、彻底删除与压缩阈值保存操作,避免多个浏览器页面同时操作时使用旧状态互相覆盖 - 删除过程中移动文件或保存回收站记录失败时,自动恢复会话文件与归档状态,避免会话从列表消失但未进入回收站 - 保存回收站条目时保留已配置的上下文压缩阈值,避免其他会话操作意外清除该设置 ## v0.1.8 (2026-08-18) ### 新增 - **对话管理抽屉「更多」菜单增加「删除」**:会话行三点菜单(统计 / 文件夹 / 新聊天中继续)新增红色「删除」项,运行中的会话禁用,与行内删除按钮一致(移入回收站) - **会话管理面板支持批量删除**:每行前增加勾选框(运行中 / 当前会话禁用勾选),面板顶部出现「全选」与「批量删除」操作条,一次确认后逐个调用删除接口,汇总成功 / 失败数量,失败时列出失败会话标题;删除后刷新回收站与官方列表 - **工作区级全选**:会话管理面板中每个工作区(对话分类)标题旁新增勾选框,点击一次即选中该工作区下的全部可选会话(运行中 / 当前会话除外);支持半选(indeterminate)状态,与「全选」按钮和每行勾选联动 ### 优化 - 移除对话头部冗余的「回收站」按钮(「对话管理」按钮已能打开抽屉并定位回收站) ### 致谢 - 感谢 [DoggyHU](https://github.com/DoggyHU) 的贡献:批量删除、工作区级全选、更多菜单删除项与头部按钮清理(PR [#4](https://github.com/dream12347/dsh-session-manager/pull/4)) ## v0.1.7 (2026-08-18) ### 修复 - **子代理会话可删除**:放开子代理会话删除限制,非运行中的子代理会话(包括主会话已删除后遗留的「孤儿子代理」)均可删除;运行中的会话仍受保护不可删除 - **修复 `invalid-session-id` 报错**:官方会话 id 有三种形态(`session-` / `session-<数字>` / 子代理纯 UUID),此前路由只接受第一种,导致子代理会话删除与打开文件夹失败,现已全部支持 ## v0.1.6 (2026-08-16) ### 新增 - **未读 / 已读标记**(共享 `dsh.session-unread.v1` 格式):会话行标题旁显示状态点——手动未读为蓝色、官方等待输入为琥珀、官方完成提醒为绿色、运行中为转圈;点击官方状态点就地标记已读(不跳转),点击蓝色点清除未读,打开会话自动已读;官方侧边栏对应会话行旁同步显示蓝色未读点 - **新聊天中继续**:每个会话一键 fork 子会话(官方 sessions.fork)并打开 - **抽屉「更多」菜单**:统计 / 文件夹 / 新聊天中继续收进悬浮菜单,行内更简洁 - **压缩阈值全局生效**:设置对所有 Agent 预设的会话统一生效(保存即时 + 持久化 + 重启自动应用) ### 修复 - 修复插件加载崩溃(ctx.effect 回调中的 TDZ 时序问题) ## v0.1.5 (2026-08-16) ### 新增 - **上下文压缩阈值**(通用设置):设置对话上下文用到模型窗口(100 万 token)的多少比例时自动压缩(17%–90%)。每次压缩保留最近 16% 原文、其余折叠为摘要;保存后立即生效(含已打开的会话),并持久化到 Agent 预设,重启后依然有效;滑块两端与中间显示刻度(17% / 53% / 90%) ### 修复 - 会话管理面板行操作按钮(继续会话 / 暂停 / 统计 / 文件夹等)补齐边框样式 - 「删除」「彻底删除」按钮改为红色标识 ### 变更 - 仓库与插件更名为 **dsh-session-manager**(原 dsh-delete-session),于 2026-08-16 改名,与插件当前定位(会话管理 + 工作区管理 + 压缩阈值)一致 ## v0.1.4 (2026-08-16) ### 新增 - **工作区分组**:会话按工作区分组展示,组内按最后使用时间排序,可切换「最新在前 / 最旧在前」 - **拖拽调整工作区顺序**:拖动工作区标题即可排序——放到某个工作区上方/下方插入、拖到标题上交换位置、拖到列表末尾即移到最底部 - **工作区操作按钮**:悬停工作区标题显示「置于顶部 / 重命名 / 删除」;删除按官方定义:仅从工作区列表移除,文件夹与会话记录保留,其会话归入「未分组」,确认弹窗二次确认 ### 变更 - 「未分类」更名为「未分组」,与 DSH 官方命名一致 ## v0.1.3 (2026-08-15) ### 新增 - **统计**:每个会话可展开查看近期活动统计(轮次 / 用户消息 / 助手消息 / 工具调用 Top5 / 活动窗口) - **继续会话**:一键打开会话并关闭面板,直接进入对话(运行中的会话禁用) - **暂停**:停止正在运行会话的当前回合(仅运行中的会话显示该按钮) - **文件夹**:在系统文件管理器中打开会话的日志目录 - **删除本对话**:对话顶部右侧新增红色删除按钮(Session log 左侧),一键删除当前对话 - **对话管理 / 回收站**:对话顶部新增两个入口,打开自绘右侧抽屉(会话列表 + 已归档 + 回收站),支持图钉固定常驻、点击外部自动收起 - **已归档会话支持恢复**:一键取消归档,回到会话列表 - 回收站条目显示删除时的会话名(不再显示会话 id 长串) - 会话标题与路径悬停显示完整内容 ### 变更 - 删除限制调整:仅禁止删除「正在思考」的会话;当前打开的会话(空闲)可以删除 ## v0.1.2 (2026-08-15) ### 新增 - **回收站**:删除会话改为移入回收站(保留最近 10 条,超出后自动彻底清除最早一条),可在回收站中**恢复**或**彻底删除** - 回收站条目显示删除时间,支持中英文 ## v0.1.1 (2026-08-14) - 修复:会话计数只显示活跃行数,不再显示包含归档/已删除会话的总数(如「2 个会话」代替「2 / 6 个会话」) - 优化:删除成功/失败提示在 3.5 秒后自动消失 ## v0.1.0 (2026-08-14) - 初始发布:设置页新增独立的「会话管理」分栏 - 支持彻底删除会话(日志与记录一并清除),已归档会话在底部折叠区单独分组,均可删除 - 运行中 / 当前 / 子代理会话自动禁用删除,避免误删 - 已删除会话 id 记录在浏览器 localStorage,避免 live 会话删除后刷新「复活」 - 中英文界面自适应(跟随页面语言)