dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
面向 dsh web 的「混合模式」agent preset 插件:只有宿主半边,无浏览器 UI、无配置项、零依赖、零构建。
一个面向 dsh web 的 agent preset 插件:激活时向宿主的 agent-preset registry 声明一个打包在
本包内的预设,预设 id 为 mixed,显示名为 混合模式,在预设选择器里的排序为 order: 5。
它是一套精简装配的预设:极简 persona 搭配标准工作纪律(思考熔断、行动导向、并发探索、YAGNI/PDCA、
有界收敛),工具面与上下文注入由预设自身的行(presets/mixed/agent.cordis.yml)掌控,而不是由
宿主配置界面掌控。
本包只有宿主半边。具体来说:
lib/client.js,package.json 里没有 dsh.client 字段,也没有 client 注入清单;因此「启用/停用」只能通过插件的安装与停用(profile 的插件行)来做,不能在界面里切开关;预设自身
那点可调项都在 presets/mixed/agent.cordis.yml 的行配置里(例如 tool-catalog 的
presentation、minimal-prompt 的 dispatcher、guard 的 sensitivity),要改就改文件。
dsh-preset-mixed/
├── lib/
│ ├── index.js # 宿主入口:解析目录 → 读 YAML → register → ctx.effect 释放
│ └── composition.js # 自带的最小 YAML 读取器(无第三方依赖,纯 ESM JS)
├── presets/mixed/
│ ├── agent.cordis.yml # 预设的组成(persona、工具面、guard、分页、上下文注入)
│ ├── preset.yml # 显示名 / 描述 / 排序
│ ├── NOTICE # 上游署名与改编说明
│ └── *.mjs # 预设自带的 8 个插件实现
├── cordis.patch.yml # bundle patch:向 profile 名册插入本插件行
├── LICENSE # Apache-2.0
├── README.md # 用户向说明
└── AGENTS.md # 开发指导:给接手本仓库的 Agent
宿主入口只做四件事,一件不多:
import.meta.url 解析出本包的 presets/mixed/ 目录(不依赖 process.cwd());agent.cordis.yml 与 preset.yml 解析成一个 PresetDefinition
({ id, name, description, order, plugins },相对模块名解析为 file:// URL);ctx.agentPresets.register(definition),保存它返回的 disposer;ctx.effect(...) 里释放该 disposer,插件卸载时预设随之注销。registry 尚未就绪(它由自己的依赖链发布,可能晚于本行的激活)时,插件不会抛异常炸掉宿主:它只
logger.warn 一行,并通过 ctx.inject(['agentPresets'], cb) 的回调形式在服务出现后补一次声明
(回调形式不是硬依赖,不会把本行挂起,因此一个根本没有 registry 的部署照常启动)。
零依赖零构建:package.json 没有 dependencies,也没有 scripts.build,克隆下来即可用。
desktop profile 由 Electron 应用独占管理,CLI 不能直接往里装:
dsh plugin --profile desktop add ...
# error: profile "desktop" is managed exclusively by the Electron application
两条可行路径:
https://github.com/Shiro-Design-16/dsh-preset-mixed,本仓库地址),由应用自己把它写进
desktop profile。package.json 里把本包加进 dependencies
(例如 "dsh-preset-mixed": "link:/绝对路径/dsh-preset-mixed" 或一个 file: 说明符),
并确保该 profile 的 bundle patch 层包含本包的 cordis.patch.yml
(即名册里出现 - id: dsh-preset-mixed / name: 'dsh-preset-mixed'),然后重启宿主。对 CLI 可以管理的 profile,直接:
dsh plugin --profile <profile> add link:/绝对路径/dsh-preset-mixed
mixed 预设预设是按会话选择的,不写任何全局默认:
dsh-preset-mixed: preset mixed declared;order: 5,排在内置项之后);若选择器里看不到「混合模式」,先看日志里是否有
the agent-preset registry is unavailable; the preset is not declared,再确认插件行确实被装载。
LICENSE 为 Apache License 2.0 全文。@linxin666/dsh-liangshen 0.4.6 的 presets/liangshen/,并已修改:
presets/mixed/;preset.yml 的显示名、描述与 order 全部重写;agent.cordis.yml
开头注释块中的预设自指名称同步为新名;两个 YAML 文件内已各自按 §4(c) 携带改动声明
(preset.yml 顶部的注释、agent.cordis.yml 开头注释块的首段),声明不再只写在 README 里;
其余 8 个 .mjs 实现与 NOTICE 逐字节未改动。presets/mixed/NOTICE 保留了上游对 DeepSeek Harness 内置 preset(MIT)与
xiaobright/dsh-anchored-standard(MIT)的署名,请一并保留。lib/client.js)、TypeScript 源码(src/)、构建期元数据
(README.i18n.yaml)与 tools/。