dsh-rtl:爲 DeepSeek Harness 對話區提供 RTL 排版

前言

DeepSeek Harness(DSH)默認的對話 transcript 與輸入框按從左到右(LTR)排版。用波斯語、阿拉伯語等從右到左(RTL)語言聊天時,助手與用戶氣泡、列表縮進往往顯示錯位,閱讀體驗差。上游 Harness 倉庫本身不提供 RTL 或雙向文本(bidi)處理;社區插件 hami-ashraafi/dsh-rtl 通過 DSH 標準插件機制注入樣式表,在不 fork Harness、不改 DOM 結構的前提下,把聊天區與 Composer 切到 RTL 右對齊,同時讓代碼塊、行內代碼與 KaTeX 保持 LTR 隔離。

這是什麼

dsh-rtl 是維護者 hami-ashraafi 發佈的 客戶端 類 DSH 插件 bundle:Host 半部爲空操作,Client 模塊在 Web UI 啓動時註冊一張 stylesheet,卸載時移除。分類上屬於客戶端;在 GitHub 上當前可見約 1 star、1 fork。包名 @local/dsh-rtl,版本 0.1.0,許可證 MIT。

核心功能

插件只改 transcript 與 Composer 的呈現;側欄、標籤欄、工具欄與 Settings 仍保持各自原有方向。README 用表格歸納了變化範圍,要點如下。

界面 啓用前 啓用後
助手消息(Markdown) LTR、左對齊 RTL、右對齊
用戶消息氣泡 LTR、左對齊 RTL、右對齊
消息內列表 標記與縮進在左側 標記在右、縮進鏡像
代碼塊、行內代碼、KaTeX LTR 仍爲 LTR,並設 unicode-bidi: isolate,避免標點打亂句子順序
Composer LTR 輸入時爲 RTL

實現上,package.json 聲明 bundle patch(cordis.patch.yml 把 dsh-rtl 寫入 profile)與 client 注入(platform: web、immediately: true,依賴 @deepseek-ai/dsh-client-ui-chat)。client.js 通過 window.__ModuleLoader__.load 註冊工廠:向 document.head 插入帶 data-dsh-rtl 的 <style>,在 ctx.effect 清理函數里移除。樣式選擇器針對 DSH 的穩定錨點(如 data-slot="conversation.chat.flow"、data-chat-turn、data-conversation-scroll、含 markdown / bubble 的類名、[data-composer-seat]),而非易變的 CSS module hash。

兼容性說明:針對 DSH 0.2.1-rc.3(Desktop 與 Web)編寫;僅觸及展示層,若未來發行版未改聊天 DOM,一般可繼續工作;若 Harness 重命名上述 data 屬性,需在 client.js 中調整選擇器。

安裝與啓用

安裝方式與任意 DSH 插件相同,無需構建步驟。官方 README 給出兩種來源,任選其一。

從 GitHub 倉庫安裝:

  1. 左側邊欄打開 Plugins → Add plugin。
  2. 粘貼倉庫地址:
https://github.com/hami-ashraafi/dsh-rtl
  1. 安裝完成後,打開 Right-to-left Chat 開關。

從本地目錄安裝(若你已有該插件目錄的絕對路徑):

  1. Plugins → Add plugin。
  2. 粘貼該目錄的絕對路徑。
  3. 安裝後同樣打開 Right-to-left Chat。

若插件管理器提示 restart-required,需重啓 DeepSeek Harness 後再使用。

典型用法

啓用 Right-to-left Chat 後,在 Composer 中用波斯語或阿拉伯語正常輸入併發送;助手 Markdown 回覆與用戶氣泡應右對齊、RTL 排版,代碼與公式塊仍從左向右顯示且不與 surrounding 雙向文本混排。

卸載:Plugins → Right-to-left Chat → Remove。

倉庫另提供 README.fa.md 的完整波斯語說明(安裝、卸載、兼容與排錯)。插件也在 DeepSeek Harness Discussions #11672 中公告;倉庫帶 dsh-plugin topic,便於在 Harness 文檔所述的發現機制中被檢索。

適用場景與注意

適合需要在 DSH Web / Desktop 界面中用 RTL 語言進行長對話、且不願改 Harness 源碼的開發者與用戶。插件以當前 DSH 進程的權限在客戶端注入樣式;安裝前應自行閱讀 GitHub 源碼 與 MIT 許可證,確認符合你的安全與合規要求。

DSH 生態強調「一切皆插件」;SkillHub 目錄頁 等社區站點與 DeepSeek / 幻方無官方從屬關係,本文安裝步驟以倉庫 README 爲準。

結尾

dsh-rtl 用最小 bundle(patch + 單文件 client 樣式注入)補上 Harness 默認缺失的聊天 RTL 能力,對波斯語、阿拉伯語場景是可直接落地的客戶端插件。更多信息見目錄頁 https://www.skillhub.cn/plugins/hami-ashraafi/dsh-rtl 與倉庫 https://github.com/hami-ashraafi/dsh-rtl。

羽毛球分组比赛记分
小程序二维码

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

小夜