Dreaming:用实测闭环提高 DSH Skill 的「意识强度」

前言

在 DeepSeek Harness(DSH)里,Skill 靠描述告诉模型「我能做什么」。实际开发里常见的情况是:描述写得像能覆盖整类任务,正文却只实现一部分;或者描述太宽,模型不该加载时也加载,整段正文变成上下文成本;又或者描述太窄,模型绕开 Skill 自己重做,反而更费 token。这些教训往往只留在当次对话里,不会写回 Skill 文件。

下面介绍社区插件 Dreaming(puppetcat-fire/dsh-plugin-dreaming)。它定位是能力自模型(capability self-model)全局插件,带 Host 与 Web 面板;不是单纯记日志,而是对每次 Skill 加载做预测、在回合结束后对照现实做判定,并把观测结果注入模型上下文,必要时在夜间安全地修正描述与能力边界。

这是什么

  • 名称:Dreaming(包名 dsh-plugin-dreaming,版本 1.0.0,MIT 许可证)
  • 维护者:puppetcat-fire(package.json 作者为肖博仁)
  • 分类:工作流(社区目录 SkillHub)
  • 一句话:在执行 Skill 之前,用 cheap 模型调用预测「这次加载是否合适」;记录加载后的真实轨迹;回合结束 judge 预期与现实;维护每个 Skill 的能力信念与意识强度分数;使用前注入实测信息;定时「做梦」修正描述(备份、日志、可回滚)。

DSH 生态是「一切皆插件」;SkillHub 为独立社区目录,与 DeepSeek / 幻方无官方从属关系。

核心功能

闭环可以概括为:测量 → 判定 → 写入边界 → 再测量。指标侧重意识强度上升与浪费 token 下降,而不是日志条数。

Probe:加载时并发预测

在 tools/pre-execute 中登记 episode,并并发发起受预算约束的 LLM 调用。默认 probe.mode = 'inline'(直接 ctx.llm.stream,不建子会话、不污染对话历史)。结构化预测包括:fit(0–1)、expected_use、success_signals、likely_pitfalls、capability_gap、cheaper_alternative。需要更强观察者时可选 probe.mode = 'subagent'(成本更高)。

观察与 Judge

tools/result 记录 Skill 加载;session/event 从加载点收集有界轨迹(assistant 文本、工具调用、用户纠正、turn/end),窗口受 observe.maxTurnExtensionMs / observe.maxEvents 限制。回合结束后 judge 产出 score、verdict(matched / partial / missed / misapplied)、根因、reusableRule、cost.wastedEstimate 等。

能力信念与意识强度

每个 Skill 持久化加载次数、判定分布、fit 历史、成本与学到的边界。综合分 consciousness 由 fitAccuracy、boundaryAccuracy、precision 加权;另有 wasteRate 与按判定样本数划分的 confidence(样本不足时标为 low,不给出虚假高分)。

注入:使用前给出实测

  1. 系统提示中的 Dreaming · capability awareness 段落(有足够证据时,最多 prompt.maxSkills 行)。
  2. Skill 结果末尾注解(≤ prompt.annotationMaxChars):历史指标、本次 probe、学到的「不要用于 / 前置条件」。

模型在读完 Skill 正文之后、动手之前看到上述内容。

Dream:夜间修正描述

默认 dream.time 为本地 03:30,从近期不匹配案例构造 dream pack,经确定性校验后,仅对白名单来源(默认 user-dsh、user-agents)的用户级 Skill 落盘修改;内置 Skill 主要通过 guidance overlay 改进。dream.autoApply 默认为 false,只记建议;显式打开后才自动改文件。能力边界段落使用 <!-- dreaming:begin --> … <!-- dreaming:end --> 标记,重复做梦只替换标记内内容。

Web 面板

Settings → Dreaming · 意识强度:总览、技能表、最近调用、梦境日志与回滚、「立即做梦」。配置项默认值见仓库 lib/config.js;插件不导出可编辑 volatile 字段,Settings 里为只读观测页。

安装与启用

要求:Node.js ≥ 22,DSH ≥ 0.2.1-0(见 engines.dsh)。运行时包由 Harness 提供,无需单独安装 @deepseek-ai/dsh-tools 等 peer 依赖。

插件通过 GitHub 分发。在 Harness Plugins 页面粘贴仓库地址:

https://github.com/puppetcat-fire/dsh-plugin-dreaming

或在 CLI:

dsh plugin --profile <profile> add git+https://github.com/puppetcat-fire/dsh-plugin-dreaming.git

安装后对 profile 下所有会话生效,重启 Harness 后仍生效。卸载:Plugins 页面移除,或 plugin_manager(action="remove_bundle", target="dsh-plugin-dreaming")。

典型配置

配置写在 profile 的 cordis.patch.yml(或 home patch)。示例:对部分任务采样 probe,并打开夜间自动落盘(仍带备份与回滚):

- id: dreaming
  config:
    probe:
      sampleRate: 0.5
      attachDeadlineMs: 1200
    dream:
      time: '04:10'
      timeZone: Asia/Shanghai
      autoApply: true

常用开关包括:enabled、probe.enabled / probe.sampleRate、judge.enabled、prompt.awarenessSection / prompt.annotateSkillResult、dream.enabled / dream.scoreThreshold(默认 78)、dataDir(空则 $DSH_HOME/dreaming)。完整键与默认值见官方 README 配置表。

适用场景与注意

适合谁:长期维护较多 Skill、希望减少「看错描述就加载」的 token 浪费,并愿意让系统在本地积累判定、可选夜间改描述的团队或个人。

成本:默认下每次 Skill 加载约一次 probe 与一次 judge;面板会展示探针+判定开销与估算避免的浪费,便于调整 probe.sampleRate 等。

权限与安全:插件以当前 DSH 进程权限运行,会调用当前配置的模型 provider 做 probe/judge,数据落在 $DSH_HOME/dreaming/。安装前应阅读源码与 MIT 许可证,确认 dream.autoApply、可编辑来源与本地 loopback API 边界符合你的信任模型。任何 dreaming 失败不应拖垮 Skill 调用或 Host;存储不可用时可退化为内存运行。

限制摘要:bundled / project 等不可编辑来源不会改文件;judge 分数是相对信号;dream.autoApply 默认关闭;符号链接路径上的 SKILL.md 拒绝落盘修改。

结尾

Dreaming 把 Skill 描述从「静态声明」拉成可测量的能力自模型:加载前预测、回合后判定、使用前注入、夜间可选修正,并强调低样本时不装出高置信。目录页与源码:

  • https://www.skillhub.cn/plugins/puppetcat-fire/dsh-plugin-dreaming
  • https://github.com/puppetcat-fire/dsh-plugin-dreaming

中文说明见仓库 README.zh.md;架构细节见 ARCHITECTURE.md。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