前言¶
在 DeepSeek Harness(DSH)裏,智能體通過 ask_user_question 工具彈出問答卡片,佔據 Composer 區域,等待用戶勾選或填寫文字後提交。卡片自帶的回答載荷只有文本字段(selected 與可選的 custom),沒有給截圖、日誌、配置文件留位置。
DSH 裏附件走的是「提示憑證」:ctx.fileUpload 保存文件,在用戶消息被接納時一併消費。工具回答通道不帶附件,卡片展示期間用戶也無法把截圖塞進回答裏。對需要「邊選答案邊貼圖」的人機協同場景,這是實打實的缺口。
下面介紹社區插件 dsh-plugin-question-attachments(維護者 rxdage,SkillHub 分類:工作流)。它在不改動協議、不 patch 宿主的前提下,在待處理的問答卡片上增加附件入口,把上傳結果以 steering prompt 排隊交給智能體。
這是什麼¶
該插件是帶 Web 客戶端半部的標準 DSH bundle 包。當前狀態爲 alpha / 最小可用版本,作者在 README 中寫明已在 DSH 0.2.2-rc.1(Desktop,Windows)上驗證。
定位一句話:在 Session 存在 pending interaction(問答卡片佔用 Composer)時,允許用戶點擊、粘貼或拖放文件,經 fileUpload 上傳後,通過 session.prompt(..., 'steer') 把憑證與文本一起交給代理;卡片關閉後 UI 自動收起。
核心功能¶
與宿主機制的銜接¶
待處理問答期間 Session 仍處於 running。附件 steering 會被 Inbox 接受並排隊;宿主僅在當前工具等待結束後才接納隊列中的 steer,因此模型會在同一步邊界上同時看到文字回答與附件,無需改 DSH 協議。
實現上插件只使用文檔中的客戶端服務:slots、sessions、uiSession、fileUpload、session.prompt,未依賴私有 API。按 README 說明,小版本升級通常可繼續使用;客戶端 bundle 格式在 1.0 之前,大版本升級宜對照倉庫 CHANGELOG。
界面與交互¶
- 問答卡片答案行最右側出現小型附件按鈕(README 中以回形針圖標標示)。
- 點擊按鈕、使用
Ctrl+V粘貼,或將文件拖放到按鈕上。 - 調用
ctx.fileUpload.uploadImage()/upload()上傳,得到 receipt。 - 以 steering 形式發送:
session.prompt([{ type: 'file', receiptId }, { type: 'text', text }], 'steer')。 - 已發送文件在答案行上方以卡片展示(縮略圖、名稱、類型;最多展示最近三個,其餘以
+N表示)。上傳進度與失敗信息在控件附近就地反饋。
與正常 Composer 的區分¶
粘貼攔截僅發生在 pending 問答卡片內。平常 Composer 中插件不介入,仍由 DSH 自身處理粘貼:非圖片文件變成 @path chip,圖片進入草稿,按發送鍵才真正發出。
安裝與啓用¶
安裝前建議自行查看 GitHub 源碼與 MIT 許可證;插件隨當前 DSH 桌面進程的權限運行,與官方應用商店無從屬關係。社區目錄見 SkillHub 插件頁。
圖形界面(README 推薦)¶
側欄 → Plugins → Add plugin,粘貼倉庫地址後 Install → Enable now → 重啓 DeepSeek Harness。對話框亦接受 github:rxdage/dsh-plugin-question-attachments、tarball URL 或本地絕對路徑。
https://github.com/rxdage/dsh-plugin-question-attachments
命令行¶
在 desktop profile 下執行:
dsh plugin --profile desktop add github:rxdage/dsh-plugin-question-attachments
完成後按 DSH 慣例重啓宿主。卸載可通過 Plugins → 對應包 → Uninstall,或按 README「Manual」一節移除 junction 與 package.json 中的 link 配置。
典型用法¶
- 向智能體發起會觸發
ask_user_question的任務。 - 問答卡片出現後,在答案行右側使用附件按鈕:點擊選文件、粘貼截圖,或拖放文件到按鈕上。
- 等待 chip 報告上傳完成(失敗時按提示重試)。
- 正常勾選或填寫文字並提交答案;當前工具等待結束後,代理下一步會同時收到你的文字選擇與已排隊的附件 steering。
README 未提供額外示例倉庫或固定 prompt 模板;能否彈出卡片取決於你所用智能體與工具配置是否啓用 ask_user_question。
適用場景與限制¶
適合誰:經常在問答卡片環節需要補充截圖、報錯圖、小型日誌或配置片段的 DSH 桌面用戶;希望在不 fork DSH、不改協議的情況下擴展人機協同輸入方式的工作流使用者。
當前限制(均來自 README):
- 僅在有 pending 問答/審批卡片時可見;卡片隱藏後
pendingInteraction清除,附件控件消失。 - 阻塞工具調用期間的 steering 按設計排隊,不會即時送達。
- 每個文件對應一條消息;尚無拖拽排序或預覽。
- 示例中僅顯式接好 desktop profile;任何同時具備
fileUpload與sessions客戶端服務的 profile 在原理上可用,但需自行驗證。
兼容性與版本:package.json 標明插件版本 0.1.5;驗證宿主爲 DSH 0.2.2-rc.1。升級 DSH 後若 UI 異常,先查插件 CHANGELOG 與 issue。
結尾¶
dsh-plugin-question-attachments 補上的是問答卡片階段的文件輸入:上傳走既有 fileUpload,交付走既有 steer 隊列,裝拆不改宿主核心。若你的工作流裏 ask_user_question 出現頻率高,又常需要「選一項再貼一張圖」,可以把它當作可選客戶端增強試用。