🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

技能锻造炉 chaonimadesazhi/dsh-skill-forge

DeepSeek Harness
chaonimadesazhi8 天前有提交已提供中文文档扫描:含敏感能力

把已解决的对话流程压缩成可复用技能文件

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chaonimadesazhi/dsh-skill-forge
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · skill
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 13 处,展示前 12 条)
  • 读取本地文件
    index.js:207
    raw = await readFile(file, 'utf8')
  • 读取本地文件
    index.js:227
    entries = await readdir(root, { withFileTypes: true })
  • 读取本地文件
    index.js:245
    const info = await stat(file)
  • 读取本地文件
    index.js:461
    const exists = existsSync(target.file)
  • 写入本地文件
    index.js:469
    await mkdir(target.dir, { recursive: true })
  • 写入本地文件
    index.js:472
    await copyFile(target.file, `${target.file}.bak`)
  • 写入本地文件
    index.js:483
    await writeFile(target.file, text, 'utf8')
  • 写入本地文件
    index.js:512
    await mkdir(dirname(trashDir), { recursive: true })
  • 写入本地文件
    index.js:514
    await rename(target.dir, trashDir)
  • 写入本地文件
    index.js:517
    await mkdir(trashDir, { recursive: true })
  • 删除本地文件递归
    index.js:519
    await rm(target.dir, { recursive: true, force: true })
  • 发起网络请求
    client.js:335
    const res = await fetch(path, { method: opts.method || 'GET', headers, body: body === undefined ? undefined : JSON.stringify(body) })
