DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Shiro-Design-16 /

Shiro-Design-16/dsh-preset-mixed

Verified

面向 dsh web 的「混合模式」agent preset 插件:只有宿主半边,无浏览器 UI、无配置项、零依赖、零构建。

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@ea9b06bb

dsh-preset-mixed

一个面向 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 注入清单;
  • 没有 GUI 开关(没有新会话页上的滑块/开关),没有设置卡片,没有设置命名空间;
  • 插件的宿主入口没有 Config:不声明 schemastery schema、不读任何配置、不注册系统提示词段、 不注册任何工具。声明即启用——卸载插件(或停用该行)即注销预设。

因此「启用/停用」只能通过插件的安装与停用(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

宿主入口只做四件事,一件不多:

  1. 用 import.meta.url 解析出本包的 presets/mixed/ 目录(不依赖 process.cwd());
  2. 把 agent.cordis.yml 与 preset.yml 解析成一个 PresetDefinition ({ id, name, description, order, plugins },相对模块名解析为 file:// URL);
  3. 调 ctx.agentPresets.register(definition),保存它返回的 disposer;
  4. 在 ctx.effect(...) 里释放该 disposer,插件卸载时预设随之注销。

registry 尚未就绪(它由自己的依赖链发布,可能晚于本行的激活)时,插件不会抛异常炸掉宿主:它只 logger.warn 一行,并通过 ctx.inject(['agentPresets'], cb) 的回调形式在服务出现后补一次声明 (回调形式不是硬依赖,不会把本行挂起,因此一个根本没有 registry 的部署照常启动)。

安装

零依赖零构建:package.json 没有 dependencies,也没有 scripts.build,克隆下来即可用。

桌面端(desktop profile)注意

desktop profile 由 Electron 应用独占管理,CLI 不能直接往里装:

dsh plugin --profile desktop add ...
# error: profile "desktop" is managed exclusively by the Electron application

两条可行路径:

  1. 市场安装(推荐):在 dsh 的市场/插件来源里使用仓库 URL 安装本包 (https://github.com/Shiro-Design-16/dsh-preset-mixed,本仓库地址),由应用自己把它写进 desktop profile。
  2. 手工写入 profile:在目标 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 预设

预设是按会话选择的,不写任何全局默认:

  1. 重启(或重载)宿主,确认插件行已激活——宿主日志里会出现 dsh-preset-mixed: preset mixed declared;
  2. 新建一个会话,在预设选择器里选「混合模式」(order: 5,排在内置项之后);
  3. 若要改回,任何已有会话只是当初选了哪个预设就用哪个;新会话重新选即可。

若选择器里看不到「混合模式」,先看日志里是否有 the agent-preset registry is unavailable; the preset is not declared,再确认插件行确实被装载。

License 与来源

  • 本仓库整体以 Apache-2.0 授权,LICENSE 为 Apache License 2.0 全文。
  • 本包 fork 自 @linxin666/dsh-liangshen 0.4.6 的 presets/liangshen/,并已修改:
    • 按 Apache-2.0 §4(c) 声明:被 fork 的文件均已改动或重命名,改动范围为——预设目录名改为 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/。
—/ 5

No ratings yet

Verified DSH bundle

Commit ea9b06bb3e97

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout