Skip to content

[feat] 支持 DSH 0.1.7 接缝线:settings 集成从 installSection 迁移到 SettingsForms #174

Description

@ranxianglei

来源: Tyan66666/billion-context-dsh#173(DSH 0.1.7 移除 dsh-settings.installSection 后 ACP 设置节注册抛 TypeError)分析该问题时发现:#173 的修复只做优雅降级(能力探测 + warn),把 0.1.7 线纳入支持范围是独立的接缝线移植任务。

背景

  • dsh-settings 0.1.7 全线(alpha.1 / alpha.2 / rc.1 已逐一核验 npm 产物):服务类 SettingsProvider → SettingsForms,installSection(owner, ns, schema, entry, hooks) 被移除。新公开 API:configure / describe / update / replace / mutate,按 profile entry id 寻址,可编辑字段由 schema 上的 meta.volatile 决定;~/.dsh/settings.yaml 不再存在(启动时改名 .imported,经 LEGACY_SECTION_ENTRIES 映射导入 profile entries——映射表只含 ui-developer-tools / ui-onboarding / shell,compaction-acp 落回同名 entry id)。
  • SettingsConflictError 在 0.1.7 仍导出(lib/index.js:163),revision 冲突路径可沿用。
  • 我们的 peer 区间 >=0.1.5-alpha.1 <0.1.6-0 排除 0.1.7;[bug] DSH 0.1.7 移除 dsh-settings.installSection 后 ACP 设置节注册抛 TypeError(启动 error) #173 修复后超区间安装干净降级(一条 warn,六键走组合行)。本 issue 是把 0.1.7 线正式纳入支持。

工作项

  1. 按 house rule 逐缝核验 0.1.7 线的其余四个接缝(dsh-compaction / dsh-session / dsh-llm / dsh-tools)——先验证再拓宽区间(docs/dsh-porting-verification.md 流程),重钉 tests/peer-range.test.ts。
  2. settings 集成移植到 SettingsForms 语义:section 以 profile entry id(compaction-acp,即 bundle patch 行)为键而非插件注册 namespace;六个键需要 meta.volatile schema 标注才会出现在表单;读写走 describe()/update()/replace() + revision 冲突处理。
  3. 决定六个键在 0.1.7 下的组合行承载方式(settings.yaml 已消失;legacy import 对未知 section 名落回 entry id 同名键)。
  4. 显式区间拓宽 peer range(永不 caret)、移动 devDep 基线、跑全量测试 + e2e。

不做的影响

DSH 升到 0.1.7 的用户引擎本体与四个工具正常可用,但失去六键运行时热调(只能改组合行 + 重启),启动日志有一条 warn 说明现状(#173 修复提供)。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions