mirror of
https://github.com/deepseek-ai/deepseek-harness
synced 2026-08-15 21:04:50 +00:00
Two-package capability family mirroring session-persistence/: - dsh-settings: abstract Settings service — namespace registry with caller-fiber effect registrations, layered resolution (schema defaults < composition base < user document), schemastery validation, per-namespace deep-equal commit detection, and the settings/updated event. Boot/registration validation fails loud; provider publishes keep last-good per namespace. - dsh-settings-local: settings.yaml/.json provider — resolveSpec defaulting to $DSH_HOME/settings.yaml, chokidar hot reload, content-equality self-write suppression, atomic 0600 tmp+rename writes, comment-preserving YAML namespace patching. Consumers register inside ctx.inject(['settings'], …), so every composition works unchanged without a mounted provider. Real Loader + Include composition test proves cordis.yml boot and external-edit hot propagation; HMR disposal test proves registry cleanup. Both packages hold per-file 100% coverage. Doc budgets rise 1705→1710 (AGENTS.md) and 835→845 (packages/README.md): one structural line per file for the new package group. Agent Note: .agents/notes/implemented/architecture/2026-07-28-user-settings-seam.md
893 B
893 B
settings/ — 用户设置能力族
English | 中文
用户设置 seam 及其 provider。接口包拥有抽象 Settings 服务——namespace 注册、分层解析与变更提交;provider 实现原始文档存储并把外部修改推入 seam。全部为产品包。
| 包 | 角色 | ctx key |
|---|---|---|
settings/ |
设置 seam:namespace 注册表、分层解析、提交事件 | ctx.settings |
settings-local/ |
文件 provider(settings.yaml/.json),热重载与保留注释的写回 |
(注册 ctx.settings) |
接口位于 settings/settings/;provider 平级并列。网络配置中心 provider(例如 nacos 类后端)加入本组并注册到 ctx.settings。组合配置仍留在 cordis.yml:settings namespace 只承载用户可编辑子集,解析顺序为 schema 默认值、注册方的组合 base、用户文档。