预设分类器 anonamerjaxon-dev/dsh-preset-categorizer
DeepSeek Harness按类别把已装插件、MCP 与技能归入智能体预设
29.4/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/28 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add anonamerjaxon-dev/dsh-preset-categorizer该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · skill
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 9 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
- 读取本地文件index.js:75
roots = readdirSync(agents, { withFileTypes: true }) - 读取本地文件index.js:84
entries = readdirSync(join(agents, root), { withFileTypes: true }); - 读取本地文件index.js:91
if (!existsSync(join(skillDir, 'SKILL.md'))) continue; - 读取本地文件index.js:109
const text = readFileSync(path, 'utf8'); - 读取本地文件index.js:228
const manifest = JSON.parse(readFileSync(join(dir, 'package.json'), 'utf8')); - 写入本地文件index.js:511
writeFileSync(
扫描于 2026/10/31(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
把插件、MCP 服务和技能归类到 DeepSeek Harness 智能体预设中。
README
由 DeepSeek 最新模型翻译生成dsh-preset-categorizer
把插件、MCP 服务器和技能归类到 DeepSeek Harness 智能体预设里。
DSH 自带一组手写的智能体预设。这个插件读取实际安装的内容,把能力分组,再按类别向宿主的预设注册表注册每个类别一个预设——这样类别就成了 GUI 预设选择器里的一等条目。
它识别全部三种能力,不只是技能:
| 类型 | 能看到什么 | 如何划进预设 |
| 插件 | 由包支撑的加载器条目(dsh-ffmpeg、dsh-image-gen) | 一行插件 |
| MCP | 由 @deepseek-ai/dsh-mcp-client 支撑的加载器条目 | 一行 MCP,带服务器自己的配置 |
| 技能 | ~/.agents/skills 下的技能目录 | 一行技能服务商,对应一个技能根目录* |
为什么
配置档 bundles 里的能力会挂载进每个会话、每个预设。这对 harness 自身的机制合适,对其他一切都不合适:一个插件加了六个工具,每个会话就要为这六个工具付出 schema 开销,不管会话会不会用到它们。
内置预设靠手写解决这件事——Creative 带 drawio、Blender 和 FigCraft;Office 带 GenOffice;Media 带 ffmpeg 和 Remotion。
展开完整文档(README 剩余 1 节)
dsh-preset-categorizer
把插件、MCP 服务器和技能归类到 DeepSeek Harness 智能体预设里。
DSH 自带一组手写的智能体预设。这个插件读取实际安装的内容,把能力分组,再按类别向宿主的预设注册表注册每个类别一个预设——这样类别就成了 GUI 预设选择器里的一等条目。
它识别全部三种能力,不只是技能:
| 类型 | 能看到什么 | 如何划进预设 |
| 插件 | 由包支撑的加载器条目(dsh-ffmpeg、dsh-image-gen) | 一行插件 |
| MCP | 由 @deepseek-ai/dsh-mcp-client 支撑的加载器条目 | 一行 MCP,带服务器自己的配置 |
| 技能 | ~/.agents/skills 下的技能目录 | 一行技能服务商,对应一个技能根目录* |
为什么
配置档 bundles 里的能力会挂载进每个会话、每个预设。这对 harness 自身的机制合适,对其他一切都不合适:一个插件加了六个工具,每个会话就要为这六个工具付出 schema 开销,不管会话会不会用到它们。
内置预设靠手写解决这件事——Creative 带 drawio、Blender 和 FigCraft;Office 带 GenOffice;Media 带 ffmpeg 和 Remotion。只要安装的能力集合不变,这样就行;一旦变了,手写清单就开始漂移。
这个插件从机器上推导出同样的东西。
安装
dsh plugin --profile web add dsh-preset-categorizer
或者从本地检出安装:
dsh plugin --profile web add "link:/path/to/dsh-preset-categorizer"
把它挂载在预设里,不要放进 bundles。 它不加任何工具,但确实会在启动时运行,还会往选择器里加预设,所以只应出现在需要它的会话里:
~/.dsh/profiles/web/cordis.patch.yml, inside the Creative preset
- id: preset-categorizer
name: dsh-preset-categorizer
config: {}
The loader reads inject from the ENTRY ROW, not from the module's
exports. Without it, ctx.agentPresets throws "cannot get property
agentPresets without inject".
inject:
- loader
- agentPresets
行为方式
三条规则,按重要程度排序:
1. 只增不改。 它创建的每个预设 id 都以 cat- 开头。宿主已有同 id 预设时,跳过并报告。它绝不编辑、替换或删除已有预设,也绝不碰配置档的 package.json。
2. 绝不搬动。 插件只报告什么该放哪里,不会把能力从宿主组合里卸载。搬动是有代价的决定——bundles 里的插件同时也是加载 Web UI 的那个——所以留给人类。
3. 不加任何工具。 一个自带 schema 的分类器,会花掉它本要保护的预算。
包缺失时丢掉那一行,而不是整个预设
预设里写了一个包,但配置档里没有这个包,挂载就会失败,在选择器里显示为红色。所以分类器先读配置档的 package.json,把这类行丢掉:
cat-media → [ffmpeg, remotion-skills] 配置档里两者都有 cat-media → [remotion-skills] 配置档里没有 dsh-ffmpeg
技能按根目录划分,不按单个技能划分
技能服务商挂载的是目录,一台机器上的技能通常放在共享根目录里。所以「要 genoffice 但不要 mineru」没法写成预设——分类只能声明「挂载这个根目录」。两个分类声明同一个根目录,就会把同一个服务商挂载两次,因此先匹配到的生效,后一个会被报告出来。
验证
插件会自己写一份报告,其中包含宿主自己的清单,每个预设带一个 broken 标记:
cat ~/.dsh/preset-categorizer-report.json
{
"report": {
"registered": 5,
"capabilities": 209,
"plugins": 194,
"mcps": 5,
"skills": 15
},
"roster": [
{ "id": "cat-docs", "name": "Documents (office / pdf)" },
{ "id": "cat-web", "name": "Browser (playwright)" }
]
}
分类规则有单元测试:
node test.mjs
配置
分类以纯数据形式放在 lib/categories.js 里。每个分类声明自己匹配什么、预设带什么:
{
id: 'cat-web',
kind: 'mcp',
preset: {
id: 'cat-web',
name: 'Browser (playwright)',
order: 42,
mcpRows: [{ id: 'mcp-playwright', name: MCP_CLIENT, config: { /* ... / } }],
skillRoot: null,
},
include: ['mcp-playwright'],
exclude: [],
}
include / exclude —— glob 模式(、?),匹配能力的 id、name 和 package。exclude 优先。
mcpRows —— 字面量的加载器行。MCP 服务器靠配置挂载(serverName、transport、command/url),这些没法从包名推导出来。
* skillRoot —— 要挂载的技能目录的绝对路径。
先匹配到的分类生效,所以列表顺序有意义。
安全
* 不联网。 插件不发任何形式的对外请求。
* 不起子进程。 没有 exec,没有 spawn,没有 eval。
* 只读:~/.agents/skills 下的技能目录,以及配置档的 package.json。
只写一个文件:~/.dsh/preset-categorizer-report.json,只含名称和计数——没有绝对路径,没有凭据。
* 不碰其他东西。 不改配置档清单,不改补丁文件,不动已有预设。
许可证
MIT —— 见 LICENSE。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
anonamerjaxon-dev/dsh-preset-categorizer
按类别把已装插件、MCP 与技能归入智能体预设
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份系统提示词,喂给多个 coding…
★ 931已汉化DSH
73.8
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7