dsh-notify
baka-world
DeepSeek Harness desktop notification plugin (notify-send / D-Bus)
PROJECT TOPICS
PROJECT README
简体中文: README.zh.md
A small DSH (DeepSeek Harness) Web GUI plugin that makes the chat content column adapt to the screen resolution — when both side panels are collapsed, the middle area no longer stays stuck at the fixed 748px.
The DSH chat content column is hard-coded to 748px (--dsh-chat-content-width: 748px), so the middle area stays narrow with large empty margins even after both side panels are collapsed. This plugin injects CSS that overrides the width to min(100%, adaptive cap):
Method 1 — recommended, one command (restart dsh web afterwards):
dsh plugin --profile web add https://github.com/AnakinCao/dsh-chat-width.git
Method 2 — no restart (manual mount): append to ~/.dsh/profiles/web/cordis.patch.yml:
- insert:
- id: dsh-chat-width
name: 'dsh-chat-width'
and place the repository content under ~/.dsh/profiles/web/node_modules/dsh-chat-width/ (or pnpm add), then refresh the page once.
Pick ONE method — never mount twice.
max width = min(100%, clamp(900px, 72vw, 2560px))
| Viewport | Content width |
|---|---|
| 1366×768 | ≈983px |
| 1920×1080 | ≈1382px |
| 2560×1440 | ≈1843px |
| 3840×2160 | 2560px (cap) |
Tracks window size changes live — no refresh needed.
Edit the three constants at the top of lib/client.js — changes hot-apply via DSH client HMR (~0.5s), no restart / no refresh:
ADAPTIVE_RATIO (default 0.72) — fraction of the viewport widthMIN_WIDTH (default "900px") — lower boundMAX_CAP (default "2560px") — upper bound (raise it for 4K+)Or force a fixed width from the browser console (takes effect after refresh):
localStorage.setItem('dsh-chat-width.max', '1920px') // fixed 1920px
localStorage.removeItem('dsh-chat-width.max') // back to adaptive
A console log line prints the active viewport and width rule on page load.
dsh plugin --profile web remove dsh-chat-width, then restart dsh web;cordis.patch.yml and delete ~/.dsh/profiles/web/node_modules/dsh-chat-width/, then refresh the page.dsh web, window.__ModuleLoader__ bundle format).[data-phase] attribute with doubled specificity, so the override keeps working after the conversation package updates (hashed class names change).lib/index.js) is a no-op placeholder so the loader entry mounts.MIT
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。