本次发布共 118 个提交,是家族成员构成发生变化的 0.4.0:18 项新功能、37 项修复、63 项其他改动。
重要变更:版本号从 0.3.x 进入 0.4.x,因为家族成员构成变了,但没有需要手工迁移的破坏性改动。皮肤集合、宠物插件与社区插件索引正式迁出为三个独立仓库并各自发版(本次三个仓库都发布了
0.3.25,修掉了0.3.x家族包在 0.1.7-rc.1 宿主上因仍注入已退役的settingsScope而无法激活的问题),本仓改为通过 npm 包内置它们。聚合包的行 id 与旧 subpath 导出(./pet、./skin-center、./community-plugins)保持不变,并以 tombstone 形式继续导出,旧 profile 仍可解析,不会抛ERR_PACKAGE_PATH_NOT_EXPORTED。dsh-doctor与dsh-tool-describe-image按所有者方向退出家族,两个包各自保留 tombstone subpath 导出,旧 profile 退化为惰性插件而不是启动失败。市场站不再从工作树读取皮肤/宠物内容与社区索引,改为按market-inputs.lock.json固定的提交拉取,并校验线上部署的资产。宠物、皮肤中心与社区索引自身的改动记录在这三个仓库的 release notes,不重复列在本篇。
新功能
- [aggregate] 把迁出的卫星插件挂载为 npm 外部行,旧 subpath 以 tombstone 保留
- [market] 固定皮肤/宠物内容与社区索引的来源提交,并校验线上部署资产
- [packages] 为每个家族插件提供独立列表图标
- [packages] 把 DSH 宿主声明为家族 peer 依赖
- [usage] 在侧边栏设置入口行下方新增可折叠的余额速览卡片
- [liangshen] 熔断阈值随推理强度自适应并新增灵敏度预设
- [liangshen] 在插件设置中暴露熔断阈值
- [liangshen] 默认 wire 改为 both,引入运行时熔断与事实账本(V4.1)
- [liangshen] 出厂预设呈现默认改为 ptc
- [liangshen] 限定巡检范围,并在人格纪律上强制主动收敛
- [market] 工坊的站外链接改用官方侧边栏浏览器打开
- [remote-web-ui] 面板名册在被拒绝的撤销请求下保持权威
修复
- [e2e] 家族 tarball 覆盖目录只覆盖本仓 workspace 构建的包
- [test] 容忍
packages/skins根目录缺失(新克隆里它不存在) - [ci] 卫星依赖按语义化范围而非精确版本解析
- [sidebar] 余额速览移入设置入口行上方并共用脚部行
- [host] 所有远程 fetch 请求 identity 编码
- [market] 修复 alpha.2 宿主 fetch 下的工坊安装
- [aggregate] 去掉 alpha.2 宿主不再挂载的行上的 retire 覆盖
- [liangshen] 在 createRequire 之前解析 dsh shim,并给宿主相关基准用例加门禁
- [deps] 清理 14 个 Dependabot 告警
- [web-all] 在没有活动视觉的安装里锁定视口根节点
- [scripts] 阻止 dsh-skin 与挂载冒烟删除宿主真实的 DSH home
- [task-board] 宿主应用清理时只删除 scratch home
- [settings] 优雅渲染表单字段,并抑制未暴露插件的横幅
- [market] 在
renderChildrenWhenNotExposed下隐藏 notExposed 横幅 - 修复工坊命名空间缺失、流式渲染闪烁与梁神恢复目标
- [liangshen] v4 会话兼容改用生产者持有的 source kind
- [settings] 修复 0.1.7 设置表单上的壁纸与主题保存
- [settings] 导入 Host 孤立的上一 cohort 家族设置分区
- [remote-web-ui] 收敛主机与浏览器两半的剩余审计问题
- [remote-web-ui] 修复策略关闭时的凭据绕过并收敛配对面
- [remote-web-ui] 通道门禁改为无条件,覆盖侧边栏 agent-opens socket
- [remote-web-ui] 应用落地改一次性授权,宿主模式由服务端授权
- [desktop] 从暂存运行时载荷中移除 CI 的 pnpm store 记录(#1669)
- [liangshen] 按 V4.1 的 384K 最大输出校准熔断阈值
- [market] 遥测窗口改用按日汇总
- [liangshen] 支持双向杠杆拖拽并同步 hero 预设 chip
- [doctor] 按 alpha.2 诊断形状归因启动失败
- [settings] 把家族卡片安置进 alpha.2 的 bundle-configuration 槽位
- [sidebar] 入口行与 shell 面板行对齐并移除多余用量行
其他改动
- [refactor] 改为消费迁出的插件,而不是在本仓继续携带它们
- [refactor] 插件管理器只保留官方插件页不拥有的能力
- [refactor] 模型能力插件移除官方 Models 页已内置的图像输入编辑器
- [refactor] 会话归档接管官方 archived-sessions 设置项
- [ci] 挂载冒烟改为从本次检出打包家族 tarball
- [test] 把每个家族的 DSH 下限钉到声明的 cohort 下限
- [test] 包移除后下调测试标准违规基线
- [docs] 贡献文档指向三个卫星仓,门禁清单不再提及已移除的脚本
- [docs] 发布准备清单、架构图与 PR 模板同步到拆分后的现实
English
118 commits: 18 new features, 37 bug fixes and 63 other changes. This is 0.4.0 because the family changed shape.
Important change: the version moves from 0.3.x to 0.4.x because the family's membership changed, but there is no breaking change that needs a manual migration. The skin collection, the pet plugin and the community plugin index moved into three independent repositories that version on their own (all three released
0.3.25here, which fixes the defect that kept the0.3.xfamily packages from activating on a 0.1.7-rc.1 host: they still injected the retiredsettingsScopeservice), and this repository now consumes them as npm packages. The aggregate keeps its row ids and its old subpath exports (./pet,./skin-center,./community-plugins) as tombstones, so an existing profile still resolves them instead of throwingERR_PACKAGE_PATH_NOT_EXPORTED.dsh-doctoranddsh-tool-describe-imageleft the family by owner direction; each keeps a tombstone subpath export, so an old profile degrades to an inert plugin instead of failing to boot. The market no longer reads skin or pet content, or the community index, from a working tree: it reads the commits pinned inmarket-inputs.lock.jsonand verifies the assets deployed to the site. The pet, skin-center and community-index changes are recorded in those repositories' own release notes and are not repeated here.
New Features
- [aggregate] mount the extracted satellites as npm rows, keeping the old subpaths as tombstones
- [market] pin the skin and pet content and the community index to committed sources, and verify the deployed assets
- [packages] give every family plugin its own listing icon
- [packages] declare the DSH host as a family peer dependency
- [usage] add a collapsible balance glance card below the sidebar Settings row
- [liangshen] make circuit breaker thresholds adapt to reasoning effort, with a sensitivity preset
- [liangshen] expose the circuit breaker thresholds in the plugin settings
- [liangshen] default the wire to both, and ship the runtime circuit breaker and fact ledger for V4.1
- [liangshen] switch the shipped preset presentation to ptc by default
- [liangshen] bound inspection and enforce active convergence in persona discipline
- [market] open the Workshop's external links in the official sidebar browser
- [remote-web-ui] keep the panel roster authoritative when a revoke is refused
Bug Fixes
- [e2e] let the family tarball override cover only the packages this workspace builds
- [test] tolerate a missing
packages/skinsroot, which a fresh clone does not have - [ci] resolve satellite dependencies by semver range instead of exact version
- [sidebar] seat the balance glance above the Settings entry row and share the foot row
- [host] request identity encoding from every remote fetch
- [market] keep Workshop installs working on the alpha.2 host fetch
- [aggregate] drop the retire override on a row the alpha.2 host no longer mounts
- [liangshen] resolve the dsh shim before createRequire and gate the host-bound benchmark cases
- [deps] clear the 14 open Dependabot alerts
- [web-all] lock the viewport root for installs with no active visual
- [scripts] stop dsh-skin and the mount smoke from deleting the host's real DSH home
- [task-board] delete only the scratch home in the host-apply teardown
- [settings] render form fields gracefully and suppress the banner for unexposed plugins
- [market] hide the notExposed banner under
renderChildrenWhenNotExposed - resolve the missing workshop namespace, the streaming flicker and the LiangShen restore target
- [liangshen] use the producer-owned source kind for v4 session compatibility
- [settings] fix wallpaper and theme saving on the 0.1.7 settings forms
- [settings] import the pre-cohort family settings sections the Host orphans
- [remote-web-ui] close the remaining audit findings across the host and browser halves
- [remote-web-ui] close the policy-off credential bypass and bound the pairing surfaces
- [remote-web-ui] make the channel gate unconditional and cover the sidebar agent-opens socket
- [remote-web-ui] make app landing a one-time grant and host mode server-granted
- [desktop] strip the CI pnpm store record from the staged runtime payload (#1669)
- [liangshen] calibrate circuit breaker thresholds against V4.1's 384K max output
- [market] serve telemetry windows from per-day rollups
- [liangshen] support bidirectional lever drag and sync the hero preset chip
- [doctor] attribute boot failures against the alpha.2 diagnostics shapes
- [settings] seat the family cards in the alpha.2 bundle-configuration slot
- [sidebar] align entry rows with the shell panel rows and drop the extra usage row
Other Changes
- [refactor] consume the extracted plugins instead of carrying them here
- [refactor] keep only the capabilities the official plugin page does not own
- [refactor] drop the image-input editor the native Models page now ships
- [refactor] take over the official archived-sessions settings entry
- [ci] pack the family tarballs from the checkout for the mount smoke
- [test] hold every family DSH floor to the declared cohort floor
- [test] ratchet the violation baseline down after the package removals
- [docs] point the contributor docs at the three satellite repositories and drop the removed scripts from the gate lists
- [docs] sync the release checklist, the architecture diagram and the pull request template with the split