dsh-forge:为 DeepSeek Harness 锻造可复用技能

前言

在 DeepSeek Harness(DSH)里,很多流程并不是一次性提示能覆盖的:同一类任务会在不同会话里重复发生,工具调用序列也往往已经跑通。靠人工把这些经验整理成提示词,容易遗漏步骤,也难以让后续会话自动加载。

dsh-forge 关注的是这类重复且成功的会话轨迹:它监视 harness 的 live session event stream,识别同一规范化 first intent 在 2 个或更多会话中成功完成,再把这条路径锻造成一个可加载的 skill。

这是什么

activeing123/dsh-forge 是一个 DeepSeek Harness 社区插件,许可证为 MIT。它的一句话定位是:

Skill self-forging for DeepSeek Harness: watch session traces, detect repeated successful tasks, and forge them into reusable skills.

插件运行环境要求如下:

Node.js >=20
@deepseek-ai/cordis ^4.0.1

它使用 harness 自身提供的能力:

session/event
ctx.llm
ctx.fs
ctx.skills

项目声明零外部依赖,不需要 cloud account 或 private assets。

核心功能

监视会话轨迹

插件会监视 DeepSeek Harness 的 live session event stream,并按会话累积以下信息:

user intents
tool-call sequences
completion state

这些信息用于判断某个任务是否被成功完成,以及是否值得沉淀为技能。

检测重复成功任务

当同一个规范化 first intent 在 2 个或更多会话中成功完成后,插件会自动触发 forge。

这里的触发条件可以理解为:

same normalized first intent
>= 2 completed sessions

生成技能内容

触发 forge 后,插件会调用 harness 自身的 LLM,从会话轨迹中蒸馏出以下内容:

kebab-case skill name
one-line description
when-to-use guidance
Markdown step instructions

最终输出为官方技能格式 SKILL.md,YAML frontmatter 包含:

name
description
whenToUse

写入并注册技能

技能文件会写入:

.dsh-forge/skills/<name>/SKILL.md

随后通过下面接口注册:

ctx.skills

注册后,未来会话可以通过 skill 工具加载该技能。

Web 面板与 agent 工具

插件提供 Web 客户端 furnace 面板,包含:

forge current session
live trace statistics

同时注册一个模型可见工具:

forge_skill

该工具允许 agent 在任务过程中触发 forge。

安装与启用

先做插件声明,再做安装,最后重启 web 进程。

1、在 patch 文件中添加插件行

cordis.patch.yml 中添加:

- id: dsh-forge
  name: dsh-forge

这一步是把 dsh-forge 声明为 profile 中可用的插件。

2、安装到 web profile

运行:

dsh plugin --profile web add dsh-forge

安装时,依赖中 package.json 声明 dsh.bundle 的内容会加入 profile 的 dsh.profile.bundles 层栈。

3、重启 dsh web

dsh web

重启后,插件开始监听:

session/event

典型用法

手动锻造当前会话

在 DSH web UI 中作为动态插件定义并运行:

lib/index.js(host)
lib/client.js(client)

然后在 furnace 面板按:

forge current session

这个方式适合你已经确认当前会话的任务路径值得沉淀时,手动触发一次锻造。

自动锻造

让两个相同 first intent 的会话成功完成。

经过上面的条件满足后,插件会触发第一次自动 forge。

配置技能写入目录

默认写入目录是:

.dsh-forge/skills

配置项 skillsDir 用于指定锻造 SKILL.md 的写入目录,并会按 session cwd 解析。

如果需要写到其他 skills root,例如:

.dsh/skills

可以在 profile patch layer 中通过 config 块设置:

- insert:
    - id: dsh-forge
      name: dsh-forge
      config:
        skillsDir: '.dsh/skills'

技能可见性与文件副本

锻造技能会在运行时通过 ctx.skills 注册,对每个 live session 可见。

文件系统副本用于持久化技能文件。该副本需要位于可发现的 skills root,才能被 dsh-skill-filesystem provider 发现。

可以这样理解两者的关系:

ctx.skills registration -> live sessions can load the skill
filesystem SKILL.md copy -> persistent file for provider discovery

适用场景与注意

适合以下场景:

  • 你已经在 DeepSeek Harness 中反复完成同类任务。
  • 你希望把成功路径沉淀为可加载的 SKILL.md
  • 你使用 web profile,并希望通过 DSH web UI 查看 forge 面板。
  • 你希望插件不依赖 cloud account 或 private assets。

使用前注意以下几点:

1、插件在宿主 dsh 进程内运行,并会访问 harness 提供的会话与运行时能力:

session/event
ctx.llm
ctx.fs
ctx.skills

因此,安装前应先检查源码。

2、确认许可证:

MIT

3、确认宿主依赖:

Node.js >=20
@deepseek-ai/cordis ^4.0.1

4、确认技能写入目录是否符合你的 skills root 规则。默认值是:

.dsh-forge/skills

结尾

dsh-forge 的价值在于把重复成功会话转化为可复用的技能资产,而不是仅仅保留一段对话记录。它通过监听会话轨迹、检测重复成功任务、生成 SKILL.md 并注册到 harness 运行时,完成从一次成功路径到后续会话可加载技能的闭环。

GitHub:

https://github.com/activeing123/dsh-forge

社区目录是独立站点,不与 DeepSeek / 幻方存在官方从属关系,也不是官方应用商店。已核实资料未给出可确认的目录页 URL;如果你从社区目录进入,可按目录索引查找该插件。

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

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

Xiaoye