DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

dotdance /

dotdance/dsh-skill-scope

Verified

A Skill and MCP control panel for DSH

★ 0 Stars0 Forks1 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@02cc9eb7

dsh-skill-scope: DSH Skill 与 MCP 管控面板

许可证:MIT npm package npm 下载量 DSH Web Plugin DSH >= 0.2.0-rc.2 node

全局 + 项目粒度 skill/mcp 一键启停

English · 简体中文


安装

dsh plugin --profile web add @dotdance/dsh-skill-scope

--profile web 换成你自己的 profile 名即可。

它解决什么问题

你在 DSH 里装得越多,Agent 每一轮要读的清单就越长。

  • 用户级 Skill 目录里堆了 N+ Skill,其中能帮到当前这个任务的只有几个。
  • 每个 MCP server 都会把它的全部工具塞进模型的工具表,哪怕这一轮一个都用不上。
  • 写代码的工程和写文章的工作区,需要的 Skill 和 MCP 根本不是同一套。
  • 你想「这个项目就用这几个能力」,但官方没有给任何开关——Skill 装上就是全局可见。

后果不是"不好看",而是实打实的成本:

代价 说明
烧 Token Skill 目录与 MCP 工具表每一轮都要重新进上下文,装的越多,每一轮固定开销越大
注意力被稀释 候选太多,模型更容易选错工具、漏掉真正相关的那个
上下文不干净 无关能力混进提示词,结果更难预测,调试更难
工程之间互相污染 A 项目的专用能力,在 B 项目里也一直占着位置

dsh-skill-scope 就是为这件事做的:把「模型能调用哪些 Skill 与 MCP」变成一组 看得见、点得动的开关,并按全局和本工作区两个粒度分别管理。


它能做什么

1. 全局面板——一次收掉所有工程都不需要的能力

点左侧栏的「全局 Skills」,打开一个原生主界面页面,列出全局层的全部 Skill 与 MCP server。 在这里关掉的名字默认对所有工作区生效;某个工程确实需要时,可以在本工程里单独把它打开(见下文第 3 条)。

两个入口:侧栏的 Global Skills 与输入框右侧的 Workspace Skills

上图红圈标出两个入口:左侧栏的 Global Skills,和输入框右下角的 Workspace Skills。

  • 顶部一排是视图切换(全部 / 已启用 / 已禁用)——它只筛列表,不改任何开关。
  • 搜索框同时筛 Skill 与 MCP 两段,输入即过滤。
  • 列表按来源分组折叠,长清单也能快速定位。

官方 Skill 默认不列:@deepseek-ai 官方包自带的 Skill(cordis-* 预设、office-* 等) 默认不出现在面板上,模型仍可自动调用它们。想看见、想关掉它们时,打开视图条右端的 「显示官方 Skill」开关:这些行会回到清单,与普通行一样可以逐项关闭。 这个开关是单机级的(存在 $DSH_HOME/skill-scope/global.json),全局与本工程两个面板 都展示它、值永远一致;在工作区面板里打开它,效果同样对所有工程生效。

2. 本工程面板——只给这一个项目留要用的能力

在新会话的输入框右下角点「工作区 Skills」,打开本工程弹层(浮动在当前界面之上):

本工程面板

图中列表标题写明「只影响 default-workspace」,下半部分按来源分组:本例里 .agents 目录贡献 35 项。

  • 列表与全局面板同一份清单:全局关掉的项也在里面(开关是关的),你可以直接在这里把它打开。
  • 与全局设置不同的行带一个红色标记「与全局不同」,一眼看出这个工程动过什么。
  • 视图条除「全部 / 已启用 / 已禁用」外多一个「与全局不同」:点它只剩本工程改过的项(清单长时好用)。
  • 改动只对本工程的新会话生效,不影响别的项目。

3. 关键规则:全局给默认值,工程可以逐项改

      磁盘上的全部 Skill 与 MCP
                │
                ▼
      ┌─────────────────────┐
      │  全局层(默认值)    │   关掉 = 默认任何工程都用不了
      └─────────────────────┘
                │  逐项:跟随 / 打开 / 关闭
                ▼
      ┌─────────────────────┐
      │  工程层(可覆盖)    │   全局关的能打开,全局开的也能关掉
      └─────────────────────┘
                │
                ▼
          这一轮模型真正看得见的集合

每一项在本工程里有三种状态。界面上只有开关一种动作,因为「跟随全局」用不记这条来表达:

状态 含义 界面上怎么看出来
跟随全局 本工程对这项没有主张 开关位置与全局一致,没有红标
本工程打开 全局关着,这个工程要用 开关是开的 + 红标「与全局不同」
本工程关闭 全局开着,这个工程不要 开关是关的 + 红标「与全局不同」

想改回「跟随全局」:把开关拨回全局的样子即可,红标消失,这条决定也随之删除。

关掉 ≠ 删掉:手动调用永远还在

关掉一个 Skill 只把它的模型自动调用关掉。你仍然可以在会话里手敲 /名字 调用它。


—/ 5

No ratings yet

Verified DSH bundle

Commit 02cc9eb7a014

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