ningbainb/deepseek-harness-desktop--packages-dsh-aionui-panel ↗★ 491
@linxin666/dsh-client-ui-aionui-panel
重构右侧面板,支持文件树与多格式预览。
AI 分析
适合需要在 Web 界面中进行深度文件浏览和代码预览的开发者。
安裝
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:ningbainb/deepseek-harness-desktop#f30137e7d72942d2cd851a0fa0713f596ed06ad6&path:packages/dsh-aionui-panel說明文件
閱讀完整 README ↗Usage
Web preview opens through the official Sidebar tab system when available, including the native new-tab guide. The compatibility preview plus creates an independent native web tab without discarding editor buffers; older hosts retain the URL tab. Native browser addresses and unfinished address-bar edits live for the tab record, surviving hide and remount but not application restart. Native tabs and floating headers own closing, without a duplicate address-bar button; Ctrl/Cmd+W in the address bar remains available, and compatibility viewers retain their close button. Legacy committed addresses persist locally with project tab metadata and are never read as filesystem paths. Both viewers retain an opaque iframe sandbox without popup authority; sites that reject embedding may remain unavailable.
With the native Sidebar SDK available, the Explorer toolbar opens the original DSH Files page or a native Git changes tab. The native new-tab guide also offers File tools (search, drag, path references and editing). These pages share the existing workspace stores and editor buffers; their native title strip owns closing and splitting, with no nested Files/Changes toolbar. Hidden desktop Explorer bodies suspend their UI, while stores and unsaved editor tabs remain intact. Tools only act for their current owning conversation; older hosts retain the desktop columns.
In a project session (the current session has a working directory), compatibility tools expose these capabilities:
- Explorer (rightmost column, default 260px, range 220–500px):
File / Changestabs; folder rows expand/collapse, while common documents and images open through a registered native DSH Sidebar reader when available. The context-menuEdit / compatibility previewretains Desktop editing; existing editor buffers keep their owner. Switching preview owners hides the other surface without closing its tabs. Filename search is debounced by 150ms and reveals results in the tree.Changesreads real Git status and supports stage / unstage / discard with bulk confirmation. - Drag a file to the input box: internal file-tree rows insert workspace-relative paths. When the official generic-file lifecycle is available, DSH owns new uploads, progress, retry and removal; the duplicate picker is omitted. Large images retain validation/compression, and mixed batches preserve order before native admission. Legacy
.dsh-attachments/draft references retain existence checks, missing-file warnings and removal. Older shells retain the sequential upload queue (100 MB per file), or text/path fallback without that queue. PDF, Office and binary contents are not pre-parsed by this plugin. - Preview (second column from right, default 480px, range 340–1200px): multi-tab preview supporting markdown / html / code / diff / csv / pdf / word / excel / ppt / image / text / url; source/preview toggle, split-screen editing (ratio persisted), save (mtime conflict detection), download, refresh (4-state: dead buttons are not rendered), dirty dot, middle-click close, right-click menu batch close (dirty confirm), and tab-overflow gradient indicator.
Interaction details:
- Drag the left edge handle to resize (merged per frame via rAF, body user-select:none); double-click the handle to reset to the default width.
- Two-level width clamping (Explorer first, Preview second) mathematically guarantees the chat area stays >= 360px; out-of-range values are written back to persistence.
- Collapse = width shrinks to 0 while stores retain tree expansion and preview tabs; hidden Explorer children unmount to release focus listeners, with no transition animation. A floating expand button appears on the right after collapsing.
- Light/dark themes follow the GUI (
body[data-ds-dark-theme]), and prefers-reduced-motion globally disables animations. - Preferences persist per project (localStorage keys matching AionUi):
chat-workspace-width-px/chat-preview-width-px/preview-panel-split-ratio/project-panel-collapse:/explorer-ui:/scm-ui:/preview-ui:(LRU capped at 12 scopes). Reads are always range-checked; invalid values fall back to defaults.