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。

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

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

小夜