前言¶
DeepSeek Harness(DSH)的插件生態允許開發者擴展其功能。在構建複雜工作流或進行多輪對話開發時,常需要在不同的會話之間傳遞上下文、發送指令或讀取歷史記錄。手動複製粘貼不僅效率低下,還容易出錯。dsh-session-tools 旨在解決這一痛點,提供一套標準的會話管理工具。
插件介紹¶
這是一個 Web 端插件,由 Unintendedz 維護。它主要提供四個核心工具:會話歸檔、跨會話讀取、跨會話發送消息以及等待回覆,同時在 UI 層面增加了便捷的會話 ID 複製功能。插件版本爲 v0.2.2,基於 MIT 協議開源。
安裝與啓用¶
使用官方命令安裝指定版本。安裝後需重啓 DSH Web 服務以加載插件。
dsh plugin --profile web add github:Unintendedz/dsh-session-tools#v0.2.2
核心功能¶
- session_archive: 歸檔當前會話或指定 ID 的會話。歸檔是持久的,但不會刪除數據。
- session_read: 讀取另一個會話的快照。DSH 會使用原生的會話引用解析器,返回的文本受主機字節限制,且被明確視爲不受信任的上下文。
- session_send: 向另一個普通會話發送消息,並獲得一個持久的請求 ID。
- session_wait: 等待或輪詢
session_send返回的回覆。 - UI 交互: 在每個會話列表項的三點菜單和會話頭部增加了 ID 複製按鈕。
典型用法¶
- 獲取會話 ID: 使用列表項的三點菜單中的“Copy session ID”,或打開會話後點擊頭部的“ID”按鈕。
- 發送消息: 在當前會話調用
session_send指令。
{
"session_id": "目標會話ID",
"message": "請檢查測試結果並總結失敗項。"
}
- 等待回覆: 使用上一步獲得的
request_id調用session_wait。
{
"session_id": "目標會話ID",
"request_id": "從 session_send 獲得的ID",
"timeout_seconds": 60
}
超時設置範圍爲 0-600 秒,設爲 0 可用於輪詢。等待狀態返回 `running` 時安全,不會重發請求或取消目標。
- 讀取或歸檔: 將複製的 ID 粘貼到另一個會話中,請求該會話調用
session_read或session_archive。
注意事項¶
- 安全與信任:
session_read返回的內容是有界的,且不受信任。 - 會話規則:
session_send和session_wait必須針對兩個不同的普通會話,不支持自引用。只有創建請求的會話有權等待結果。子代理會話應使用 DSH 內置工具。 - 等待限制:
session_wait僅返回可見的助手文本,不含推理和工具追蹤,且 UTF-8 文本限制爲 65,536 字節。超時僅返回running,不重發請求或取消目標。 - 歸檔規則:
session_archive僅保存日誌,不刪除對話數據。 - 參數要求: 工具參數必須爲精確、非空的 ID,拒絕未知字段。
生態鏈接¶
該插件基於 MIT 協議開源。更多詳情與源碼請訪問:GitHub。