dsh-fabric

DSH PLUGIN开发与运行时

仓库 hellosky983/dsh-fabric · npm dsh-fabric

开发与运行时 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-fabric 是 DeepSeek Harness 的元插件,用一套声明式 DSL 统一所有可扩展接缝,让插件能注册插件、扩展运行时本身。

验证等级 L5 L5 · 运行验证通过
GitHub 星标 2 复刻 0 · 未关闭 issue 0
最近更新 2026-09-29 创建于 2026-08-15
README 9.6 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:hellosky983/dsh-fabric
兼容 DSH 版本0.2.0-rc.2 等 11 个版本版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖@deepseek-ai/dsh-tools@^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.2 || ^0.1.3-alpha.2 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.2.0-rc.1需要同时安装的同级依赖
npm 包名dsh-fabric可用 npm view 查看包信息

能做什么

4 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-fabric:让 DeepSeek Harness 的一切扩展都变成可编程原语

  • 统一扩展DSL
  • 注册带代码扩展
  • 对话中即时扩展
  • 查看能力图谱

上游标签

deepseek-harnessdsh-pluginextensibilityfabricmeta-plugin

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

上面的结论来自上游最近一次自动化验证(2026-10-08): 同一套检查会在插件发新版后重跑,页面显示的是最新一次的逐项结果。

逐项检查结果

L1 · 已找到 ✓ 通过
  • L1.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L2 · 结构化 ✓ 通过
  • L2.0_DEFAULTED_FROM_L3 由 L3 推定 默认通过——L3 安装规范已通过(全库 L3 扫描策略)
L3 · 安装规范 ✓ 通过
  • L3.1_INSTALL_COMMAND_PARSED 安装命令已解析 方式:安装规范解析
  • L3.2_DSH_VERSION_DECLARED DSH 版本已声明 方式:DSH 版本声明
L4 · 安装已测 ✓ 通过
  • L4.1_INSTALL_EXECUTED_CONFINED 受限沙盒内执行安装 方式:沙盒安装执行
  • L4.2_INSTALL_SUCCESS 沙盒安装成功 方式:沙盒安装执行
  • L4.3_ARTIFACT_CONFIRMED 安装产物已确认 方式:沙盒安装执行
L5 · 运行已测 ✓ 通过
  • L5.1_INSTALL_PASSED_SANDBOXED 沙盒安装通过 方式:沙盒安装执行
  • L5.2_WEB_BOOT_READY Web 启动就绪 方式:Web 启动
  • L5.3_HTTP_SERVED HTTP 服务响应 方式:HTTP 请求
  • L5.4_PLUGIN_INVENTORY_ACTIVE 插件清单中已激活 方式:插件清单查询
— · 其它检查项
  • L4_0_SANDBOX 沙盒安装判定 方式:沙盒安装执行

风险详情

  • 审查结论 通过
  • 结论说明 vet 静态分析未发现可疑行为,判定为干净(clean)。
  • 风险计数 严重 0 / 高 0 / 中 0
  • 风险详情 未发现严重或警告级问题。

仓库档案

开发与运行时
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方hellosky983仓库 dsh-fabric · 默认分支 main
分类开发与运行时dev
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue2 / 0 / 0收录时的数值,非实时
创建 / 更新2026-08-15 · 2026-09-29最后推送 2026-09-29
本站收录2026-08-27首次进入本站目录的时间

README 全文

9.6 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-fabric

> Fabric — the everything-is-a-plugin primitive for DeepSeek Harness (dsh).

DSH 的每一项能力本身就是一个插件:Service、Tool、Skill、Command、Prompt Section、Event Listener、LLM Adapter、Subagent Provider、Web Route、Settings Namespace、Projection……但此前「制造插件」这件事并不在运行时里——它只能靠开发者用特殊工具来完成。

Fabric 把这个缺口补上了:它让「扩展运行时」本身成为一个可编程、可查询、可组合的运行时原语。 一套声明式 DSL 统一了所有可扩展接缝,并让「插件扩展插件」成为现实。


Overview

解决什么问题:在 DSH 中给运行时添加能力(新工具、新技能、新提示段、新事件监听、新 LLM 适配器、新子代理、新 Web 路由……)过去每条接缝都有一套不同的注册 API 和生命周期。Fabric 把它们收敛成一套声明式 DSL + 一个 fabric Service + 两个模型工具,让「扩展」本身变成可编程、可查询、可撤销的运行时原语。

适合谁:

  • DSH 插件开发者:写一个插件就能通过 ctx.get('fabric').register({...}) 注册任何带代码的扩展,并被统一追踪、统一清理。
  • 模型 / 用户:在对话中用 fabric_extend 工具即时注册纯声明式扩展(技能、提示段、变量),无需改文件。
  • 想观察「当前运行时挂了哪些能力」的人:fabric_inspect / 能力图谱 UI 给出实时 census。

