WeKnora
Tencent
Open-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:Meowrium/dsh-sidebar-image-zoom
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
A DeepSeek Harness (dsh) plugin that makes the images in the right-sidebar document pane zoomable.
dsh's built-in image preview is deliberately static — its own source says the image is rendered "without fitting or scaling them to the pane", at intrinsic size, with the surrounding body providing scrolling only. That is fine for icons and painful for big screenshots, diagrams, and charts. This plugin replaces that renderer with one you can actually navigate.
dsh plugin --profile web add github:Meowrium/dsh-sidebar-image-zoom
Restart dsh web, then open any image in the right sidebar (new tab → 工作区文件 / workspace files → pick an image).
Requires the
dsh0.1.5 line (this was developed and verified against0.1.5-rc.1). The right-sidebar document preview this plugin extends does not exist before 0.1.5.
| Action | Result |
|---|---|
| Mouse wheel | Zoom in/out, anchored at the cursor — the pixel under the pointer stays put |
| Drag | Pan (once the scaled image is larger than the pane) |
| Double-click | Toggle 适应窗口 ↔ 1:1 |
适应窗口 |
Fit the whole image in the pane |
适应宽度 |
Fit to pane width only |
1:1 |
Original size, one image pixel per screen pixel |
+ / − |
Step zoom |
+ / - / 0 / 1 |
Same, from the keyboard (0 = fit, 1 = 1:1) |
The image opens at 1:1 by default, matching the built-in feel; a percentage readout sits in the toolbar. Zoom range is 10 % – 1200 %. When the image is smaller than the pane it is centred; when larger, panning is clamped so you cannot drag it out of view.
It uses only official extension points — no monkey-patching, no private DOM attributes:
ctx.documentPreviews.register({ id, extensions, priority: 'extension', loading: 'bytes-complete' }) — the registry's own docs say "External implementations win over product implementations", so the extension band takes over the eight image suffixes (png jpg jpeg gif webp bmp ico svg).ctx.slots.register({ name: 'sidebar.right.tab.document', key: <id> }, Body) — the keyed document-body seat, under the same id.The body receives the file as complete bytes (content.kind === 'bytes'), turns them into a Blob URL (always revoked on unmount), and renders its own zoom/pan viewport.
package.json dsh.bundle.patch → cordis.patch.yml ; dsh.client → lib/client.js
cordis.patch.yml inserts the bundle entry
lib/index.js host half (no-op — this plugin is browser-only)
lib/client.js browser half — the renderer and the zoom body
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: image-viewer、image-zoom、markdown-preview、pdf-preview、sidebar。