前言¶
DSH 的擴展方式是插件化,社區目錄是獨立站點,不是 DeepSeek / 幻方官方應用商店。對於 DSH Web GUI 中的長會話,用戶發送的消息容易夾在多輪迴復裏,靠滾輪迴看比較費時。
AFAP/dsh-message-minimap 在 DeepSeek Harness Web GUI 會話聊天窗的左邊緣顯示一條迷你導航條:每一條你發送的消息都是刻度,懸停看摘要,點擊即跳轉,拖動可快速掃讀長會話。
本文基於已覈實資料,介紹它解決什麼問題、能做什麼、如何安裝,以及使用邊界。
這是什麼¶
AFAP/dsh-message-minimap 是由 AFAP 維護的客戶端插件,使用 MIT 許可證。
它解決的問題很具體:在 DSH Web GUI 會話中快速定位“我之前發過的那條消息”。插件不改變會話內容,只在聊天窗左邊緣提供一條緊湊居中的迷你導航條,把用戶消息映射成刻度,支持懸停預覽、點擊跳轉和軌道拖動。
GitHub 倉庫地址:
https://github.com/AFAP/dsh-message-minimap
核心功能¶
下面介紹已覈實的能力。
- 在聊天窗左側顯示一條緊湊居中的迷你導航條。
- 每條用戶消息對應一個刻度,刻度在刻度列上均勻分佈。
- 覆蓋全部用戶消息,包含分頁未渲染的歷史;點擊未加載的刻度會自動向上翻頁。
- 按消息
id將 API 數據與 DOM 節點精確關聯,點擊後平滑滾動到目標消息。 - 當前視口內的消息刻度自動加粗高亮。
- 鼠標掃過刻度列時魚眼放大。
- 懸停刻度彈出預覽卡,顯示消息序號、總數、摘要和時間。
- 點擊或按住拖動軌道背景按比例跳轉。
- 流式輸出、加載歷史、切換會話、窗口縮放時自動跟隨。
- 內容未溢出、無用戶消息或在新會話引導頁時自動隱藏。
- 提供中英雙語界面文案。
- 刻度爲原生
button,可Tab聚焦後回車跳轉。
這個插件是隻讀的:不修改 DOM 業務結構、不攔截自身軌道外事件、不修改/刪除任何文件。
安裝與啓用¶
使用下面的命令安裝:
dsh plugin --profile web add github:AFAP/dsh-message-minimap
安裝完成後,重啓 dsh web 生效。
典型用法¶
先準備一個有多條往返消息、且內容已溢出可滾動的會話,然後按下面的步驟驗證。
- 打開該會話,查看聊天窗左邊緣是否出現一條帶刻度的細條。
- 將鼠標懸停在刻度上,查看消息摘要、序號、總數和時間。
- 點擊某個刻度,跳轉到對應用戶消息。
- 點擊或按住拖動刻度以外的軌道背景,按比例快速跳轉。
- 如果會話太短、沒有用戶消息,或處於空白新會話頁,導航條會自動隱藏。
- 如果宿主路由不可達,插件會降級爲只顯示已加載消息的刻度。
API 與數據邊界¶
宿主僅新增一個只讀路由,用於從會話日誌提取用戶消息摘要:
GET /api/message-minimap-messages?sessionId=<sessionId>
這個路由需要瀏覽器信任圍欄通過,支持 loopback 或 trustedHosts + 同源校驗,否則返回 403。
請求參數邊界如下:
- 未知
sessionId返回404。 - 缺失
sessionId返回400。 - API 只返回摘要,不返回完整內容。
摘要字段包括:
seq
id
時間
最多 140 字符摘要
是否含圖片
插件不寫 localStorage / cookie,卸載即無痕。
適用場景與注意¶
適合以下場景:
- 長會話中快速回看自己發過的消息。
- 分頁歷史尚未渲染時,通過刻度定位未加載的用戶消息。
- 用懸停摘要確認目標消息,再用點擊跳轉。
- 用軌道拖動快速掃讀整段會話。
注意以下邊界:
- MVP 暫不支持標註 AI 消息、錯誤、分支。
- MVP 暫不支持按文本搜索刻度。
- MVP 暫不支持持久化開關,導航條始終根據狀態自動顯示或隱藏。
- 宿主路由不可達,例如
403、404或網絡錯誤時,插件會退回只顯示已加載消息的刻度。 - DSH 插件以當前
dsh進程權限運行;安裝前應檢查源碼和 MIT 許可證。
鏈接¶
- GitHub 倉庫:
https://github.com/AFAP/dsh-message-minimap - 目錄頁:已覈實資料未給出具體 URL,這裏不列出不確定的地址。