三条交付通道:

通道 能力 使用者
ctx.provide('fabric') Service register / list / get / remove / graph / schema,支持带代码的扩展 其它插件(递归:插件扩展插件)
fabric_extend / fabric_inspect 模型工具 对话中即时注册纯声明式扩展、查看能力图谱 模型
prompt section + fabric-dsl skill 把 DSL 文档本身也作为插件注入,自描述闭环 所有人

Compatibility

项 值
验证的 DSH 主包 @deepseek-ai/[email protected]
验证的依赖 @deepseek-ai/[email protected](peerDependency)
最后验证日期 2026-08-15(冒烟测试通过)
验证方式 语法检查 + mock-ctx 冒烟测试(fabric Service 全方法、工具注册、递归注册、代码 kind 从 JSON 拒绝、schema 文档)

> 尚未在真实 DSH 进程中做端到端运行实测(加载 + 工具调用);已通过静态语法检查与 mock 上下文冒烟测试。若你在别的 DSH 版本上验证过,欢迎反馈。


Install / Uninstall

安装(本机 web profile,link 方式)

> 注意:不要用 dsh plugin --profile web add ./dir,它会把本地目录当 git 源解析而失败。用 link: 手动写入。

  1. 编辑 /home/kevin/.dsh/profiles/web/package.json:
    - dependencies 加:"dsh-fabric": "link:/path/to/dsh-fabric"
    - dsh.profile.bundles 数组加:"dsh-fabric"
  2. 在 profile 目录执行:
export PATH=/home/kevin/.local/lib/nodejs/node-v24.19.0-linux-x64/bin:$PATH
cd /home/kevin/.dsh/profiles/web && pnpm install
  1. 验证:dsh --profile web --dump-config 能看到 # == dsh-fabric 层。
  2. 重启 host 进程使 Host + Client 半生效。

升级

  • 更新本地目录后,在 profile 目录重跑 pnpm install(link 包会指向同一路径,重启 host 即生效)。
  • 从 Git 拉取后同上。

禁用(临时)

  • 从 dsh.profile.bundles 数组中移除 "dsh-fabric",pnpm install 后重启;或直接停掉对应 host 进程。

彻底移除

  1. 从 profile package.json 的 dependencies 和 dsh.profile.bundles 中删除 dsh-fabric。
  2. pnpm install 后重启 host。
  3. 如需删除本地源码,删除 dsh-fabric 目录即可(Fabric 不写任何持久化状态,无残留数据)。

Quick start

1. 插件代码:注册一个带代码的新工具

// 在任意插件的 apply(ctx) 里
const fabric = ctx.get('fabric')
if (!fabric) return

fabric.register({
kind: 'tool',
name: 'hello_fabric',
description: 'A tool born from another plugin via the Fabric DSL.',
parameters: { who: { type: 'string' } },
execute: async (args) => ({ hello: (args && args.who) || 'world' }),
})

2. 模型工具:对话中即时注入能力

fabric_extend({ definitions: [
{ kind: 'promptVariable', name: 'myvar', value: 'hello' },
{ kind: 'promptSection', name: 'my-rules', order: 800, text: 'Always be concise.' },
]})

fabric_inspect({ detail: 'census' })   // 查看能力图谱
fabric_inspect({ detail: 'schema' })   // 查看 DSL 文档

3. Service API

const fabric = ctx.get('fabric')
fabric.register(def | def[])   // -> [{ id, ok, kind, name, error? }]
fabric.list()                  // -> [{ id, kind, name, event }]
fabric.get(id) / fabric.remove(id)
fabric.graph()                 // -> { census: { tools, fabricExtensions }, seams, fabricExtensions }
fabric.schema()                // -> DSL 文档

支持的接缝(14 种)

kind needsCode 用途
tool ✅ 注册模型工具(name / description / parameters / execute)
skill ❌ 注册技能(name / description / whenToUse / content)
command ✅ 注册人工命令(name / description / handler / input? / recordInput?)
promptSection ❌ 注入持久提示段(name / order / text)
promptContext ❌ 注入动态上下文(name / order / text)
promptVariable ❌ 注册提示变量(name / value)
eventListener ✅ 监听事件(event / listener)
llmAdapter ✅ 注册 LLM 适配器(providers / adapter)
subagentProvider ✅ 注册子代理提供者(provider)
webRoute ✅ 注册 Web 路由(route)
settingsNamespace ✅ 注册设置命名空间(ns / schema / options)
projection ✅ 注册会话投影(definition)
blueprint ✅ 注册插件蓝图到 Foundry(id/name/category/description/whenToUse/params/render,需 dsh-foundry)
service ✅ (ctx.provide 已内置,用于发布 Service)

> 带 ✅ 的 kind 携带可执行代码,必须由插件代码通过 ctx.get('fabric').register(...) 注册;带 ❌ 的 kind 是纯声明式,模型可直接用 fabric_extend 工具注册。精确字段契约见 fabric_inspect({ detail: 'schema' })。


