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

角色路由与模型池 snnh/dsh-role-config

DeepSeek Harness
snnh17 天前有提交已提供中文文档扫描:未发现敏感能力

dsh 的角色预设与模型池:模型委派给角色,操作者规则挑模型,失败则沿角色链回退。

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

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

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add snnh/dsh-role-config
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · skill
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-role-config(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/9 17:36:04

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/schemastery@deepseek-ai/dsh-agent@deepseek-ai/dsh-jobs@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-subagent@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-tools@deepseek-ai/dsh-scope
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 模型委派给角色
  • 操作者规则挑模型
  • 失败沿角色链回退

README

由 DeepSeek 最新模型翻译生成
description: "dsh 的角色预设与模型池:模型只选角色,由用户的规则决定用哪个模型,失败按角色链逐级回退。" @snnh/dsh-role-config 这个 dsh bundle 给委派加了两条入口和一层决策: - 角色预设:模型按角色委派(role: "premium"),永远不知道背后是哪个模型。每个角色带模型可读的描述、优先级链,以及用户自己写的路由规则。 - 模型池:模型可以直接点名的模型,每个都带用户写的描述。直连按原样执行,不参与回退。 - 路由规则:在角色链首之前按顺序求值——提示词包含、正则、必需模态、最小上下文窗口、用户自己的能力标签。全不命中且开启 AI 路由时,由一次有界的路由器调用裁决;失败则回落链首。 - 优先级回退:角色路径创建的子代理请求终局失败后,用同一请求改走链上下一个成员;链走完则原失败照常上报。 - 功能绑定:上下文压缩与会话标题可以跟随某个角色,或保持 dsh 默认。 安装 dsh plugin --profile <profile> add @snnh/dsh-role-config 包已发布到 npm,上面的命令不需要构建步骤。
展开完整文档(README 剩余 1 节)
description: "dsh 的角色预设与模型池:模型只选角色,由用户的规则决定用哪个模型,失败按角色链逐级回退。"

@snnh/dsh-role-config

这个 dsh bundle 给委派加了两条入口和一层决策:

- 角色预设:模型按角色委派(role: "premium"),永远不知道背后是哪个模型。每个角色带模型可读的描述、优先级链,以及用户自己写的路由规则。
- 模型池:模型可以直接点名的模型,每个都带用户写的描述。直连按原样执行,不参与回退。
- 路由规则:在角色链首之前按顺序求值——提示词包含、正则、必需模态、最小上下文窗口、用户自己的能力标签。全不命中且开启 AI 路由时,由一次有界的路由器调用裁决;失败则回落链首。
- 优先级回退:角色路径创建的子代理请求终局失败后,用同一请求改走链上下一个成员;链走完则原失败照常上报。
- 功能绑定:上下文压缩与会话标题可以跟随某个角色,或保持 dsh 默认。

安装

dsh plugin --profile <profile> add @snnh/dsh-role-config

包已发布到 npm,上面的命令不需要构建步骤。git 安装(github:snnh/dsh-role-config)同样可用:构建产物(lib/index.js、lib/client.js 及其声明)随仓库提交,因此不需要构建脚本,也不需要 allowBuilds 放行。改动 src/ 后用 npm run build 重新构建。

默认什么都不开

刚挂载时插件不注册任何工具,也不改动任何 agent:exposure.delegateTool 与 exposure.listTool 的缺省值都是 false,官方委派工具照常服务,直到操作者主动点名要可路由的那一条。打开这两个开关就是全部的开启动作:

- id: role-config
config:
exposure:
delegateTool: true
listTool: true
pool:
- provider: deepseek-official
model: deepseek-chat

唯一的前置条件

开启 exposure.delegateTool: true 后,本插件用官方 subagent 同名注册委派工具。插件启用时,agent 看到的就是这条可路由的工具;停用插件,官方工具随即恢复服务。遮蔽要求官方工具比 agent 更靠外一层,因此官方 tool-subagent 行必须带 modelSelectionSettings: false:

- id: tool-subagent
config:
provider: spawn
toolName: subagent
modelSelectionSettings: false

那一行必须保持启用。为了腾出名字而停用它是一笔单向交易:此后一旦停用本插件,部署里就一个委派工具都没有了。其实并不需要:可路由的注册比预设作用域更靠内,因此它赢得这个名字,而官方工具依旧挂载着、随时可用。关闭接管(delegateTool: false,或设置页的恢复官方委派工具按钮——它一步完成"关开关并保存")就把名字交还回去,插件顺手清掉官方行上遗留的 disabled: true。

profile patch 只能改到 profile 自己声明的行;出厂预设的行嵌在 cordis:group 里,而 patch 会整体替换该行 config,所以需要像 harness 自己的 overlay 那样重述预设行、只翻这一个字段(出厂清单见 packages/bundle/web-app/presets/standard.patch.yml,它变化时请同步这份副本):

- id: preset-standard
config:
id: standard
order: 1
plugins:
…出厂插件清单,原样保留…
- id: delegation
name: cordis:group
group: true
isolate: { workflowEngine: true }
config:
- id: tool-subagent
name: '@deepseek-ai/dsh-tool-subagent'
config:
provider: spawn
toolName: subagent
modelSelectionSettings: false

开启模型选择时,官方工具会注册进每个 agent 自己的作用域,同作用域无法存在同名工具:这种情况插件会点名需要修改的行并保留官方工具,会话照常打开。若你更想保留官方配置,可用 delegate.toolName 改本插件的工具名。

在 LAN 地址上配置

设置文档默认只对回环页面开放,因此在 http://<lan-ip>:<port> 访问的部署里,模型页与所有插件页都会显示为不可用。若要在你实际使用的地址上配置本插件,请重述 client-connection 行并打开操作面:

- id: connection
config:
trustedHosts: !!js ctx.webRuntime.trustedHosts
operatorSurface: trusted

patch 会整体替换该行 config,所以 trustedHosts 要一并保留。页面只会在这之后、且访问令牌校验通过时才被提供,它发起的每个请求仍要过 Host/Origin 围栏与会话检查;改变的只是设置页与插件页终于能渲染。

配置

Web 侧栏打开 Plugins,选择 Role Config。页面编辑同一份 role-config 设置:模型池与描述、角色预设与链/规则、开关(暴露面、回退、AI 路由)、功能绑定、委派接线。

模型能看到什么

| 暴露面 | 内容 | 时机 |
| list_model_roles | 角色 id + 描述;池内路由 + 描述 | 仅模型主动调用时 |
| 系统提示 | 同一份目录的紧凑版 | 仅开启 exposure.sessionStart |
| subagent(role) | 不含所选模型的任何信息 | 始终 |

角色的成员、规则与路由器的裁决从不到达模型。

限制

- 直接指定路由不走回退;主 agent 自身的请求也不回退。
- agent team 成员继承 Lead 的路由,本插件只能对成员做失败回退,不能挑模型。
- 功能绑定写的是目标行的配置,本身没有回退。
预览分享卡片长什么样 ↓snnh/dsh-role-config
分享 · DeepSeek Harness Hub
snnh/dsh-role-config

dsh 的角色预设与模型池:模型委派给角色,操作者规则挑模型,失败则沿角色链回退。

回到顶部