# 更新日志 本文件记录侧边助手(`side-assistant`,旧名 `dsh-side-assistant`)每一次发布里用户能感知的变化。 版本号遵循语义化版本:破坏性改动升次版本号,修 bug 升修订号。 格式参考 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),分类只有四种:**新增**、**变更**、**修复**、**文档**。 --- ## [0.15.2] - 2026-10-17 ### 变更 - **设置页从「设置 → 插件」里的标签页搬到「设置」左侧导航的独立一栏**,和「通用」「模型」「插件市场」 并列(`settings.section`,order 12,排在「模型」之后)。0.12.0 起它注册进的是 `settings.plugins.tab`—— 插件段内部的标签页,得先点进「插件」才看得见,确实太隐蔽。 - 页面本身没变(同一个组件、同一套样式表、同样的路由),只是入口位置不同;`settings.plugins.tab` 那条注册已移除,不会出现两个入口。 ## [0.15.1] - 2026-10-17 ### 变更 - **包名改回 `dsh-side-assistant`**,与仓库名一致(`dsh` 前缀也是 DSH 插件的生态惯例): `package.json` 的 `name`、`cordis.patch.yml` 的行 `id`/`name`、浏览器半区的插件 id 一起改名。 - 升级方式:profile 里的依赖键本来就是 `dsh-side-assistant`,所以只需在 `~/.dsh/profiles/web` 执行 `pnpm install`(把 `node_modules` 里的旧目录换掉)再重启 `dsh web`;本地目录安装的用户改一下链接键即可。 - 刻意**没有**改的东西(它们是身份,不是包名,改了会丢状态):HTTP 路由 `/side-assistant/*`、 提示片段名 `side-assistant:history|progress|style|jobs`、样式表与标签页 id、 设置文件 `~/.dsh/storages/side-assistant/settings.json`、自定义端点 provider `side-assistant-custom`。 --- ## [0.15.0] - 2026-10-17 ### 新增 - **看得见主会话的后台任务。** 新增系统提示片段 `side-assistant:jobs`(order 122,夹在历史摘要和进展块之间), 列出主会话的 job:正在跑的,加上最近十分钟内结束的,最多 8 条,一行一条(id、状态、命令、进度行、用时或结局)。 - **`side_assistant_read_job({job})`**:读一个 job 的输出尾部,最多 4000 字符,被裁会说明是尾部。 走 `readAt` 的绝对偏移,不动主 Agent 自己的读取游标。 ### 变更 - job 注册表按会话围栏,侧助手自己的 `job_list` 只看得见自己的任务,所以改由宿主以**主会话 id** 取, 再随 `agent/created` 一起挂到侧助手自己的工具层与提示片段上;注册表不存在时两者都静默缺席。 ### 文档 - 两份 README 新增「后台任务:job 与 shell 进程」一节,并写明边界:交互式终端不在 job 注册表里, 宿主也没有列举它们的服务;子智能体 job 会以 `subagent-N` 出现,但它的产出在子会话日志里,输出环是空的。 --- ## [0.14.2] - 2026-10-17 ### 变更 - 输入框占位符改为 `ask anything~`(原 `ask me anything you wanna know~`)。 --- ## [0.14.1] - 2026-10-17 ### 修复 - **思考中途新开助手看不到当前这一轮的思考链。** 历史摘要只读到最后一次 `turn/end`,进展块从「建会话之后」开始记, 于是「正在跑的这一轮里已经做完的步」两边都不覆盖。现在 `historyDigest()` 连同在途回合一起返回, 建会话时由 `seedProgress()` 折进新记录;并用 `seeding` 闸门 + `buffered` 暂存处理摘要读取期间新落的事件, 按 `seq` 补齐,不乱序、不重复。 --- ## [0.14.0] - 2026-10-17 ### 变更 - **包名由 `dsh-side-assistant` 改为 `side-assistant`**,Cordis 行 id、客户端模块 id、样式表与静态资源路径一并改名; 内部命名空间(`side-assistant:history` / `:progress` / `:style` / `:jobs`)与设置文件路径保持不变。 - 升级方式:在 `~/.dsh/profiles/web` 里把 `dsh-side-assistant` 的链接换成 `side-assistant` 再 `pnpm install`。 --- ## [0.13.2] - 2026-10-17 ### 修复 - **设置页在「设置 → 插件」里找不到。** 之前注册进 `plugins.item`,那是插件管理面板的子槽; 改注册到 `settings.plugins.tab`,与只读清单并排成一个标签页。 --- ## [0.13.1] - 2026-10-17 ### 修复 - **下钻工具一调用就整轮失败**:`Invalid schema for function 'side_assistant_read_steps': schema must be a JSON Schema of 'type: "object"', got 'type: null'`。 `ctx.tools.register()` 把定义原样交给注册表,只有 `defineTool()` 会编译属性表方言,所以 `parameters` 改写成裸 JSON Schema。 --- ## [0.13.0] - 2026-10-17 ### 新增 - **索引行**:每步一行 `[step 12] bash:node test✗, edit:client.js — 结论`(工具、目标、成败、结论), 时间线保留 200 行,额度跟随上下文预算。 - **`side_assistant_read_steps({from, to, query})`**:宿主还保留最近 400 步原文,按需下钻, 一次最多 40 步 / 8000 字,并说明自己实际读到第几步。 ### 变更 - 最新 5 步保留原文块(可在设置里改 1..50),更早的不再丢弃,改为一行索引。 --- ## [0.12.0] - 2026-10-17 ### 新增 - **设置页:设置 → 插件 → 侧边助手。** 模型三种模式(跟随主会话 / 指定宿主 provider+model / 自定义 OpenAI 兼容端点)、 API Key 走 credentials、真的发一次请求的「测试连接」、完整 step 条数、上下文 token 预算、简约/详细两种回答风格。 - 设置存成 `~/.dsh/storages/side-assistant/settings.json`,纯 JSON、无需重启、损坏或缺失时回落默认值。 ### 变更 - 曾经写死的常量(进度块数、时间线长度、历史摘要字数、想法与文本截断、工具条数)全部改由设置驱动。 --- ## [0.11.3] - 2026-10-17 ### 变更 - **进展不再只留最近 4 步。** 最新 5 步保留原文;被挤出窗口的步折成一行「`[step N]` 结论」进时间线 (上限 200 行 / 6000 字,超了从最早一行丢弃),回答「1 到 9 步都做了什么」时不再答「我只收到 4 步」。 --- ## [0.11.2] - 2026-10-17 ### 修复 - **回答下面的快捷卡片看不见。** `conversation.input.dock` 整槽被裁剪规则 `display:none` 掉了 (槽位外层是 `display: contents`,隐藏会连卡片一起藏),改为只隐藏该槽里不含卡片的子项。 ### 变更 - 仓库结构整理:插件位于仓库根目录,补 `.gitignore`。 --- ## [0.11.1] - 2026-10-17 ### 新增 - **回答下面的两颗快捷卡片**:`这个项目是在干什么?` / `agent 正在进行什么工作?`。 圆角矩形,挂在 `conversation.input.dock`,点一下等于自己打出来发出去(与输入框同一条 `conversation.send` 路径)。 --- ## [0.11.0] - 2026-10-17 ### 变更 - **侧栏不再显示主对话的记录。** 创建助手时不再把主会话已完成回合当 `seed` 复制过去(那是 fork 语义), 改为压缩成一段摘要,作为系统提示片段 `side-assistant:history`(order 120):它知道历史,但日志从开场白开始。 - 摘要挂载点从创建窗口移到 `agent/created`,否则冷恢复(只按描述符重建 persona 与工具过滤)之后会失忆。 --- ## [0.10.3] - 2026-10-17 ### 变更 - **删除按钮搬进下拉菜单**:每个「助手 N」行右侧一颗两字按钮(`删除` / `Delete`,跟随系统语言), 两段式确认(4 秒内不按第二下自动回退),失败显示 `删除失败` 并保留该行。 --- ## [0.10.2] - 2026-10-17 ### 变更 - **提示词全面英文化**:人格四条规则、进展块格式(`[step N]`、`did:` / `thought:`、`Conclusion:`)、 开场白(`hello`)与历史摘要抬头。 ### 修复 - `COMPOSITION_SINCE` 曾被写成未来时间,导致新建会话全被判「旧组合」;同时英文结论按 `.` 断句。 --- ## [0.10.1] - 2026-10-17 ### 新增 - `README.en.md`(英文版文档)与 `LICENSE`(AGPL-3.0);`package.json` 声明 `AGPL-3.0-or-later`。 ### 变更 - 中文 README 顶部加语言切换,末尾补「许可」一节。 --- ## [0.10.0] - 2026-10-17 ### 新增 - **删除助手**:删除即归档(`workspaces.archiveSession`,带 `stopActivity`),再关掉它所在的标签页; 归档后它不会出现在菜单里,`ensure({})` 也不会把它重新打开,仍可从工作区归档列表恢复。 --- ## [0.9.9] - 2026-10-17 ### 修复 - **提交后同时出现「进行中」和灰掉的发送按钮**:运行中且输入为空时两个按钮并排,改为只留停止键。 --- ## [0.9.8] - 2026-10-17 ### 变更 - 侧助手默认思考档位为 `off`(原来跟随主会话),回答更快、更省 token;需要时可在设置里改。 --- ## [0.9.7] - 2026-10-17 ### 变更 - 点按钮时**预加载**子会话(`/side-assistant/preload`),面板先出来,不用等第一次提问才恢复。 --- ## [0.9.6] - 2026-10-17 ### 变更 - 新建助手不再阻塞等开场白写完:先返回,问候语在后台补写(写完再释放 agent)。 --- ## [0.9.5] - 2026-10-17 ### 变更 - 进展摘要按「结论优先」重排:每块第一行是这一步的一句话结论,工具动作其次,想法原文最后。 - 注入侧助手的进展文本收紧,避免挤掉真正要聊的内容。 --- 更早的版本没有单独记录;`0.9.5` 之前的能力(面板、`session.follow` 进展条、持久化侧助手、不占子智能体名额) 已并入 0.9.5 及之后的说明与 README。