integrations/deepseek-harness
tt-a1i/archify从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。
DSH Web 端可停靠的 Markdown 预览面板:与对话并排展示,会话级「最近打开 .md」列表,本地相对路径图片可直接渲染;点击对话中的 .md 引用改为并排预览而非唤起系统编辑器;跟随 shell 深浅色主题。
A Markdown preview plugin for DeepSeek Harness
Click a
.mdin your conversation — no more jumping to VSCode. Open a side-by-side preview on the right and read on.
⚡ Core experience — side-by-side with your conversation: keep chatting, writing and proofreading on the left while the .md source you clicked renders live, side-by-side in the same window on the right — what you see is what you wrote, no window switching; dark/light theme follows the shell automatically.
A DeepSeek Harness (DSH) plugin that adds an MD Preview entry to the session header, tracks the .md files your session has read or written, and opens an in-chat .md reference side-by-side in the right panel instead of launching the system editor (e.g. VSCode).
This plugin pairs with dsh-vision-opencode — and was developed and polished on top of that vision plugin. Together they make a much stronger workflow:
dsh-vision-opencode gives a text-only main model image understanding (vision_read_image), so the model can "see" rendered document pages; this plugin then opens the corresponding .md source side-by-side on the right — look at the rendered image, compare against the source, revise, verify, and record in one flowInstall them together (prefer the native DSH plugin commands: they download the sources from GitHub, register the packages into the profile's dsh.profile.bundles layer and apply each cordis.patch.yml automatically — hand-editing package.json with npm pkg set neither downloads anything nor registers the layer, so the plugin won't take effect):
dsh plugin --profile web add github:poiuyjie/dsh-vision-opencode
dsh plugin --profile web add github:poiuyjie/dsh-md-preview
💡 On Windows use
dsh.ps1instead ofdsh(orpowershell dsh.ps1); the profile directory is%USERPROFILE%\.dsh\profiles\web.
.md reference in the conversation (produced-file chips / inline references / tool-card paths) to open it in the right panel — top-aligned with the conversation content, draggable width (up to about half the screen), layout yields automatically without covering the chat.md files your session read/wrote (read/write/edit/delete + time + file mtime); each session only sees files it actually touched — no cross-session leakage.md reference to open it with the system default app (VSCode) instead.md path to preview it⚠️ Prefer the native
dsh plugininstall (dshon Linux/macOS,dsh.ps1on Windows). The manual route (clone +npm install+ editcordis.patch.yml) has been verified on Ubuntu (DSH0.1.0-rc.6) and Windows; on other distros the install paths, the~/.dshprofile directory, and thecordis.patch.ymlsyntax may differ — adapt to your environment.
The package declares a dsh.bundle manifest and ships its own cordis.patch.yml, so it installs with the native plugin command (auto-applied as a profile layer — no manual cordis.patch.yml edits needed):
dsh plugin --profile web add github:poiuyjie/dsh-md-preview
⚠️ Don't substitute
npm pkg set "dependencies.xxx=...": it only edits one field ofpackage.json— it neither downloads the package nor registers it into thedsh.profile.bundleslayer, sodsh webwon't pick it up.dsh plugin adddoes both (download + register the layer, applyingcordis.patch.ymlfor you).
Clone from GitHub (example: ~/plugins):
mkdir -p ~/plugins && cd ~/plugins
git clone https://github.com/poiuyjie/dsh-md-preview.git
cd dsh-md-preview
Then reference the local path from your DSH web profile (Ubuntu: ~/.dsh/profiles/web):
cd ~/.dsh/profiles/web
npm pkg set "dependencies.dsh-md-preview=file:~/plugins/dsh-md-preview"
npm install
cd ~/.dsh/profiles/web
npm pkg set "dependencies.dsh-md-preview=github:poiuyjie/dsh-md-preview"
npm install
dsh plugin add does this automatically)Add an entry to the profile's cordis.patch.yml:
- insert:
- id: md-preview
name: 'dsh-md-preview'
Restart dsh web and refresh the page — you'll see the MD Preview button in the session header.
Tip: with Option 1,
git pullin the cloned repo follows updates; the plugin is plain JS with no build step — after editing code, a page refresh is enough for the client half (HMR supported).
From the profile directory (Ubuntu: ~/.dsh/profiles/web):
cd ~/.dsh/profiles/web
npm pkg delete dependencies.dsh-md-preview
npm install
(If you installed via Option 1, the dependency is removed automatically; for a full cleanup also run rm -rf ~/plugins/dsh-md-preview.)
Then remove the insert entry from cordis.patch.yml:
# Remove this block:
- insert:
- id: md-preview
name: 'dsh-md-preview'
Finally restart dsh web. Uninstalling never deletes your .md files or session history — it only removes the preview panel.
.md files (name / path / op history / snippet);.md reference in the message stream → the right panel opens and loads that file automatically;# The plugin itself (Host half + Client half, plain JS, no build step)
ls index.js client.js
index.js — Host half. Listens to fs/observed to record md file access (isolated per session), serves /md-preview/api/{recent,read,peek} HTTP endpointsclient.js — Client half. Panel UI, click interception (capture-phase detection of md reference buttons), right-dock + layout yielding