MsgRail:DeepSeek Harness 的全量消息軌道插件

前言

在 DeepSeek Harness 的對話中,消息滾動到下方後,很難快速定位到之前的某條內容。雖然對話窗口右側會顯示一輪(turn)的刻度,但當你需要跳轉到很久以前的一條具體消息時,只能通過文本搜索或記憶位置。MsgRail 2.0.0 爲你提供了一條從當前會話的輸入框下方開始的細橫線,每條你發送的消息對應一個刻度,懸停可以預覽、點擊即可跳轉。

是什麼

MsgRail(消息軌道)是 DeepSeek Harness 的客戶端插件,維護者爲 chou109。它在對話左側(更準確地說是在輸入框下方的 ambient strip)爲每條用戶發送的消息顯示一根細刻度。插件會索引當前會話的全部歷史消息——包括聊天窗口尚未加載的舊消息,並在新消息出現時實時更新。

核心功能

全量歷史索引

插件會在會話切換時在後臺分頁加載整個持久化日誌(loadOlder())。爲防止異常長的日誌卡死界面,初始遍歷會在 80 頁後停止,隨後通過會話事件訂閱保持尾部實時更新。這意味着即便你發送了很多消息,軌道上仍然會顯示所有刻度,而不是僅顯示當前窗口內的幾條。

懸停預覽

鼠標懸停在任意刻度上,會彈出一個預覽卡片,顯示消息的角色、相對時間以及正文的前 6 行(超出視口會被截斷)。預覽卡的內容通過 ctx.locale 註冊,支持中英雙語。

點擊跳轉

點擊刻度會將對話窗口滾動到對應消息所在的歷史區域。跳轉是近似定位:DSH 0.2 移除了穩定的 per-message DOM 錨點,因此插件將刻度的序號映射到對話滾動範圍來實現跳轉。

實時更新與本地化

隨着會話增長,新發送的消息會自動出現在軌道上。UI 文案通過 ctx.locale 動態加載,切換語言設置後,預覽卡中的標籤會隨之更新。

主題原生

插件僅使用 DeepSeek Harness 的設計令牌(--dsw-alias-*),與當前主題保持一致。

安裝與啓用

方式一:Plugin Manager(桌面端)

插件是一個打包後的 bundle(dsh.bundle.patch → cordis.patch.yml)。在 Plugin Manager 中選擇“從文件夾安裝”,指向 dsh-msgrail 的目錄,啓用 dsh-msgrail。

方式二:CLI

dsh plugin --profile <profile> add /absolute/path/to/dsh-msgrail

方式三:Profile patch(手動)

將包安裝/鏈接到 profile 的 node_modules,然後在 cordis.patch.yml 中添加:

- insert:
    - id: msgrail
      name: 'dsh-msgrail'

安裝後刷新頁面即可。

驗證步驟

  1. 打開一個包含至少一條用戶消息的會話。
  2. 在輸入框下方會出現一條細橫線,每條用戶消息對應一個刻度,右側顯示刻度總數。
  3. 鼠標懸停在刻度上,查看預覽卡片;點擊刻度,對話窗口滾動到對應位置。
  4. 切換會話,軌道會重建爲新會話的內容。
  5. 在設置 → 通用 → 語言中切換語言,預覽卡片中的標籤會隨之變化。

限制說明

  • 近似跳轉:由於 DSH 0.2 不再向插件暴露穩定的 per-message DOM 錨點,點擊跳轉無法精確到某條消息的開頭,而是滾動到該消息所在的歷史區域。
  • 分頁邊界:初始遍歷歷史日誌時會在 80 頁後停止,超長會話只會保留最新的 80 頁索引。
  • 客戶端僅:插件不提供工具、路由或配置項,完全依賴 DSH 的會話、語言與插槽服務。

卸載

在 Plugin Manager 中禁用 msgrail,或刪除 cordis.patch.yml 中的 insert 塊,然後刷新頁面。

總結

MsgRail 爲 DeepSeek Harness 提供了一個從輸入框下方開始的細橫線軌道,索引當前會話的全部歷史消息,支持懸停預覽與點擊跳轉,並隨會話實時更新。如果你需要在長對話中快速定位之前的消息,它是一個值得嘗試的客戶端插件。

  • 插件目錄:https://www.skillhub.cn/plugins/chou109/dsh-msgrail
  • 源碼倉庫:https://github.com/chou109/dsh-msgrail
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