前言¶
在 DSH(DeepSeek Harness)Web 裏向模型提複雜需求時,若背景、約束、輸出格式寫不全,首輪迴答往往要來回補問。社區裏常見做法是走 skill,讓模型調用 ask_user_question 逐項彈表——功能完整,但會多一次模型往返。若你更習慣自己在輸入框裏一次性填好再發送,就需要一條不經過模型的本地路徑。下面介紹客戶端插件 dsh-ask-template(維護者 maboloshi):在輸入框敲裸 /ask 並回車,瀏覽器把固定五段空白模板寫進草稿,全程 0 次模型調用;填完再按回車,與普通用戶消息無異。
這是什麼¶
dsh-ask-template 是 DSH 客戶端類插件(當前 GitHub 星標 0),版本 0.1.0,MIT 許可。倉庫同時交付兩半能力,共用同一套五段字段:
| 半 | 載體 | 手勢 | 誰在彈表 | 模型調用 |
|---|---|---|---|---|
| 客戶端命令(本插件主體) | DSH 客戶端插件 | 裸 /ask + 回車 |
瀏覽器本地寫草稿 | 0 次 |
配套 skill ask-user |
技能文件 | /ask-user 或 / 菜單 |
模型調 ask_user_question |
有 |
想省模型往返、自己打字填——用 /ask;想讓 agent 在對話裏逐項問、點選即可——用 /ask-user(skill,需單獨放置 SKILL.md)。
- 目錄頁:https://www.skillhub.cn/plugins/maboloshi/dsh-ask-template
- 源碼:https://github.com/maboloshi/dsh-ask-template
DSH 生態理念是「一切皆插件」;SkillHub 等社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。
核心功能¶
裸 /ask 的工作方式¶
敲 /ask 且後面沒有空格參數時,全程不碰模型:
/命令源在裸 token/ask上命中本插件的action型命令貢獻;- 消費
/ask詞,執行純客戶端回調,不提交任何消息; - 回調通過
ctx.sessions.scope(sessionId)取會話作用域,再用ctx.conversation.input.for(actx).setDraft(模板)把空白模板寫入輸入框草稿; - 你填完按回車——此時纔是普通用戶消息,模型只看到填好的五段表。
/ask 參數…(帶空格)不命中命令,會照舊當普通文本發出,skill 那條路仍可用。
五段模板¶
【背景情況】
【核心問題】
【約束與要求】
【輸出格式】
未提供
【已有嘗試】
未提供
必填三段(背景、核心問題、約束與要求)留空等你填;選填兩段預填 未提供,不動即表示該項最終取值爲「未提供」,無需刪改。
實現側要點(維護者參考)¶
- 瀏覽器半爲手寫 CJS 閉包 bundle,無 React、無構建步驟、無運行時依賴,改完刷新頁面即生效。
- 回車命中
action時,提交機器記爲handled且不產生 effect,草稿不會被「提交後清空」邏輯喫掉。
安裝與啓用¶
插件以當前 dsh 進程權限運行;安裝前請自行查看倉庫源碼與 LICENSE(MIT)。
1. 客戶端命令(插件)¶
本地 link 安裝(README 原文):
dsh plugin --profile web add link:<本倉庫路徑>
該命令經 pnpm 安裝,並自動把 dsh-ask-template 追加進 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles,裝完刷新 DSH Web 頁面。
發佈後也可從 npm 源安裝:
dsh plugin --profile web add dsh-ask-template
2. 配套 skill ask-user(可選)¶
若需要模型驅動的彈表路徑,將 README 中的 front matter 與說明存爲:
~/.agents/skills/ask-user/SKILL.md
(倉庫內路徑約定爲 skills/ask-user/SKILL.md。)skill 原曾叫 ask,改名是爲了把裸 /ask 手勢讓給客戶端命令,避免 / 菜單出現兩行同名。
卸載¶
dsh plugin --profile web remove dsh-ask-template
skill 側刪除 skills/ask-user/ 目錄即可。
典型用法¶
- 在 DSH Web 會話輸入框輸入
/ask,不要在/ask後加空格或參數,直接回車。 - 輸入框出現五段模板草稿;從「【背景情況】」起填寫必填段,按需改選填段。
- 確認內容後回車發送,模型按你填好的結構化信息作答。
若輸入框裏已有文字,執行 /ask 會整段替換爲模板,替換前會有提示,舊草稿不保留。
適用場景與注意¶
適合誰
- 經常提「帶背景 + 約束 + 輸出格式」類問題,希望首輪就信息完整;
- 希望減少一次「模型彈表」往返,更願意在本地草稿裏編輯後再發。
已知限制(README 原文)
setDraft後光標停在草稿末尾(「【已有嘗試】」的未提供之後),要填第一段需自己點上去;契約暫無「帶光標位置寫草稿」入口。- 命令與 skill 共用同一套五段字段,改字段需兩邊一起改。
安全提醒
客戶端插件在瀏覽器側執行回調並改寫輸入草稿;安裝前請從 GitHub 覈對 lib/client.js 等行爲是否符合預期。
結尾¶
dsh-ask-template 把結構化填表從「模型彈表」拆出一條 零模型調用 的 /ask 路徑,與可選 skill ask-user 字段一致,按習慣二選一即可。