READMESource: main@cb47d870
dsh-rtl-chat
A DeepSeek Harness (DSH) client plugin that makes the conversation answer area read right-to-left (RTL) for Arabic, with a one-click button to switch back to left-to-right (LTR).
يعرض منطقة إجابات المحادثة في DeepSeek Harness من اليمين إلى اليسار لقراءة العربية بشكل صحيح، مع زر للتبديل إلى الاتجاه العادي.
Behavior / السلوك
- Only the message/answer scroll area of the conversation panel becomes RTL — the header, sidebar, and app chrome stay LTR. يُطبَّق الاتجاه على منطقة الرسائل فقط؛ الترويسة والشريط الجانبي تبقى كما هي.
- Code blocks (
pre/code) inside answers stay LTR so code remains readable. - A pill button (◄► RTL/LTR) appears in the conversation header. Clicking it toggles the direction; your choice is persisted in
localStorageand survives reloads. زر دائري في ترويسة المحادثة يبدّل الاتجاه، ويُحفظ اختيارك تلقائيًا.
How it works / آلية العمل
- Registers a toggle button into the live slot
conversation.header.leadingviactx.slots.inject(client-only; no agent tool involved). - Applies a scoped stylesheet (
[data-conversation-scroll]{direction:rtl}+ LTR guards for code) through the package-ownedstyles.insert, inserted/removed on toggle. - Uses only
--dsw-alias-*theme tokens; no imports from Harness client packages.
Install / التثبيت
Requires a DSH web client (profile with @deepseek-ai/dsh-web-app) where the conversation slot tree is available.
- Copy this folder anywhere on disk, e.g.
D:\plugins\dsh-rtl-chat. - In a DSH agent session, ask it to install the bundle:
or manually: addplugin_manager → install_bundle → target: <absolute path to dsh-rtl-chat>"@local/dsh-rtl-chat": "link:<absolute path>"to the profile'spackage.jsondependencies and todsh.profile.bundles, then runpnpm installin the profile directory. - Refresh the Web UI once. The button appears in the conversation header and RTL is on by default.
Note: replacing an already-installed copy of this package requires a DSH server restart; new installs activate live.
Files / الملفات
| File | Purpose |
|---|---|
package.json |
Bundle manifest (client half, web platform, injects into the conversation UI) |
cordis.patch.yml |
Loader row that inserts this bundle into a profile composition |
index.js |
Host half (no-op; all state lives in the client module) |
client.js |
Client half: toggle button, direction state, scoped RTL styles |
icon.svg |
Plugin icon shown in manager UIs |
locale/en.json, locale/ar.json |
Display metadata (title/description) |
License / الرخصة
MIT
No comments yet. Be the first to write one.