dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH Plugin for Markdown like Notion experience
Unified 3-Column VS Code Workspace, TipTap Notion WYSIWYG Suite, and Advanced AI Productivity Plugin for DeepSeek Harness (
dsh).
@anoslide/dsh-vscode-workspace is an upstream-aligned, dual-face Cordis plugin for DeepSeek Harness. It unifies the entire backend workspace file services and modern IDE frontend into a single package, replacing legacy decoupled plugins (@anoslide/dsh-host-files and @anoslide/dsh-client-vscode-layout).
It combines:
/, callout boxes, toggle lists, interactive tables, KaTeX math, Mermaid diagrams, and Table of Contents outline).Ctrl+K Inline AI Assist, @ file mention autocomplete, and 1-click code application).DeepSeek Harness operates a modular Cordis micro-kernel architecture. @anoslide/dsh-vscode-workspace implements a Dual-Face structure where a single package provides both the Node.js host services and the browser micro-frontend client bundle.
flowchart TD
subgraph DSH["DeepSeek Harness Platform (Cordis Kernel)"]
Launcher["dsh CLI Launcher (dsh web)"]
Profile["Profile Bundle Layer (~/.dsh/profiles/web)"]
CordisHost["Cordis Host Container (Node.js 22)"]
CordisClient["Cordis Web Client (Browser Runtime)"]
end
subgraph UnifiedPlugin["@anoslide/dsh-vscode-workspace"]
Patch["cordis.patch.yml<br/>(inserts vscode-workspace)"]
subgraph HostHalf["Host Node.js Half (lib/index.js)"]
WebServer["ctx.webServer Injection"]
HostRoutes["/vscode-files/* Endpoints"]
FS["File Service & Sandbox Guards"]
Git["Git Porcelain Service"]
Shiki["Shiki Syntax Highlighter"]
Persona["Persona System Prompt Hook"]
end
subgraph ClientHalf["Client Browser Half (lib/client.js)"]
ModuleLoader["window.__ModuleLoader__<br/>(Lazy-CJS Closure Factory)"]
Slots["ctx.slots.register('root', AppFrame)"]
subgraph Layout["3-Column IDE Workbench"]
Rail["Sidebar Rail & Switcher (Explorer, Search, Git)"]
Editor["Multi-Tab Editor (CodeMirror + TipTap)"]
Chat["AI Chat Tray & Reference Chips"]
end
subgraph Tools["Productivity Modules"]
Excalidraw["Excalidraw Whiteboard"]
Graph["Knowledge Graph"]
Diff["Visual Diff Engine"]
end
end
end
Launcher --> Profile
Profile --> Patch
Patch --> CordisHost
Patch --> CordisClient
CordisHost --> WebServer
WebServer --> HostRoutes
HostRoutes --> FS
HostRoutes --> Git
HostRoutes --> Shiki
HostRoutes --> Persona
CordisClient --> ModuleLoader
ModuleLoader --> Slots
Slots --> Layout
Layout --> Tools
ClientHalf -.->|"HTTP /vscode-files/*"| HostRoutes
ui-sidebar controls (New Session, Sessions, Settings) while contributing an interactive switcher via the sidebar.footer.action seat.Ctrl+Shift+E): Hierarchical workspace file tree with live Git status badges (M, U, A, D, R), hidden files toggle (👁), directory creation, and deletion to OS Trash.Ctrl+Shift+F): High-performance recursive workspace search with file-name and full-text content matching (ripgrep), case-sensitivity toggle (Aa), regex support (.*), and match count badges.Ctrl+Shift+G): Stage, unstage, discard, and commit changes with diff previews and commit log history.Ctrl+B hides the panel to the 56px rail without losing navigation.• unsaved dot).github-dark / github-light) alongside interactive CodeMirror for code files.🌿 main), active file path, line & column indicators, word counter, UTF-8 encoding, language mode badge, and 💾 Auto-Save: ON/OFF toggle.Close, Close Others, Close to the Left/Right, Close All, 📋 Copy Path).Ctrl+L)..md) render directly into rich, interactive Notion-style blocks./toggle): Foldable summary and details blocks matching Notion's UX./callout or 💡): High-visibility callout boxes with custom icons and background tints./): Type / to insert Headings (H1/H2/H3), Toggle Lists, Task Lists ([ ]), Interactive Tables, Callout Boxes, Syntax-highlighted Code Blocks, Blockquotes, KaTeX Math, Mermaid Diagrams, and YouTube embeds.$E=mc^2$ and $$\int ...$$).📑 Outline): Slide-out Table of Contents drawer displaying hierarchical H1, H2, and H3 headings with click-to-scroll navigation.📤 Export):
📋 Copy Clean Markdown📋 Copy Formatted HTML📄 Print / PDF Preview (window.print())Saved ✓ indicator.B), Italic (I), Underline (U), S), Inline Code (</>), 🎨 Text & Highlight Colors, 💬 Mention in Chat, and 🤖 Ask AI.OccurrenceChip):
@ in chat: workspace files appear in the native @ menu with instant search.@filename) directly into the composer.@AppFrame.tsx#L45-80).Ctrl+L Navigation:
🤖 AI Assist ▾):
📖 Explain Code / File: Injects deep architectural breakdown prompt.🧪 Generate Unit Tests: Generates comprehensive unit tests for current file.🔧 Refactor & Optimize: Suggests clean refactorings and modern optimizations.📝 Generate JSDoc / Docs: Creates documentation and inline comments.🔍 Code Review & Bug Check: Performs thorough review for edge cases and security.Ctrl+K Cursor-Style)Ctrl+K.⚡ Polish Text: Clean grammar, improve tone, and enhance readability.📊 Format Table: Converts unstructured data or messy rows into clean tables.💡 Summarize: Condenses selected section into bullet points.🔧 Refactor Code: Refactors code for readability, performance, and best practices.M (Modified - yellow)U (Untracked - green)A (Added / Staged - cyan)D (Deleted - red)R (Renamed - purple)Ctrl+Shift+G):
+), Unstage (-), and Discard (↺).Commit action.Fetch, Pull, Push).+ green) and deletions (- red).+12 -4) and 1-click ✓ Accept / ✕ Discard.| Shortcut | Action | Scope | Description |
|---|---|---|---|
Ctrl+K / Cmd+K | Inline AI Assist | Editor | Opens Cursor-style floating AI prompt over selection. |
Ctrl+L | Chat / Selection to AI | Global | With selection: sends @file#L... chip to chat.Without selection: toggles Right Chat panel. |
Ctrl+B | Toggle Left Sidebar | Global | Toggles Explorer/Search panel, collapsing to the 56px rail. |
Ctrl+Shift+E | Show File Explorer | Global | Focuses the Explorer file tree view. |
Ctrl+Shift+F | Workspace Search | Global | Opens full-text grep search with case and regex options. |
Ctrl+Shift+G | Source Control | Global | Opens Git staging and commit panel. |
Ctrl+P / Cmd+P | Quick Open File | Global | Fuzzy file finder across all workspace files. |
Ctrl+Shift+P / F1 | Command Palette | Global | Searchable palette for all commands and actions. |
Ctrl+S / Cmd+S | Save File | Editor | Saves active document to disk. |
Ctrl+F | Find in File | Editor | Search widget with previous/next navigation. |
Ctrl+H | Find & Replace | Editor | In-file search and replace widget. |
Ctrl+Z | Undo | Editor | Undo recent typing/formatting in Code or TipTap. |
Ctrl+Y / Ctrl+Shift+Z | Redo | Editor | Redo undone changes. |
F2 | Rename Item | Explorer | Inline file or directory rename. |
Escape | Dismiss Modal | Global | Closes dialogs, palettes, find bars, or inline prompt. |
v22.0.0 or higherv9.0.0 or higherdsh): Shipped and configuredRun the deployment script to compile host & client targets, clean up any legacy plugins, and link the unified package into your DeepSeek Harness profile:
# Clone the repository
git clone https://github.com/minhdevtry/deepseek-harness-plugins.git
cd deepseek-harness-plugins
# Install dependencies
pnpm install
# Deploy to default "web" profile
pnpm run deploy
# Or specify a custom profile:
# node deploy.mjs --profile custom-profile
Alternatively, link the repository root directly using the dsh CLI:
# Build the unified plugin
pnpm run build
# Link into profile
dsh plugin --profile web add link:.
dsh web
Navigate to http://127.0.0.1:3080 to experience the unified VS Code workspace.
The host service enforces sandbox security:
DSH_SANDBOX_ROOT): Defaults to process.cwd(). All file access, reading, writing, and deletion are strictly bounded within this directory.isInsideSandbox) block directory traversal attacks (../).DSH_PASSWORD): When set in the environment, /vscode-files/* routes require session-based or token authentication.R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_ACCESS_KEY, R2_BUCKET_NAME, R2_PUBLIC_DOMAIN) for cloud asset storage, or default to local image persistence.For comprehensive technical design and API documentation, see Architecture & Technical Specification.
MIT © minhdevtry