Skip to content

dsh-scope-manager

Verified

dsh-scope-manager · v0.1.47 · MIT · Web UI

DeepSeek Harness 作用域管家:按「全局 / 工作区 / 会话」三层作用域管理角色卡、工具、技能、MCP 与预设,带侧边栏。Scope manager for DeepSeek Harness: presets, persona cards, tools, skills and MCP connections bound to global / workspace / session layers.

Install

dsh plugin add dsh-scope-manager

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Tags

Creators

Readme

功能管理和预设(dsh-scope-manager)

一个带侧边栏的 DSH 管理插件(侧栏里叫「功能管理和预设」):把「哪些工具、哪些技能、用哪张角色卡、哪些 MCP」按 全局 / 工作区 / 会话 三层管起来。

优先级:会话 > 工作区 > 全局。没绑预设的层级继承上级;顶层什么都不绑就是「默认预设」——全部工具与技能都启用,之后新装的也算启用。

数据存在本机用户目录,插件本身不依赖任何外部服务(技能市场除外)。

界面总览

侧边栏打开后是六个页签,每个页签管一类东西:

页签 管什么
作用域 三层结构:全局 → 各工作区 → 工作区内的会话
预设 一套完整的设定(角色卡 + 工具 + 技能 + 提示词段落),可被任意层级引用
角色卡 可复用的角色模板,两种注入方式
插件 系统插件与用户插件的段落、工具展示、归属
MCP 外部连接器及其带来的工具
技能 已安装技能与技能市场

会话标题下方还多一条 会话信息 页签,只读,给出当前会话的现状快照。

作用域

一张层级图:全局 → 各工作区 → 工作区内的会话。每个节点只绑一个预设。节点上可以改名、移除或归档(工作区可移除,会话可归档、取消归档、置顶、删除),也可以点开选一套预设绑上去。

三种绑定方式

选法 含义 效果
继承上级 这一层不指定 往上找:会话 → 工作区 → 全局。哪一层都没指定,就是默认预设
跟随系统 显式选择「全部放开」 从这一层往下全部启用,角色卡、名单、备注都不会从下面漏上来
绑定某个预设 指定一套 这层用这套预设的设定;子层级没绑时继承它

预设

「一套设定」的打包:角色卡 + 工具名单 + 技能名单 + 系统提示词段落名单。任何一层作用域都能引用同一套预设。

页面上每套预设一张卡片,卡片上能看到:

  • 预设名字与一段说明
  • 徽标:用的是哪位角色卡、权限档位是什么、新装插件的工具默认激不激活
  • 操作行(卡片最下面):查看组成、调整、还原

点卡片正文会打开「调整」弹窗;系统预设与插件预设还可以点「查看组成」,逐项看这套预设的绑定:角色卡、工具名单、技能名单、提示词段落名单,工具与技能按两级分组勾选。

候选工具与技能取的是全量,不受当前会话绑了多窄的预设影响,所以不会出现「明明有却在列表里找不到」的情况。

三类预设

类别 来源 能做什么
系统预设 宿主自带的那几套 查看组成、调整、还原
插件预设 别的插件注册进来的 查看组成、调整、还原
用户预设 在本插件里自己建的卡 调整、删除

「调整」弹窗能改什么

  • 选一张角色卡
  • 选权限档位
  • 新装插件的工具是否默认激活
  • 逐个工具、逐个技能、逐段提示词的启停(工具与技能按插件分组,点开插件卡逐项勾)

工具与技能默认全勾:勾着 = 这一层让它生效,取消勾选 = 这一层停用它。全勾意味着不限制,所以之后新装的插件、新注册的工具默认可用,不会被一份旧名单悄悄挡在外面。「还原」把一套预设恢复到刚创建时的样子。

角色卡

角色卡模板集。每一张卡是一张卡片,卡片上有首字图标与名字、注入方式徽标、一段说明或正文摘要、三段正文各多少字(世界观 / 角色 / 约束),操作行(卡片最下面)有编辑与删除。卡片内容写在三段里:世界观、角色设定、行为约束。

两种注入方式

详情页顶部是一个模式选择器,两档并排、各带一句说明:

方式 效果
作为上下文消息 把角色卡拼成一条合成消息,随对话一起送给模型
覆盖系统提示词对应段落 直接替换系统提示词里的对应段落:世界观盖住世界观段,角色设定与行为约束盖住人设段

切换模式只改注入方式,下面三个框里的字一个字都不动,需要保存才生效。覆盖模式下某一格留空也会照盖,等于把那一段抹掉。角色卡可以被预设和各层级引用。

插件

两个子页:

  • 系统插件:宿主自带的那些,只显示这个会话里真正在跑的。
  • 用户插件:自己装进 profile 的,包括「一个工具都没注册」的换肤/挂件类。

每张插件卡片上有名字、版本、一句简介,以及「几把工具 / 几段提示词」。

点卡片进详情,可以做三件事:

  • 系统提示词段落:逐段改写文字、开关注入、设置归属。
  • 工具:改显示名、写描述备注。
  • 归属设置:决定这段提示词跟着哪几把工具走——关联着的工具一个都没启用时,这段就不注入。

接不到任何插件的段落(既认不出来源、又接不上工具的那几段)列在系统插件子页底部的「未归组的提示词」里,同样有注入 / 归属 / 编辑。归属可以指定「这段算哪个插件的东西」,选完它就搬进那张插件卡片里;取消归属则搬回来。

