讓每個 Agent 只看該看的:dsh-agent-studio 視覺化組裝實錄

一支 118 秒的實錄逐幀拆解:模型每輪只讀三份目錄——系統提示詞、工具目錄、技能目錄。裝外掛、編三份白名單、綁預設、發一句對話,最後用 dsh-context 驗收瘦身後的上下文。

最近更新: 2026-10-25

dsh-context 上下文頁顯示綁定 Agent 後的第一輪對話:當前上下文 113、系統提示詞 ≈6(6%),右側上下文瀏覽器列出系統提示詞 1 段——白名單裁剪後的驗收畫面。
驗收一幕:白名單真的把系統提示詞裁到剩個位數。

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. 1

    先搞懂:模型每輪只讀三份目錄

    README 把話說得很直白:模型每一輪看到的東西就三份——系統提示詞、工具目錄、技能目錄。預設裡註冊了哪些段就遞送哪些段,工具面按已裝外掛全量下發,所有可自主呼叫的技能全部進目錄;DSH 給子代理的設定也極其簡陋,沒法輕鬆配它的提示詞、工具、技能和模型。dsh-agent-studio 把 Agent 拆成可拼裝的積木:提示詞集、工具集、技能集裝成一個 Agent,子代理一樣能高度客製,相容官方 PTC 模式,還支援跨供應商的備用候選模型。

安裝與重啟

  1. 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 裁三份目錄

  1. 3

    第一份白名單:編提示詞集,裁系統提示詞

    進 設定 → Agent 中心,先建提示詞集。段有兩種:平台預設段唯讀,正文跟著平台升級走,比如 tools:sdk 這類 PTC 專屬段;自訂段自己寫正文,支援平台註冊的插值變數。影片裡 UP 主把狼煙提示詞(id prompt-set-3)裡的段落逐一過了一遍,只勾需要的——一個都不裝,遞送的就是空提示詞;集裡段的順序就是遞送順序。

    $编辑「狼烟提示词」
    $id prompt-set-3
    $tools:sdk
    $PTC 专属
    $+ 平台预设
    設定 → Agent 中心的提示詞集編輯頁:狼煙提示詞(id prompt-set-3)的段清單裡 tools:sdk 標著 PTC 專屬,自訂段正文支援平台註冊的插值變數,可加自訂段或平台預設段。
    平台預設段唯讀、跟著平台升級走;自訂段自己寫。到 B 站看 0:45
  2. 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
    Agent 中心的新建工具集:剛建的未命名工具集(id tool-set-6)共 37 個候選,其他來源組 0/10、dsh-agent-studio 組 0/2,全選與全不選按鈕在清單上方。
    工具候選按來源分組;勾哪些,模型這輪就看到哪些。到 B 站看 0:55
  3. 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
    工具集往下捲到背景工作:dsh-tool-jobs 組 3/3 全勾(job_kill、job_list、job_output),dsh-skill 組 1/1 勾了 skill,dsh-tool-fs 等其餘組維持 0/x。
    這個 Agent 會管背景工作、能自主呼叫技能,別的組一概看不見。到 B 站看 1:05

子代理與備用鏈

  1. 6

    子代理獨立配模型,不再是整套繼承

    編輯代理裡有個「被當子代理時」的模型設定:供應商下拉裡除了繼承本會話,還有 SenseAudio、CCSwitch、Command Code、DeepSeek、Qoder 可選,思考強度和備用模型也單獨配——官方 subagent 只能整套繼承主代理。兩個前提:派活要走外掛自帶的 studio_delegate 工具才認得出身分,官方 subagent 工具派出的沒有角色登記;每個代理的備註行就是派活依據,模型靠它決定把活派給誰。

    $(继承本会话)
    $SenseAudio
    $CCSwitch
    $Command Code
    $DeepSeek
    $Qoder
    編輯代理的模型與背景模式:供應商下拉展開,列出繼承本會話、SenseAudio、CCSwitch、Command Code、DeepSeek、Qoder——子代理的模型從這裡獨立指定。
    重試次數預設 5;派活要走 studio_delegate 才認得出這個身分。到 B 站看 1:25
  2. 7

    備用候選鏈:主模型掛了按序遞補

    模型與背景模式這一欄能配一條備用候選鏈,可跨供應商:影片裡的主選是 Command Code 的 DeepSeek V4.1 Flash(思考強度 Low,背景模式三檔選了 AI 自行決定),備用1 掛了另一家供應商。重試次數預設 5,每個候選各自算:空回應、限流、逾時這類可重試錯誤重試到上限才換下一個,額度耗盡、憑證失效直接換。不配備用候選就是完全不接管,一切正常時外掛不碰你的選擇;全鏈走完這次請求才算失敗,當次會話不自動切回。

    $重试次数 5
    $DeepSeek V4.1 Flash
    $AI自行决定
    $备用1
    $Command Code
    配好的主選與備用鏈:供應商 Command Code、模型 DeepSeek V4.1 Flash、思考強度 Low、背景模式選 AI 自行決定,備用1 掛另一供應商,下方還列著子代理名冊。
    備用候選可跨供應商;不配這條鏈,外掛完全不接管重試。到 B 站看 1:30

預設綁定與驗收

  1. 8

    新建預設,把預設綁給 Agent

    到 Agent 預設頁新建一個預設:新建就是把來源預設的整個目錄複製一份(提示詞組合、技能、資源都帶上),源預設不動——影片裡選了標準模式,新 id 填了 test。綁定的規矩三面一個字:沒裝就是空的。把預設綁到配好的 Agent 上,點儲存變更——只有點了儲存才會寫入,別忘了。

    $新建预设
    $来源 标准模式
    $新 id test
    $创建
    Agent 預設頁的新建預設對話框:來源選標準模式,新 id 填 test,描述留空則繼承來源預設——新建就是把來源預設的整個目錄複製一份。
    源預設不動;綁給哪個 Agent,哪個 Agent 說了算。到 B 站看 1:35
  2. 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
    用綁定預設發出「你好啊」之後,dsh-context 記錄本輪 Token 統計 191、系統提示詞佔 1.0%、第 1 輪第 1 步實際 35 輸出 156——外掛資訊面板掛著 bowenliang123/dsh-context。
    同一幀的另外三個讀數:總用量 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 有推送)的上下文頁,本頁如實區分兩者。

DSH Plugins 是獨立的 DeepSeek Harness 外掛市集,與 DeepSeek 官方無關,也不代表官方背書。第三方外掛未經安全稽核,安裝前請審查原始碼。

每週取得最新的 DeepSeek Harness 外掛,絕不濫發。