# Changelog > 中文 · [English](CHANGELOG.md) 本项目版本遵循 [Semantic Versioning](https://semver.org/lang/zh-CN/)。 仅记录用户可见的功能性改动(不记录文档、代码重构、构建/工具链调整)。 **记录规则**: - 分类固定为 **Breaking(破坏式变更)→ Added(新功能)→ Fixed(修复)** 三种,按此顺序排列; 记录时若该改动归属的分类不存在,则**添加分类**;若某分类下没有任何记录,则**删除分类**。 - 某个功能在当前版本加入时,只在 **Added** 记录一次;**同一版本内**对该功能的修复 **不再记入**(那是构建该功能的一部分,不是对已发布行为的修复)。 - **Fixed** 只记录对**历史版本**已有功能的修复。 - **dsh 版本适配**:升级适配某个 deepseek-harness 版本时,在对应版本的 **Added** 加一条 「适配 deepseek-harness `<版本>`」,说明迁移内容(依赖 / 符号 / API 变更)。它表达 「该插件版本已验证支持该 dsh 版本」,与[兼容性对照表](docs/compatibility.zh.md)互补—— 表记「哪个插件版本 ↔ 哪个 dsh 版本」的组合,CHANGELOG 记「这次适配改了什么」。 - **不写操作介绍**——一条改动只写功能说明,并链接到[使用文档](docs/usage.zh.md)对应章节 (链接精确到标题)。用法说明放在使用文档里,不放进 CHANGELOG;若文档还没有该功能, 先补进文档,再引用。 - 未发布的改动写入顶部 **`## NEXT_VERSION`** 块;发版时执行 `npm run changelog:release -- <版本号>`——脚本会把 `NEXT_VERSION` 改名为 `[<版本号>] - <日期>`, **不新增** `NEXT_VERSION`(开发空窗期不留空块)。写入改动时先检查是否存在 `NEXT_VERSION` 块——没有就先添加一个,再在块下记录新改动。 ## [0.12.0] - 2026-09-06 ### Added - **AI 解决 Git 冲突**:推送拦截与更新冲突的确认弹窗新增「AI 解决」按钮——在冲突工作区 新建对话,把冲突笔记的本地版/基线/远端版提交给 AI 做语义合并(无法确定的合并点会向 你提问);完成后 AI 经 dsh 原生审批面板请求推送,确认后才覆盖远端。详见 [docs/ai-conflict.md](docs/ai-conflict.md)。 - **笔记搜索**:笔记管理器顶部栏新增搜索框——跨全部工作区的全文搜索(标题 + 正文、 大小写不敏感;空格分隔多关键词,AND 组合)。结果按工作区分组,展示命中行片段与 关键词高亮;点命中行在编辑器中打开笔记并定位到该行、关键词处于选中态。见 [docs/usage.zh.md §2「搜索笔记」](docs/usage.zh.md#搜索笔记)。 - 设置面板的 Git 模式下拉改为 dsh 官方风格自定义菜单(portal 弹层、勾选行、 外点/Esc 关闭),替代 OS 原生 select 弹出;文本输入框边框与聚焦样式对齐 harness 设置表单。见 [docs/usage.zh.md §6](docs/usage.zh.md#6-设置面板)。 ### Fixed - 修复网络较慢时「保存笔记卡十多秒」:打开管理器时各工作区的 Git 状态请求原为并发 (共享仓库下服务端本就串行,并发只是空占连接),加上自动拉取,网慢时占满浏览器同源 连接池,保存请求被迫排队。现改为逐个串行获取状态,保存不再被 Git 请求阻塞。 - 修复「合并远端并重试」合并冲突后 Git 仓库克隆永久卡死的问题(MERGE_HEAD 未清理导致 后续所有同步报错);现在会自动中止残留合并并恢复可用。 ## [0.11.0] - 2026-09-04 ### Breaking(破坏式变更) - 移除从未被使用的 `gitSuggest` API 方法(及其 client 封装):插件内无任何 调用方,且它向任意调用者暴露工作区路径。 - 移除 `route` 配置项。HTTP API 前缀在前后端都固定为常量 `/plugins/md-notes`: 前端本就硬编码该值,覆盖后端前缀只会断开前后端链接。 已有配置里的 `route` 键不会导致加载失败(schemastery 放行未知键,值被忽略)。 ### Added(新功能) - 新增 `checkUpdate` 配置(默认 `true`):设为 `false` 后 host 不再访问 registry.npmjs.org——离线/受管部署下,此前的版本检查是无条件外呼。 ### Fixed - 修复 Git 新设备(或新 clone + 空笔记目录)首次同步两条缺陷:① 拉取不生效——「本地 缺失」被误判为「本地已改」而跳过复制,自动拉取还被「远端无新提交」短路,远端笔记 拉不下来;② 此时推送会在**无确认**的情况下镜像清空远端全部笔记。现在首次同步前 基线视为空(同步标记持久化在 clone 的 `.git/` 内,不入库):首次拉取把远端笔记全部 带下来,首次推送以「远端有更新」拦截并要求确认。 - 修复侧边栏底部多个入口互相挤压/溢出([#2]):dsh 的 `.footerActions` 把 `width:100%` 的子项(默认自带的 cordis 入口与笔记入口)排在同一不换行行内。 插件现以 `[data-slot]` 锚点规则改为纵向堆叠——只加一条自己持有、卸载自动 移除的 `