dsh-scope-manager
Verifieddsh-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 连接器的增删启停、技能启停与市场安装等。