dsh-tool-meta:自进化元认知引擎

前言

在 DeepSeek Harness(DSH)里写智能体,工具调用失败是常态:参数不对、依赖缺失、权限不足,或者环境策略直接拒绝。常见做法是人工总结、贴到文档里,下次再靠人工检索复用。这中间有两个问题:一是失败日志散落在不同会话里,难以全局回顾;二是人工沉淀耗时,容易变成“写完就忘”。

dsh-tool-meta 是一个跑在 DSH 官方接口上的插件,通过观测 tools/result 事件,把工具调用失败记录为教训,自动沉淀成 SKILL 文件,并在下次会话时自动继承(滋养)。整个流程不引入私有格式,产物是标准 SKILL 文件,可直接被官方 skill-filesystem 发现和使用。

核心功能

自学习闭环

dsh-tool-meta 将演化算法的四个算子映射到 DSH 官方 seam 上:

  • 变异:从 tools/result 事件中提取失败,用规则模板分类,生成教训。
  • 选择:记录 trials(复发次数)和 successes(被复用后验证),只保留有价值的教训。
  • 遗传:通过能力盘和 meta_search 关键词检索,把教训传给下一代。
  • 繁殖:利用官方 skill-filesystem 自动发现机制,无需额外代码,SKILL 文件自动被系统识别。
  • 整理:通过 meta_compact 对错误类归一,合并重复教训,支持归档(可恢复)。
  • 闸门:用官方 ctx.tools.guard 对不可逆操作(如删除)执行前强制声明,通配符/受保护路径一律拒绝。

工具面

插件提供以下工具(来自 README):

  • meta_status:查看沉淀进度与账本。
  • meta_search:检索教训。
  • meta_nourish:在会话开始时继承历史教训。
  • meta_claim:写入域声明,使用 CAS 防止并发覆盖。
  • meta_board:查看看板。
  • meta_prepare:对高危动作(不可逆操作)声明目标与备份证据,执行前必须先声明。
  • meta_compact:能力盘去碎片化,合并同工具同错误类的重复教训。

治理承诺

项目提供零依赖的单元测试 tests/unit.mjs(58 项),使用 Node 内置模块,不依赖 DSH。它断言以下治理规则:

  • 负向清单:缺凭据 / 沙箱拒绝 / 命令不存在 → 不沉淀。
  • 分类:UNKNOWN_TOOL / TOOL_OUTPUT_ERROR / 协作冲突 / 通用兜底。
  • 错误文本截断 ≤160 字符(只存失败特征,不存用户内容)。
  • 单级布局 <root>/<id>/SKILL.md,去重(复发 trials+1),账本(successes 累加)。
  • 审计流水 .audit/ledger.jsonl,记录 precipitate/recur/verify/archive/restore 等事件,带 UTC 时间戳与 ledger_tag。
  • 归档而非删除(可恢复),pinned 技能拒绝归档。
  • 高危动作闸门:通配符删除一律拒绝;受保护路径(能力盘/审计流水)拒绝;显式删除需先声明目标;代码型批量删除需声明 scope + 预期条数 + 备份哈希;META_GATE=off 可整体关闭。

安装与启用

  1. 克隆仓库:
git clone https://github.com/sunwindy91/dsh-tool-meta.git
cd dsh-tool-meta
  1. 零依赖验证(推荐先跑):
node tests/unit.mjs

期望输出为 UNIT_OK(20/20)。

  1. 安装到 DSH profile(link 方式):

在 ~/.dsh/profiles/web/package.json 中加入:

"@sunwindy/dsh-tool-meta": "link:/path/to/dsh-tool-meta"

本包自带 cordis.patch.yml,会把自己插入为一个插件层。在 bundles 注册后执行:

pnpm install

然后重启 DSH。

典型用法

查看沉淀状态

meta_status

返回沉淀进度与当前账本。

检索教训

meta_search "文件删除"

按关键词检索教训。

开启会话时继承经验

在会话开始时调用:

meta_nourish

系统会自动加载历史教训,用于后续工具调用决策。

声明高危操作(如删除)

执行删除前先声明:

meta_prepare target="/path/to/dir" expected_count=3 backup_hash="abc123"

系统会检查声明是否完整,并记录到审计流水。

整理能力盘

合并重复教训:

meta_compact

查看审计流水

审计流水存储在 .audit/ledger.jsonl,包含各类事件的 UTC 时间戳与 ledger_tag。

适用场景与注意

  • 适合需要从失败中自动沉淀经验的 DSH 智能体开发场景。
  • 插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证(MIT)。
  • 高危动作闸门能拦住字面通配符/递归强制删除与未声明的删除,但无法完全防范精心构造的绕过;其价值在于让不可逆动作留下可审计的声明。
  • 实测观测数据(13 次快照)详见 docs/observation.md,其中包含数据缺陷说明与结论边界。

短结尾

dsh-tool-meta 通过官方接口将失败观测、教训沉淀、自动滋养整合在一起,形成一个可审计、可恢复的自进化闭环。相关文档与代码可在目录页与 GitHub 查看详情。

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

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

Xiaoye