Configuration

Fabric 零配置:无配置项、无环境变量、无敏感项(无 API key / token / 凭据)。

  • fabric Service 与工具名称固定,无法重命名。
  • 无持久化状态;所有运行时扩展在插件停止时自动 dispose。

Permissions & data

类别 说明
文件系统 不读写任何文件
网络 在 DSH 自带 web server 上注册一个只读路由 GET /fabric/census,返回能力计数(tools/skills/fabric 扩展数)+ 接缝列表 + 已注册扩展的 id/kind/name。Client 半 UI 仅 fetch 该路由
凭据 不读取、不存储任何凭据
用户数据 不读取会话内容;census 只含计数与扩展元数据(id/kind/name),不含消息、文件内容或个人信息
进程内副作用 通过 ctx.provide / ctx.effect / ctx.on 注册,全部随插件 fiber 回收

Troubleshooting

现象 原因 / 处理
fabric service not found Fabric bundle 未装入 bundles 或未 pnpm install;按安装步骤检查 dump-config
kind 'tool' carries executable code and cannot come from JSON 你通过 fabric_extend(JSON)传了带 execute 的 tool;代码 kind 必须走插件代码 ctx.get('fabric').register(...)
pnpm 报 peer 依赖缺失(@deepseek-ai/dsh-tools) 确保 profile 能解析 dsh-tools;link 包不会自动装 peer,需在 profile dependencies 显式声明 @deepseek-ai/dsh-tools
Client 能力图谱页空白或报错 host 进程可能未重启(Client 半在启动时进 boot 图);curl http://127.0.0.1:/fabric/census 确认路由可用
想回滚 从 dsh.profile.bundles 移除 "dsh-fabric",pnpm install 后重启;源码目录可直接 git checkout

Development

  • 无构建步骤:Host 半是标准 Cordis ESM(index.js),Client 半是经典 script 自注册 bundle(client.js),均纯手写、无需 bundler。
  • 语法检查:node --check index.js && node --check client.js。
  • 冒烟测试(mock ctx,无需真实进程,仓库内 smoke-test.mjs):
node smoke-test.mjs

覆盖:fabric Service 全方法、fabric_extend/fabric_inspect 注册、递归注册 tool、代码 kind 从 JSON 拒绝、graph/list/remove、schema 文档。
- 贡献:Fork 本仓库,改 index.js / client.js,跑冒烟测试后提 PR。注意:动态插件的 harness.* API 与正式 bundle 的 ctx.tools.register(defineTool(...)) 不同,勿混用。


License & security

  • 许可证:MIT。
  • 安全报告:如发现安全问题,请通过 GitHub 的 private vulnerability reporting(仓库 Security 标签 → Report a vulnerability)私下报告,不要公开 issue。

常见问题

8 问
答案由本站依据条目字段整理,不引用上游原文
dsh-fabric 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:hellosky983/dsh-fabric` 即可。对应的 npm 包名是 `dsh-fabric`。

dsh-fabric 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-fabric 安全吗?

低风险。vet 静态分析未发现可疑行为,判定为干净(clean)。

dsh-fabric 支持哪些 DSH 版本?

上游记录的兼容版本包括 0.2.0-rc.2、0.2.0-rc.1、0.1.7-rc.2、0.1.6-alpha.2、0.1.6-alpha.1、0.1.5-rc.2、0.1.3-alpha.2、0.1.3-alpha.1。版本较多,只列出前 8 个。

dsh-fabric 需要什么运行环境?

需要同时安装 @deepseek-ai/dsh-tools@^0.1.0-rc.6 || ^0.1.1-rc.1 || ^0.1.2-alpha.2 || ^0.1.3-alpha.2 || ^0.1.5-alpha.1 || ^0.1.6-alpha.1 || ^0.1.7-alpha.1 || ^0.2.0-rc.1。环境不满足时安装会失败,建议先确认本机版本。

dsh-fabric 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-fabric 有哪些功能?

统一扩展DSL、注册带代码扩展、对话中即时扩展、查看能力图谱。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

开发与运行时
按星标排序,可作替代方案

rea

rea

L4 · 沙盒安装通过 2.6 万 星

dsh-TUI

dsh-TUI

Claude Code 风格全屏终端 UI:像素鲸鱼顶栏、实时工作状态行、思考流式展开。

L4 · 沙盒安装通过 4,292 星

mirage

mirage

把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Sla

L3 · 安装规范通过 3,681 星

dashi-taskboard

dashi-taskboard

把当前已安装并运行中的 Codex Taskboard 嵌入 DeepSeek Harness 侧边栏,并通过 Launcher 运行时描述

L4 · 沙盒安装通过 3,311 星

hellosky983 的其它插件

6 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 2026-10-08。