扫描于 2026/10/31(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

把对话提炼成可复用的 SKILL.md,供 DeepSeek Harness 使用。

README

由 DeepSeek 最新模型翻译生成
技能锻造炉 · Skill Forge 把一段对话沉淀成可复用的 SKILL.md,让下一次相似问题直接命中技能,而不是重新推一遍。 DeepSeek Harness(DSH)插件。提供 4 个模型工具 + 一个 Web GUI 面板(侧边栏「技能锻造炉」)。 它解决什么问题 同一个问题问第二遍时,模型是在重新推导:重新读上下文、重新试错、重新组织答案。这些 token 花得一模一样,成果却留在对话里,下次还得再来。 Skill Forge 做一件事:把一个已经解决的流程,在对话结束时压缩成一个技能文件。之后 DSH 的技能目录会在相关的请求上命中它,模型加载几十行指令,而不是重新思考几百行过程。 技能写在 ~/.dsh/skills/<name>/SKILL.md,是 DSH 官方 skill 目录,任何支持 skill 的 preset 都能用。
展开完整文档(README 剩余 1 节)
技能锻造炉 · Skill Forge

把一段对话沉淀成可复用的 SKILL.md,让下一次相似问题直接命中技能,而不是重新推一遍。

DeepSeek Harness(DSH)插件。提供 4 个模型工具 + 一个 Web GUI 面板(侧边栏「技能锻造炉」)。

它解决什么问题

同一个问题问第二遍时,模型是在重新推导:重新读上下文、重新试错、重新组织答案。这些 token 花得一模一样,成果却留在对话里,下次还得再来。

Skill Forge 做一件事:把一个已经解决的流程,在对话结束时压缩成一个技能文件。之后 DSH 的技能目录会在相关的请求上命中它,模型加载几十行指令,而不是重新思考几百行过程。

技能写在 ~/.dsh/skills/<name>/SKILL.md,是 DSH 官方 skill 目录,任何支持 skill 的 preset 都能用。

两条使用路径

1. 让智能体自己沉淀(推荐,零配置)

对模型说一句自然语言即可,它会调用工具链:

把刚才这套 ffmpeg 排错流程存成 skill

模型依次调用:

| 工具 | 作用 |
| skill_forge_context | 取当前会话(或指定会话)最近 N 轮的有界摘要,默认 10 轮 / 16000 字符,超长保留最新尾部 |
| skill_forge_save | 写 ~/.dsh/skills/<name>/SKILL.md;同名默认拒绝,覆盖时留 .bak |
| skill_forge_list | 列出本插件写过的技能(含路径、大小、时间) |
| skill_forge_delete | 移入 .trash 可恢复;只允许删本插件写的技能 |

写入后技能目录会热刷新,本会话内即可被 skill 工具加载。

2. 在面板里手动锻造(Web GUI)

侧边栏底部、任务看板下方多一个图标,点开是两页签:

- 技能库 — 搜索 / 点行预览 / 删除(移入 .trash)。预览支持 Markdown 渲染与「原文」切换。
- 锻造 — 选一个最近会话,或直接粘贴文本;可留空名称/描述让 AI 生成;「AI 提炼」产出草稿 → 人工确认 → 保存。

AI 提炼需要宿主同时具备 llm 与 agentDefaultModel 服务;不可用时接口返回 503 llm-unavailable,面板会提示改走路径 1,或手动填写草稿直接保存。

安装

方式 A:从 npm

dsh plugin --profile web add dsh-skill-forge

方式 B:从 GitHub 本地安装

git clone https://github.com/chaonimadesazhi/dsh-skill-forge.git
dsh plugin --profile web add link:./dsh-skill-forge

方式 C:桌面客户端

桌面端的 desktop 配置档由 Electron 应用独占管理,命令行会拒绝写入(profile "desktop" is managed exclusively by the Electron application)。

请用桌面端界面:设置 → 插件 → 安装本地目录,指向克隆下来的目录。

安装后重启 DSH;侧边栏出现「技能锻造炉」即成功。若没有出现,检查 dsh.client 是否被配置档的 bundle 列表收录。

配置

在配置档的 cordis.patch.yml 里改 skill-forge 行:

- id: skill-forge
name: dsh-skill-forge
config:
maxCaptureChars: 20000 # 面板「AI 提炼」单次最多吞多少字符上下文 toolCaptureChars: 16000 # skill_forge_context 默认返回上限

生成的技能长什么样

name: eac-ffmpeg-path-fix
description: "修复 EAC 渲染任务因 ffmpeg 不在 PATH 而报 ffmpeg not found 的失败。"
whenToUse: "EAC 任务提交或渲染失败且日志出现 ffmpeg not found" metadata: forge: "skill-forge" version: 1

何时使用 ... 执行步骤 ... 验收清单 ... 反例 ...

metadata.forge 是本插件的所有权标记:skill_forge_list 默认只列带这个标记的技能,skill_forge_delete 也只肯删带这个标记的技能 —— 不会动你手写或别的插件装的技能。

安全边界

- HTTP 路由仅接受 loopback + same-origin 请求,跨站/局域网一律 403;请求体上限 1 MiB。
- 只写 ~/.dsh/skills,不碰 DSH 安装目录、不改配置档的 package.json / cordis.patch.yml。
- 不向 session log 追加事件;会话内容通过 sessionQuery 只读获取。
- 提炼过程不落盘,只有你按下「保存」才写文件。覆盖前会二次确认并保留 .bak。

已知限制

- 技能目录热刷新依赖 DSH 的文件监听,通常即时,但不承诺「秒级一定命中」。
- 「AI 提炼」依赖宿主默认模型可用;无模型时只能用路径 1 或手动草稿。
- 技能名必须是 kebab-case(小写字母/数字/连字符),这是 DSH 官方 skill 语法。
- 只管理 ~/.dsh/skills,不支持项目级 .dsh/skills。
- 面板按 880px 最大宽度居中,超宽窗口下两侧留白较多。

开发与自检

仓库是纯 ESM、无构建、无运行时依赖(只用 node: 内置模块 + 浏览器侧 react)。

node --check index.js
node --check client.js

发布前在本地做过两套检查:结构一致性 61 项、功能行为 73 项(用临时 DSH_HOME,不触碰真实技能)。详见 docs/维护者手册.md。

License

MIT
预览分享卡片长什么样 ↓chaonimadesazhi/dsh-skill-forge
分享 · DeepSeek Harness Hub
chaonimadesazhi/dsh-skill-forge

把已解决的对话流程压缩成可复用技能文件

回到顶部