DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-rtl

h

dsh-rtl

Identified★ 2

Right-to-left chat layout for DeepSeek Harness (Persian/Arabic)

dsh-rtl

Right-to-left, right-aligned text for DeepSeek Harness chat — built for Persian and Arabic conversations that the default LTR transcript renders badly.

فارسی · English

A small DSH profile bundle: a Host half that does nothing, plus a Client module that registers one stylesheet and removes it on dispose. No fork of the harness, no patched artifacts, no DOM rewriting.

What it changes

SurfaceBeforeAfter
Assistant messages (Markdown)LTR, left-alignedRTL, right-aligned
User message bubbleLTR, left-alignedRTL, right-aligned
Lists inside messagesmarker on the left, indent on the leftmarker on the right, mirrored indent
Code blocks, inline code, KaTeXLTRLTR, and unicode-bidi: isolate so their punctuation cannot reorder the sentence
ComposerLTRRTL while typing

The sidebar, tab strip, toolbars, and Settings keep their own direction; the stylesheet is scoped to the transcript and the composer.

Install

The bundle is installed the same way as any other DSH plugin — no build step.

From this repository

  1. Plugins in the left sidebar → Add plugin.
  2. Paste the repository address: https://github.com/hami-ashraafi/dsh-rtl
  3. Install, then switch Right-to-left Chat on.

From a local checkout

  1. Plugins → Add plugin.
  2. Paste the absolute path of this directory.
  3. Install, then switch Right-to-left Chat on.

Restart DeepSeek Harness if the manager reports restart-required.

Uninstall

Plugins → Right-to-left Chat → Remove.

How it works

package.json declares three things the Harness reads without running any code:

"dsh": {
  "bundle": { "patch": "./cordis.patch.yml" },
  "client": { "platform": "web", "immediately": true, "inject": ["@deepseek-ai/dsh-client-ui-chat"] }
}
  • dsh.bundle.patch makes this package a bundle: cordis.patch.yml inserts the dsh-rtl row into the profile composition.
  • dsh.client makes the Client module load with the Web UI at boot.

client.js is a lazy factory registered into window.__ModuleLoader__.load — the same contract every shipped DSH client plugin uses:

window.__ModuleLoader__.load({
  id: '@local/dsh-rtl',
  factory(require) {
    return {
      apply(ctx) {
        const style = document.createElement('style');
        style.setAttribute('data-dsh-rtl', '');
        style.textContent = CSS;
        document.head.append(style);
        ctx.effect(() => () => style.remove());
      },
    };
  },
});

Selectors

DSH class names are CSS-module hashes, so the stylesheet matches the stable parts instead: the data-slot="conversation.chat.flow" transcript anchor, the data-chat-turn rows, the data-conversation-scroll container, class names that contain markdown or bubble, and [data-composer-seat] for the editor. If a future Harness release renames one of them, the fix is a one-line selector change in client.js.

Compatibility

Written against DSH 0.2.1-rc.3 (Desktop and Web). It touches only presentation, so a release that changes no chat DOM keeps working.

Connecting it to the Harness project

The harness repository ships no RTL or bidi handling of its own — this repository exists to fill that gap. It follows the project's documented path for community plugins:

The upstream repository has issues and pull requests disabled, so this is distributed as a standalone bundle rather than a patch to the harness sources. The same plugin is also staged in the upstream package shape under upstream/ — packages/client/ui-rtl with the repository's TypeScript, tsconfig, and ?inline CSS conventions — ready to apply if that repository starts accepting contributions.

License

MIT © 2026 hami masoud


فارسی: توضیح کامل فارسی — نصب، حذف، سازگاری و عیب‌یابی — در README.fa.md است.

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 24k

CC0-1.0

Python

Nov 9, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.3k

CC0-1.0

Python

Nov 6, 2026

Index only — not installable

by woniuniuniu

DeepSeek Harness 自媒体工作台插件:一句话记灵感,一键生成脚本、封面、配图和分镜

Development & InfrastructureManifest valid

★ 553

↓ 3.7k/wk

MIT

JavaScript

Nov 8, 2026

dsh plugin --profile web add dsh-media-desk

by uumit-ai

Open dsh web from your phone or another computer through a UUMit account, without running your own server or installing another program: a built-in tunnel client connects to UUMit's hosted tunnel, and

Tools & CapabilitiesDevelopment & InfrastructureTerminal & ClientsManifest valid

★ 514

↓ 268/wk

MIT

JavaScript

Oct 21, 2026

dsh plugin --profile web add @uumit-ai/dsh-uumit-remote

by Yuuyuko-uu

DSH 鱼的记忆:给会话一份会淡忘的长期记忆,每条都带时间

Development & InfrastructureMemory & ContextSessions & MessagesManifest valid

★ 504

MIT

JavaScript

Nov 9, 2026

dsh plugin --profile web add dsh-fish-memory

by SAOS-3624

Scene-aware storyboard for DeepSeek Harness: 9-16 numbered cells with timestamps + transcript + an audio envelope, packed into ONE image (384 tokens). Two tools: video_storyboard and video_zoom.

Tools & CapabilitiesVision & MultimodalDevelopment & InfrastructureManifest valid

★ 490

↓ 17k/wk

MIT

JavaScript

Nov 9, 2026

dsh plugin --profile web add dsh-video-storyboard