Repository navigation
Releases
Releases · Minecraftbe/dsh-toolfold
v0.1.10
⚠️ 版本支持:自0.1.10起支持 DSH>= 0.1.2-rc.1 < 0.1.3 || >= 0.1.5-rc.1 < 0.1.6
(以package.json engines.dsh为准)。
功能变更
- 新增支持 DSH 0.1.5 系列:
0.1.5-rc.1上的版本不匹配警告消除。
缺陷修复
- 版本校验不再硬编码:支持区间以
package.json engines.dsh为唯一真相源(构建期注入产物);旧的写死单区间是0.1.5-rc.1误报感叹号的根因。console 警告与卡片 hover 提示改为直接引用 live 区间。 - 设置卡箭头换成官方图标:header 的
▾文字段落(字体相关、比官方粗)换成产品自己的IconChevronDownOutline14,取不到时回落为像素一致的内联 SVG。
Full Changelog: v0.1.9...v0.1.10
v0.1.9
⚠️ 版本支持:本节改动将随0.1.9发布;自0.1.9起,本插件仅支持 DSH>= 0.1.2-rc.1且< 0.1.3(安装节有同样提示)。
缺陷修复
- 折叠条行距对齐官方:
.ccxBar去掉上下3px透明内边距(padding:0)。条是无边框无背景元素,透明 padding 会被读成行间白边——实测每侧多出 3px(条↔行 30px、条↔条 33px,而官方行↔行字墨边距 27px = 流margin-top:16px+ 24px 行盒内字墨各 ~5.5px)。官方行本身零内边距,去掉后折叠条回到同一节奏。 - 思考行复活:答案流进曾被清空隐藏的思考行时自动恢复可见,不再误判为空行。
- 关引擎保留卡片样式:引擎规则与卡片 chrome 拆成两个 style 标签,停用折叠不再剥掉卡片外观。
- 压掉 16px 空带:隐藏思考的 wrapper 一并折叠,回答上方不再留空。
功能变更
- 思考显示三档下拉(自动跟随官方折叠 / 始终保留 / 始终隐藏,默认自动):原来自动开着时保留是个摆设,现在没有无效组合;老配置自动沿用,可回滚。设置卡与 README 已同步。
- 总开关:一键停用/恢复全部折叠(关闭后聊天回到产品默认显示,卡片常驻随时可重开)。
- 跟随官方 Compact 折叠:官方收起整块过程时思考自动保留可见(即下拉的默认档)。
- 版本不匹配警告:运行的 DSH 超出支持范围时,设置卡显示 ⚠ 图标(hover 看详情)并打一条一次性 console 警告。
- 适配 DSH 0.1.2:
settingsNamespace()helper 被移除,改用裸字符串命名空间;新增engines.dsh下限,删除dsh-settingspeer 依赖。
工程变更
- 浏览器半模块化:
lib/client.js(约 2244 行单文件)与字符串手术生成的lib/dynamic-body.js重构为src/client/下的模块源(settings/bridge/styles/engine/card/react-env/index),由 tsdown 构建(tsdown.config.mjs,与 host 半共三个 entry):lib/client.js(.map)—— 安装通道 loader 产物(window.__ModuleLoader__.load,经exports["./client"]加载),行为与旧文件一致;lib/dynamic-body.js(.map)—— 动态通道 body(同一模块图去掉 loader 包装),供动态插件会话与tools/live-probe.mjs使用;- React 不再静态导入:构建 wrapper 将通道提供的 React 种入
globalThis.__dshToolfoldReact(安装通道require('react')/ 动态通道闭包参数React),无 React 的无头环境仅跳过设置卡片注册。
- 构建期产物(删除旧生成器
lib/build-dynamic.cjs):lib/client.js/lib/dynamic-body.js(及.map)已 gitignore,由prepare: pnpm build(tsdown)重建——pnpm publish与 git-hosted 安装都会先跑 prepare 再打包,files白名单只含构建产物(lib/index.js、lib/client.js,不含 src / map)。package.json增加prepare/build/build:watch脚本与tsdowndevDependency。改动流程:只改src/→pnpm build→ 验证。 - host 半搬家:
lib/index.js→src/host/index.js(与src/client/对称;ESM,无需 scoped package.json),由 tsdown 第三个 entry(platform: 'node',schemastery保持 external)构建回lib/index.js——main/exports["."]/files指向不变。至此lib/下 100% 生成物,.gitignore收成一行lib/(源码层/产物层不再混放)。 - 工具去本机硬编码:
jsdom(29.1.1)与playwright(1.61.1)收为 devDependencies,tools/engine-smoke.mjs/tools/live-probe.mjs改按包名解析;live-probe 的 Chrome 路径改为CHROME_PATH环境变量优先,否则按平台取第一个存在的默认位置。pnpm install后test:engine/probe:live开箱即用。 - 新增
pnpm-lock.yaml:安装可重复。 - 发布管线:Publish 前加
pnpm install;dry-run 校验 +--provenanceOIDC 可信发布;发布条件收窄为仅 release 触发(取消手动发布);engines.dsh上限收窄到<0.1.3。
Full Changelog: v0.1.8...v0.1.9
v0.1.8
Fixed
- 修复运行时收起"先动一下再突然收起":当模型产生大量工具调用、且它们是最新信息时,run 在收起动画期间仍在增长。旧实现(自 0.1.3 起)假定行集合固定:折叠条点击闭包持有的是创建时的旧 run 快照,动画只覆盖原始行,随后按旧行数计时的完成定时器把整个增长后的 run 一次性合并,新流入的行瞬间消失。现点击改为操作当前 run(
bar._ccxRun)而非创建时快照;syncBars将动画期间新增的行折入同一瀑布(extendCollapse:rise 类 + 高度收缩 + 各自 stagger)并重排完成定时器(armCollapseFinish),最后一行动画结束才应用合并。(lib/client.js,lib/dynamic-body.js)
Changed
- npm 发布工作流增加 OIDC 权限(
id-token: write、contents: read),发布改用 OIDC 身份认证(移除NODE_AUTH_TOKEN环境变量),并禁用package-manager-cache。 package.json增加repository字段指向 GitHub 仓库。- 重构 README:重组章节(安装、快速开始、默认行为、功能、设置、性能、限制),新增"默认行为 – 首次使用"说明(为什么思考会消失、为什么调用默认分组,以及快速修复指引),补充安装方法与徽章,并同步翻译为
README.en.md。
Full Changelog: v0.1.7...v0.1.8
v0.1.7
Fixed
- npm 发布命令增加
--no-git-checks,跳过 pnpm 的 git 状态检查,避免在 CI 检出态下发布失败。
Changed
- 将发布工作流 Node 版本由
lts/*固定为24,与当前构建环境对齐。
Full Changelog: v0.1.6...v0.1.7
v0.1.6
Fixed
- 修复 WSL
bash工具在折叠后标题消失的问题。BashRow使用data-sample="bash"独立渲染,无data-disclosure-row,旧克隆逻辑回退到空的[data-tool]导致折叠条只剩计数。现按优先级克隆:[data-disclosure-row](通用ToolRow/pwsh)→[data-sample="bash"](Bash 头部)→[data-tool]首子 →lastRow.firstElementChild,并保持 120 ms 节流。(lib/client.js,lib/dynamic-body.js)
Changed
- 重构 npm 发布工作流
.github/workflows/npm-publish.yml:改为release.created触发,使用pnpm@11+setup-nodeLTS 并通过secrets.npm_token发布。