让每个 Agent 只看该看的:dsh-agent-studio 可视化装配实录
一支 118 秒的实录逐帧拆解:模型每轮只读三份目录——系统提示词、工具目录、技能目录。装插件、编三份白名单、绑预设、发一句对话,最后用 dsh-context 验收瘦身后的上下文。
最近更新: 2026-10-25

2026-09-22,UP 主我可是森森呢发布了一支 118 秒的实录,演示自己开发的开源插件 thissensen/dsh-agent-studio(2026-10-25 B站 view API 实查 7,481 播放):把 Agent 的提示词、工具、技能、子代理、备用模型全部可视化拼装——按 Agent 编白名单,名单外的东西根本不进上下文。本页每一帧都出自这支录屏,步骤与设置项逐一对照仓库 README 核验过。
原理一句话讲完:模型每一轮读的只有三份目录——系统提示词、工具目录、技能目录。插件、工具、MCP 越装越多,这三份只会越来越大。dsh-agent-studio 的做法是给每个 Agent 各编一份白名单:名单外的段不投递、工具不下发、技能不暴露;配置存在插件自己的数据里,不动宿主预设,卸载即恢复原状。
结论速览
- ▸模型每一轮只读三份目录:系统提示词、工具目录、技能目录;插件越装越多,三份只会越来越大。
- ▸dsh-agent-studio 按 Agent 给三份目录各编白名单:名单外的段不投递、工具不下发、技能不暴露;配置存插件自己数据,不改宿主预设,卸载即恢复。
- ▸子代理独立配模型、思考强度、提示词、工具、技能;主模型限流或挂了,备用候选链可跨供应商按序顶上,不配则完全不接管。
- ▸三条安装路:npm 一条命令、GitHub Release 离线包、源码 link:;装完重启 DSH,在 设置 → Agent 中心 看到面板。npm 最新 0.1.8(2026-10-20 发布)。
九步装好一个白名单 Agent
为什么需要它
- 1
先搞懂:模型每轮只读三份目录
README 把话说得很直白:模型每一轮看到的东西就三份——系统提示词、工具目录、技能目录。预设里注册了哪些段就投递哪些段,工具面按已装插件全量下发,所有可自主调用的技能全部进目录;DSH 给子代理的配置也极其简陋,没法轻松配它的提示词、工具、技能和模型。dsh-agent-studio 把 Agent 拆成可拼装的积木:提示词集、工具集、技能集装成一个 Agent,子代理一样能高度定制,兼容官方 PTC 模式,还支持跨供应商的备用候选模型。
安装与重启
- 2
三条安装路,装完重启一次
按手头条件挑一条:有网络走 npm 一条命令;内网或离线去 Releases 下载 tgz 安装包(就是 npm 上那份包,不用自己构建,文件名里的版本号换成实际下载的);想改代码就源码安装,link: 进去改 lib/ 立即生效。--profile 填 web(纯 Web 版)或 desktop(桌面版)。三条路装完都重启一次 DSH,在 设置 → Agent 中心 看到面板就成了。插件要求 dsh >= 0.2.1-alpha.2(全功能下界,派活依赖这个版本才有的接口);社区桌面版自带的平台达不到,那边请装旧版 dsh-agent-studio@0.1.5。
$dsh plugin --profile web add dsh-agent-studio$dsh plugin --profile web add "./dsh-agent-studio-0.1.8.tgz"$dsh plugin --profile web add "link:<源码目录的绝对路径>"
按 Agent 裁三份目录
- 3
第一份白名单:编提示词集,裁系统提示词
进 设置 → Agent 中心,先建提示词集。段有两种:平台预设段只读,正文跟着平台升级走,比如 tools:sdk 这类 PTC 专属段;自定义段自己写正文,支持平台注册的插值变量。视频里 UP 主把狼烟提示词(id prompt-set-3)里的段落逐个过了一遍,只勾需要的——一个都不装,投递的就是空提示词;集里段的顺序就是投递顺序。
$编辑「狼烟提示词」$id prompt-set-3$tools:sdk$PTC 专属$+ 平台预设
平台预设段只读、跟着平台升级走;自定义段自己写。在 B 站看 0:45 - 4
第二份白名单:建工具集,名单外收起来
工具集的候选按来源分组,面板直接读该预设此刻的工具面,不用先发消息。视频里新建的工具集共 37 个候选:其他来源 0/10(config_backup 到 terminal 一类),dsh-agent-studio 自己也有 0/2(studio_delegate 和 studio_list_subagents)。挑出这个 Agent 要用的,其余收起来;一个都不装就是一个工具都不给。注意 skill 是必配项,没有它 AI 没法自主调用技能。
$编辑「未命名工具集」$id tool-set-6$候选 1 / 共 37$dsh-agent-studio 0/2
工具候选按来源分组;勾哪些,模型这轮就看到哪些。在 B 站看 0:55 - 5
后台工具按需勾,技能同理
往下滚就是后台任务一组:job_kill、job_list、job_output 三个全勾上(3/3),dsh-skill 的 skill 也勾上(1/1)——这个 Agent 能查能杀后台任务、能自主调技能,其余组的工具它一概看不见。技能集同理:候选按来源分组可折叠,勾哪些给哪些,不勾的模型看不见。
$dsh-tool-jobs 3/3$job_kill$job_list$job_output$dsh-skill 1/1
这个 Agent 会管后台任务、能自主调技能,别的组一概看不见。在 B 站看 1:05
子代理与备用链
- 6
子代理独立配模型,不再是整套继承
编辑代理里有个「被当子代理时」的模型配置:供应商下拉里除了继承本会话,还有 SenseAudio、CCSwitch、Command Code、DeepSeek、Qoder 可选,思考强度和备用模型也单独配——官方 subagent 只能整套继承主代理。两个前提:派活要走插件自带的 studio_delegate 工具才认得出身份,官方 subagent 工具派出的没有角色登记;每个代理的备注行就是派活依据,模型靠它决定把活派给谁。
$(继承本会话)$SenseAudio$CCSwitch$Command Code$DeepSeek$Qoder
重试次数默认 5;派活要走 studio_delegate 才认得出这个身份。在 B 站看 1:25 - 7
备用候选链:主模型挂了按序顶上
模型与后台模式这一栏能配一条备用候选链,可跨供应商:视频里的主选是 Command Code 的 DeepSeek V4.1 Flash(思考强度 Low,后台模式三档选了 AI 自行决定),备用1 挂了另一家供应商。重试次数默认 5,每个候选各自算:空响应、限流、超时这类可重试错误重试到上限才换下一个,额度耗尽、凭据失效直接换。不配备用候选就是完全不接管,一切正常时插件不碰你的选择;全链走完这次请求才算失败,当次会话不自动切回。
$重试次数 5$DeepSeek V4.1 Flash$AI自行决定$备用1$Command Code
备用候选可跨供应商;不配这条链,插件完全不接管重试。在 B 站看 1:30
预设绑定与验收
- 8
新建预设,把预设绑给 Agent
到 Agent 预设页新建一个预设:新建就是把来源预设的整个目录复制一份(提示词组合、技能、资源都带上),源预设不动——视频里选了标准模式,新 id 填了 test。绑定的规矩三面一个字:没装就是空的。把预设绑到配好的 Agent 上,点保存改动——只有点了保存才落盘,别忘了。
$新建预设$来源 标准模式$新 id test$创建
源预设不动;绑给哪个 Agent,哪个 Agent 说了算。在 B 站看 1:35 - 9
发一句对话跑起来,用 dsh-context 验收
用绑定的预设开个新对话,发一句你好啊,然后到 dsh-context 的上下文页看这一轮真实发生了什么:当前上下文 113,系统提示词 1 段 ≈6(占已用上下文 6%),Token 统计里系统提示词只占 1.0%——白名单真的把三份目录裁下去了。视频结尾就是这一幕:插件信息面板里挂着 dsh-context(bowenliang123/dsh-context),README 也把它列为配套的验收工具。
$113 系统提示词 ≈6 (6%)$系统提示词 1 段$deepseek/deepseek-v4.1-flash · command-code
同一帧的另外三个读数:总用量 191,助手消息占 81.7%。在 B 站看 1:50
常见问题
关于 dsh-agent-studio 的安装、安全边界与验收,5 个最高频的疑问。
装完了怎么没看到面板?
三个最常见的原因:一是没重启——三条安装路装完都要重启一次 DSH;二是找错地方——面板常驻在 设置 → Agent 中心(也可以在面板底栏打开「注册到主页面」,主页面和左栏会直接出现入口);三是 profile 装串了——--profile 填 web 装进纯 Web 版,填 desktop 装进桌面版,启动哪个 profile 就看哪边。另外社区桌面版自带的平台版本达不到插件的最低要求,那边要装旧版 dsh-agent-studio@0.1.5。
它会不会改坏我现有的预设?
不会。配置全部存在插件自己的 settings 命名空间 agent-studio 下,宿主既有的预设定义一个字都不动;不想要了就解绑,预设立刻恢复原样;彻底卸载用 dsh plugin --profile web remove dsh-agent-studio,宿主配置里不留任何痕迹。唯一的例外是 minimal 这类极简预设的段面本来就不受装配影响——平台设计如此,损失也有限。
模型每一轮到底看什么?
三份:系统提示词、工具目录、技能目录。dsh-agent-studio 的语义边界是「没装就是空的」:一个提示词集都不装就投递空提示词,一个工具集都不装就一个工具都不给,一个技能集都不装就一个技能都不暴露;装了就只看勾的。同一 Agent 装载的集之间不允许有重叠成员,界面和写入端点各拦一道。
怎么核对白名单真的生效了?
配 dsh-context(bowenliang123/dsh-context,Apache-2.0)。它能看到模型这一轮实际收到的提示词、工具和技能长什么样;视频结尾的验收画面就是 dsh-context 的上下文页——绑定后的第一轮对话,系统提示词 1 段 ≈6,占已用上下文 6%。站内另有一篇 dsh-context 专文(上下文可视化)。
子代理的模型怎么单独指定?
编辑代理时,「被当子代理时」的模型、思考强度和备用模型都可以独立配置,不用再整套继承主代理。两个前提别忘了:派活要走插件自带的 studio_delegate 工具,子代理那套独立配置才生效(官方 subagent 工具派出的没有角色登记);同时派多个也没问题,身份在派活前就登记好了。
相关攻略
这几篇解决的是相邻但不相同的问题——每篇一句话划清边界。
来源与致谢
本文全部 7 帧画面出自我可是森森呢发布的录屏(BV18ihr6mEno,118 秒,2026-09-22 发布;播放量 7,481 为 2026-10-25 B站 view API 实查值),仅作署名引用,烧录字幕与角标已在导出时裁除,每一帧都核对过与原片对应秒数的画面一致(2026-10-25 逐帧复核)。事实基准为 thissensen/dsh-agent-studio 仓库 README(2026-10-25 经 GitHub API 核验:★41,MIT,created 2026-09-18,pushed 2026-10-20;npm 最新 0.1.8 亦发布于 2026-10-20;README 自带在线文档站与 CI 徽章,npm 包、文档、CI 三重工程化信号)。视频简介自报开源地址即该仓库,B站名「我可是森森呢」与 GitHub 用户名 thissensen 互相呼应,但同一性未获第三方直证,特此说明。验收帧画面为配套插件 dsh-context(bowenliang123/dsh-context,Apache-2.0,★3540,2026-10-24 有推送)的上下文页,本页如实区分两者。
