讓每個 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 有推送)的上下文頁,本頁如實區分兩者。
