본문으로 건너뛰기
Q

dsh-run2skill

qkycir-123/dsh-run2skill

명시적인 DSH 세션 경험을 리뷰 가능한 네이티브 Skills로 전환합니다.

설치

dsh plugin --profile web add github:qkycir-123/dsh-run2skill

README

dsh-run2skill

中文 | English

你是否遇到过这些场景?

  • 同一套工作流,今天教 Agent 一遍,明天换个 Session 又教一遍;
  • Agent 每走一步都需要你纠正:“别改那个文件”“先跑测试”“这个步骤不能省”;
  • 终于把 Agent 教会了,对话一结束,经验也跟着下班了。

如果你已经受够了在对话框里重复当师傅,dsh-run2skill 就是来做这件事的:

把你在 DeepSeek Harness(DSH)里明确教给 Agent 的纠正、约束和工作流,整理成可审核、可复用的原生 Skill。

一句话说:你负责在真实工作里教一次,run2skill 负责把值得复用的部分整理成技能草稿;你点头,它才落盘。

它不会让 Agent 偷偷给自己立规矩。每份技能草稿都可以先看来源、适用范围和完整内容,然后由你决定确认保存还是放弃草稿。只有确认后,它才会写入 DSH 的原生 Skill 目录。

当前稳定版为 0.2.0。目前支持 DSH Web 版的 0.1.0-rc.70.1.0-rc.8

看一遍完整流程

Run2Skill 从待审核技能草稿、人工核对到成功沉淀的真实 DSH Web 流程

  1. 发现技能草稿:Run2Skill 只在有事项需要处理时提醒你,并把草稿放在 设置 → 插件 → Run2Skill
  2. 核对来源与范围:查看生成理由、经过过滤的对话证据、保存范围以及将要写入的完整 SKILL.md
  3. 确认后才保存:成功结果会进入“最近活动”;保存下来的内容是普通的 DSH 原生 Skill。
查看三张关键界面截图

Run2Skill 设置页中的待审核技能草稿

Run2Skill 技能草稿的来源、保存范围与审核内容

Run2Skill 最近活动中显示已经成功创建的原生 Skill

安装

先确认你已经安装 DSH、Node.js ^22.19.0 || >=24.0.0,并能在终端运行 dshpnpm。然后执行:

dsh plugin --profile web add dsh-run2skill@0.2.0

重启 DSH Web。打开 Settings → Plugins,看到 run2skill 卡片就说明插件已加载。

run2skill 不需要单独填写模型密钥。需要分析技能草稿时,它沿用当前 DSH 会话已经选择的模型;如果当前会话没有可用模型,学习会停止并显示原因,不会偷偷换用其他模型。

用法:你继续干活,它负责记笔记

平时照常和 DSH 对话即可。例如:

把这个流程保存成 Skill,以后可以复用。

你也可以在正常工作中明确纠正做法、说明长期约束,或给出有顺序的可复用流程。不用为了“教它”停下当前任务,也不用自己打开 SKILL.md 边回忆边编辑。

run2skill 会在一轮对话完成后做轻量检查。它不是每轮都拉着模型开复盘会;只有命中明确的学习信号后,才会进入后续分析。

当有需要你处理的事项时,DSH 会显示一条原生通知;平时页面顶部不会常驻 run2skill 状态框。处理技能草稿时:

  1. 打开 Settings → Plugins → run2skill
  2. 在待处理列表中查看技能草稿、适用范围和内容差异。
  3. 选择确认并保存、放弃草稿,或在保存失败后重试。
  4. 保存成功后,结果就是普通的 DSH 原生 Skill;即使以后卸载 run2skill,它仍然可以被 DSH 使用。

技能草稿可以保存到当前项目(PROJECT)或当前用户(USER)范围。当前版本只会写入 DSH 默认的 Skill 存储目录;如果你改过 Skill 的存储方式或关闭了默认目录,run2skill 会停止保存,不会猜测写入位置。

它会学什么

run2skill 目前专注于你明确表达的可复用经验:

  • 纠正:“不要直接修实现,先写失败测试。”
  • 长期约束:“这个项目的所有 GitHub 文案都使用中文。”
  • 工作流:“先核对上游版本,再跑兼容性探针,最后更新证据。”
  • 显式保存请求:“把这个流程保存成 Skill。”

它不会因为 Agent 偶尔成功一次,就自作主张地把所有操作写成永久规则。它学的是你明确教过的东西,不是猜你的心思。

你仍然握着方向盘

Settings → Plugins → run2skill 中可以关闭自动学习

  • 开启:明确的纠正、长期约束和工作流可以生成技能草稿。
  • 关闭:暂停普通自动学习;你明确说“保存为 Skill”时仍然可以生成技能草稿。

run2skill 是本地优先插件。它不会保存模型密钥,也不会复制完整会话;送去模型分析的只是经过筛选、截断和敏感信息清理的必要内容。技能草稿保存前始终需要你确认。

换句话说:run2skill 可以帮你整理经验,但不会替你签字。

设置页也提供清理所有缓存功能。它会删除 Run2Skill 自己产生的中间缓存、待处理技能草稿、失败与非敏感诊断记录,但不会删除:

  • DSH 的原始会话记录;
  • 已发布的原生 Skill;
  • Provider、Agent 或其他 DSH 设置。

更详细的保留与升级规则见 数据存储与升级

更新与卸载

更新到另一个明确版本:

dsh plugin --profile web add dsh-run2skill@<version>

卸载:

dsh plugin --profile web remove dsh-run2skill

两种操作后都请重启 DSH Web。卸载不会删除已经发布的 Skill,也默认保留 run2skill 的数据;如果你希望清除这些数据,请在卸载前先使用设置页中的清理所有缓存

遇到问题

  • 看不到 run2skill 卡片:确认使用的是 DSH web profile,并在安装后重启了 DSH Web。
  • 提示“run2skill 当前功能受限”(内部状态码:DEGRADED):不要手工删除存储文件;重试后仍无法恢复时,可在 GitHub Issues 报告。
  • 提示“run2skill 当前版本不兼容”(内部状态码:INCOMPATIBLE):确认 DSH 是否为受支持版本,再恢复与它兼容的 run2skill 版本。
  • 没有生成技能草稿:确认当前会话有可用模型;也可以直接说“把这个流程保存成 Skill”。
  • 无法保存到当前项目PROJECT):当前会话必须位于 DSH 能识别的项目工作区。
  • 改过 Skill 的存储目录或存储方式:当前版本只支持 DSH 默认设置,会选择安全停止,不会猜测写入位置。

欢迎在 GitHub Issues 报告问题。请不要附上密钥、完整 Session、私人路径或包含敏感信息的日志。

进一步了解

本项目采用 MIT License。Client bundle 内嵌依赖的许可声明见 THIRD_PARTY_NOTICES.md

관련 플러그인