这一页是全量清单,与当前会话绑了什么预设无关:插件注册了什么就列什么。备注、改写、是否注入都是全局一份,改了对所有会话生效。MCP 那批不在这里,跟着「MCP」页的连接器走。

技能

两个子页:

已安装

内置与第三方技能一览,按三组折叠:

组 装的是谁 卡片上的标签
内置 随 agent 预设一起加载的、官方技能包里的 内置 · 包名
插件 插件包自己带的 插件 · 包名
其他 从技能市场装的、会话里建的、项目里的、额外配置的目录 其他

每张技能卡片上有首字图标、名字、来源标签、一句简介。操作行(卡片最下面)有:

  • 读取 / 改写:点进详情看完整技能说明文件,可直接改、保存写回(改前自动留一份备份)。
  • 停用 / 启用:停用的卡片会挂「已停用」徽标。
  • 删除:只对「其他」组里自己装的技能开放;内置与插件自带的不给删。删除会先确认一次,确认后整个技能目录被移除,不可撤销。

技能市场

直接浏览公开技能市场,不用登录、不用 key。

  • 浏览:瀑布流,一页 20 条,滚到底自动续下一页;顶部实时显示「共 N 个 · 已加载 M」。
  • 排序:相关度、热门、下载多、星标多四档;浏览时默认按热门,填了搜索词自动切成相关度。
  • 搜索:填词后按贴合度重排——名字或标识里带搜索词的排在只写在描述里的前面。
  • 查看详情:点卡片弹出技能详情,含图标、名字、版本、作者、分类、下载/安装/星标数、两项安全扫描结论、中英文摘要、标签与来源页链接;底部三颗按钮:安装到本机、在浏览器打开、关闭。
  • 安装:装进用户级技能目录,所有项目都能用;装完回显落地路径。已装过的会拦下来提示,可勾选「覆盖」再装。

没有图标的技能用名字的第一个字当图标,底色按名字散列,同名同色。安装失败会清掉半成品目录。

MCP

一块外部 MCP server 在这里表现为一台连接器。每台一张卡片,卡片上有:

  • 名字(默认取服务器名,也可以改成「面板服务」这种好认的说法)
  • 状态徽标
  • 一句「怎么连的」(传输方式与地址)
  • 工具数量
  • 操作行(卡片最下面):启用 / 停用、编辑、探测、复制、删除

点卡片正文进详情:

  • 头部卡片:名称、服务器名、状态、地址、探测结果
  • 系统提示词:连接器自带的提示词段落,可开关注入、查看原文、改写、保存改写、还原原文
  • 工具:逐个开关、逐个写备注

顶上的搜索框搜的是所有连接器的工具清单,搜到哪台,那台会自动展开。

新增 / 编辑

走弹窗,字段顺序:名称(给人看的,不填就用服务器名)、服务器名(工具名会带它做前缀,改它会连前缀一起改)、传输方式(stdio 或 HTTP)、URL / 命令 / 参数 / 环境变量 / 工作目录 / 请求头、要不要先停用。点遮罩空白处或右上角 × 关掉。

各操作的行为

操作 行为
停用 / 启用 停用后宿主不再挂载它;启用会重新挂载并连接
探测 stdio 查命令在不在 PATH;HTTP 发一次初始化请求,只看状态码
复制 留在原来那一层,复制出一台新的,服务器名自动加后缀以保证工具前缀唯一
删除 删掉这条连接,连它的显示名一起清掉

状态徽标

徽标是对几处事实核对出来的,不是猜的:已停用、宿主没挂上、挂着但没激活、已挂载但没连上、已连接(N 个工具)。「配了却没被识别」多半落在前三种里。启用时若卡在「挂着但没激活」,页面会自己重新挂载一遍。

工具开关

每台服务器的工具清单折在它自己条目里,展开后逐个开关、逐个写备注。关掉的工具模型既看不到也不会调用。工具备注与插件页是同一套编辑器,在哪边改另一边立刻同步。

会话信息

会话标题下方那排视图页签里多一条 会话信息,只读,给当前会话一份现状快照:

  • 预设、角色卡(名字 / 注入方式 / 三段正文)、权限
  • 工具:先按 系统工具 / 插件工具 / MCP 工具 三类分开数,每类再按归属折叠展开
  • 系统提示词:注入 / 停用 / 空段计数,再按真实装配顺序把每一段的原文摊开——这就是模型实际读到的那份提示词,空段标「空段」

右上角有「刷新」。

安装

npm

dsh plugin --profile <profile> add dsh-scope-manager

GitHub

dsh plugin --profile <profile> add github:nanaaya98/dsh-scope-manager

装完把 dsh-scope-manager 加进 profile 的 bundles 列表,重启 DSH 即生效。

本地目录

在 profile 的 package.json 里加上依赖,并把 dsh-scope-manager 加进 bundles 列表,再让 node_modules/dsh-scope-manager 指向本地目录即可。

自带测试

node test/smoke.mjs

纯 Node 冒烟测试,覆盖 HTTP 门禁、三层覆盖与合并、工具与技能名单生效、角色卡注入、段落开关与改写、MCP 连接器的增删启停、技能启停与市场安装等。