dsh-md-studio 0.0.0-stage → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,67 @@
1
+ # Changelog
2
+
3
+ 本项目所有显著变更都记录在此文件中。格式遵循 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本遵循语义化版本。
4
+
5
+ ## [1.2.0] - 2026-10-13
6
+
7
+ ### 新增
8
+
9
+ - **对话内 Mermaid 渲染**:聊天消息里的 ` ```mermaid ` 块就地渲染为图表卡片,与右侧文档预览共用同一渲染管线(语法自动修复、图形/源码切换、全屏、下载 SVG、深浅主题重绘)。
10
+ - **流式稳定检测**:AI 正在输出的图表块静默 400ms 后才渲染;输出完成后若内容被重写,自动重建图表。消息卸载(含虚拟列表回收)时自动清理。
11
+ - **与 dsh-mermaid 插件共存安全**:监听器互认对方的渲染产物,不双渲染。
12
+
13
+ ### 说明
14
+
15
+ - 右侧文件预览行为与 1.1.1 完全一致;本次只是把同一渲染能力扩展到对话消息。
16
+
17
+ ## [1.1.1] - 2026-10-09
18
+
19
+ ### 新增
20
+
21
+ - **Mermaid 语法自动修复**:首次渲染失败时,对 flowchart/graph 源做一次保守修复重试——为含英文括号的节点标签与边标签自动加引号(如 `W2[Codex / Claude Code (ACP)]`),成功后徽章显示"已自动修复";图形/圆柱等特殊形状括号不受影响。真实世界文档(如含 `(ACP)`、`(IM/Web)` 的架构图)无需改动原文即可渲染。
22
+ - 渲染失败提示补充常见错误说明;错误信息移到卡片工具栏下方,长源码时更易发现。
23
+
24
+ ### 修复
25
+
26
+ - 测试脚本跨平台浏览器探测(Windows/macOS/Linux 系统浏览器与 Playwright 缓存),CI 可用。
27
+
28
+ ## [1.1.0] - 2026-10-09
29
+
30
+ ### 重写
31
+
32
+ - **接入方式重构**:不再创建独立预览面板或接管对话产物卡片,改为直接接管 DSH **原生右侧文件预览**的 Markdown 渲染器(`sidebar.right.tab.document` 插槽,官方 key,`priority: -100`)。文件读取、权限校验、分页累积、刷新、标签页生命周期全部保留 DSH 原生行为。
33
+ - **完全离线**:Mermaid 11.17、markdown-it、DOMPurify、highlight.js、KaTeX 与公式字体全部随包内置,渲染过程零网络请求。
34
+
35
+ ### 新增
36
+
37
+ - KaTeX 行内 `$...$` 与块级 `$$...$$` 数学公式。
38
+ - 脚注(markdown-it-footnote)、任务列表、GFM 表格、标题锚点与文内跳转。
39
+ - Mermaid 图表卡片:图形/源码切换、全屏(缩放/拖拽)、下载 SVG、语法错误保留源码并给出原因。
40
+ - 代码高亮(highlight.js common 语言集)。
41
+ - 深浅主题跟随 DSH 主题自动重绘图表。
42
+ - 相对路径图片按文档目录解析,经 DSH 原生鉴权文件接口(`api/file`)读取。
43
+ - 文档级“查看源码”切换。
44
+
45
+ ### 安全
46
+
47
+ - HTML 经 DOMPurify 净化:禁执行 `<script>`/`<iframe>` 等标签与事件属性;Mermaid 输出单独净化;`securityLevel: 'strict'`。
48
+ - 本地图片仅接受绝对路径或文档同目录相对路径,拒绝协议相对与控制字符。
49
+
50
+ ### 修复(相对 1.0.0)
51
+
52
+ - 修复流程图节点文字被 SVG 净化误删的问题(`htmlLabels: false`)。
53
+ - 修复深色主题下表格文字对比度不足。
54
+ - 修复快速连续打开文件时的陈旧渲染竞态(渲染中止 + 卸载清理)。
55
+
56
+ ### 测试
57
+
58
+ - 新增真实浏览器自动化测试(`node test/browser.mjs`):加载与发布一致的 bundle,验证 14 项能力,断言零外部网络请求、零页面异常。
59
+ - 新增截图脚本(`node test/screenshots.mjs`)。
60
+
61
+ ### 兼容性
62
+
63
+ - 适配 DSH `0.2.0-rc.2` 客户端插槽 API;`engines.dsh` 声明 `>=0.2.0-rc.2 <0.3.0-0`。旧版 0.1.x 未验证。
64
+
65
+ ## [1.0.0] - 2026-10-08
66
+
67
+ 首个内部版本:独立分屏预览面板 + 对话内 Mermaid 增强 + 产物卡片行(整合 dsh-mermaid 与 dsh-artifact-preview 思路)。已被 1.1.0 的原生接入方案取代,不再维护。
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 BioAIEvolu
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.en.md ADDED
@@ -0,0 +1,130 @@
1
+ <div align="center">
2
+
3
+ # 📄 Markdown Studio for DeepSeek Harness
4
+
5
+ **Mermaid diagrams, math formulas and syntax highlighting rendered right inside DSH's native right-sidebar file preview — and in chat messages.**
6
+
7
+ The rendering engine ships with the plugin — **fully offline** · no document changes needed · disable to restore the stock renderer
8
+
9
+ [![CI](https://github.com/BioAIEvolu/dsh-md-studio/actions/workflows/ci.yml/badge.svg)](https://github.com/BioAIEvolu/dsh-md-studio/actions/workflows/ci.yml)
10
+ [![npm](https://img.shields.io/npm/v/dsh-md-studio)](https://www.npmjs.com/package/dsh-md-studio)
11
+ [![GitHub release](https://img.shields.io/github/v/release/BioAIEvolu/dsh-md-studio)](https://github.com/BioAIEvolu/dsh-md-studio/releases)
12
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
13
+ [![DSH](https://img.shields.io/badge/DeepSeek%20Harness-0.2.0--rc.2-blue)](https://github.com/deepseek-ai/deepseek-harness)
14
+ [![中文文档](https://img.shields.io/badge/docs-中文-green)](README.md)
15
+
16
+ [The same Mermaid block: stock preview vs Markdown Studio](docs/images/before-after.png)
17
+
18
+ </div>
19
+
20
+ ---
21
+
22
+ ## Why
23
+
24
+ DeepSeek Harness's right-sidebar preview is great — except ` ```mermaid ` blocks show up as raw code. Existing workarounds open a separate panel or fetch rendering engines from a CDN.
25
+
26
+ **Markdown Studio takes over the native preview's Markdown renderer**: file reads, permission checks, reload and tab lifecycle all stay native — only the drawing is upgraded. Mermaid, markdown-it, KaTeX, highlight.js and DOMPurify ship **inside the bundle**, so diagrams work offline.
27
+
28
+ | Stock preview | Markdown Studio |
29
+ |---|---|
30
+ | `​```mermaid` shown as code | Rendered in place as SVG + toolbar |
31
+
32
+ ## ✨ Features
33
+
34
+ - **📈 Mermaid diagrams, chat + documents** — the same pipeline renders ` ```mermaid ` blocks in chat messages and in opened documents: flowcharts, sequence, gantt, pie and the full Mermaid 11 family; per-diagram toolbar with **diagram/source toggle · fullscreen (zoom & pan) · SVG download**; automatic re-render on theme change
35
+ - **🩹 Syntax auto-repair** — the most common real-world breaker, ASCII parentheses inside node labels (`W2[Codex / Claude Code (ACP)]`), is repaired and rendered with an "auto-repaired" badge. No need to edit your documents
36
+ - **📐 KaTeX math** — inline `$...$` and display `$$...$$`
37
+ - **📝 Full GFM** — tables, task lists, footnotes, heading anchors
38
+ - **🎨 Syntax highlighting** — highlight.js common languages
39
+ - **🖼️ Local images** — relative paths resolve beside the document through DSH's authenticated file route
40
+ - **📴 Fully offline** — zero rendering network requests (asserted by automated tests); remote images authored in the document still load from their URLs
41
+ - **🛡️ Secure** — DOMPurify sanitization for both document HTML and diagram SVG; scripts never execute; Mermaid runs in `strict` mode
42
+
43
+ ## 📸 Screenshots
44
+
45
+ | Dark | Light |
46
+ |---|---|
47
+ | ![Dark](docs/images/demo-dark.png) | ![Light](docs/images/demo-light.png) |
48
+
49
+ ## 🚀 Install
50
+
51
+ > Requires DeepSeek Harness `0.2.0-rc.2+` (client slot API, see [Compatibility](#️-compatibility))
52
+
53
+ **Option 1 · In-app plugin market (dshmarket)** — search `dsh-md-studio`.
54
+
55
+ **Option 2 · CLI from GitHub**
56
+ ```sh
57
+ dsh plugin --profile desktop add github:BioAIEvolu/dsh-md-studio
58
+ ```
59
+
60
+ **Option 3 · CLI from npm (once published)**
61
+ ```sh
62
+ dsh plugin --profile desktop add dsh-md-studio
63
+ ```
64
+
65
+ Restart DSH Desktop, then open any `.md` file in the right sidebar.
66
+
67
+ ## 📖 Usage
68
+
69
+ - A **Markdown Studio** marker and a **source toggle** appear above the document
70
+ - Every Mermaid diagram gets its own toolbar: **diagram / source / fullscreen / download SVG**
71
+ - Fullscreen supports wheel zoom, drag pan and fit
72
+ - A broken diagram keeps its source plus the reason — other diagrams still render
73
+ - Disable the plugin anytime to restore the stock renderer
74
+
75
+ Try [docs/demo.md](docs/demo.md) — a document covering every feature.
76
+
77
+ ## 🧠 How it works
78
+
79
+ No DOM scanning, no floating panel: the plugin registers on DSH's **official document-preview slot** and takes over the official Markdown key with higher priority.
80
+
81
+ ```mermaid
82
+ flowchart LR
83
+ A[Open .md file] --> B[DSH native preview]
84
+ B --> C{document slot}
85
+ C -->|Markdown Studio| D[This renderer]
86
+ C -->|other types stay native| E[PDF / image / Excel / code]
87
+ D --> F[markdown-it + GFM]
88
+ D --> G[Mermaid]
89
+ D --> H[KaTeX]
90
+ F --> I[DOMPurify]
91
+ G --> I
92
+ I --> O[Right sidebar tab]
93
+ ```
94
+
95
+ File reading, paging, reload and lifecycle remain DSH's job — the plugin only draws. Slot takeover is verified live via DSH Inspect: this plugin `active: true`, the official Markdown occupant yields.
96
+
97
+ ## ✅ Quality
98
+
99
+ `node test/browser.mjs` loads the exact shipped bundle in a real Chromium with networking blocked (asserts **zero network requests, zero page errors**): 4 diagram types with visible labels, auto-repair, GFM, math, highlighting, toggles, fullscreen, SVG download, theme re-render, broken-diagram isolation, XSS sanitization, rapid file switching and disposal. Full list in the [Chinese README](README.md#-质量保障).
100
+
101
+ ## ⚠️ Compatibility
102
+
103
+ - Built for **DSH `0.2.0-rc.2`** (`engines.dsh: >=0.2.0-rc.2 <0.3.0-0`); other versions unverified — open an issue if the slot API changes
104
+ - Limits: 2M chars per document, 50k chars / 2000 lines / 2000 edges per diagram
105
+ - Sanitized Mermaid output: diagram interactions and external references are disabled
106
+
107
+ ## 🛠️ Build from source
108
+
109
+ ```sh
110
+ pnpm install --ignore-scripts
111
+ node scripts/build.mjs # lib/ incl. fonts and license notices
112
+ node test/browser.mjs
113
+ node test/screenshots.mjs # regenerate docs images
114
+ pnpm pack
115
+ ```
116
+
117
+ `lib/client.js` is shipped in DSH ModuleLoader factory format; only React is required from the host.
118
+
119
+ ## 🙏 Credits
120
+
121
+ - [dsh-mermaid](https://github.com/MrmoLabs/dsh-mermaid) and [dsh-artifact-preview](https://github.com/nirvanaslash/dsh-artifact-preview) — inspiration for the interaction design
122
+ - Libraries: [Mermaid](https://mermaid.js.org/) · [markdown-it](https://github.com/markdown-it/markdown-it) · [DOMPurify](https://github.com/cure53/DOMPurify) · [highlight.js](https://highlightjs.org/) · [KaTeX](https://katex.org/) — full notices in [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)
123
+
124
+ ## ⭐ Support
125
+
126
+ If this plugin saves you time, please star the repo. Issues and PRs welcome — [中文文档](README.md).
127
+
128
+ ## License
129
+
130
+ [MIT](LICENSE) © BioAIEvolu
package/README.md CHANGED
@@ -1,3 +1,160 @@
1
- # Temporary Holding Version
1
+ <div align="center">
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ # 📄 Markdown Studio for DeepSeek Harness
4
+
5
+ **在 DSH 原生右侧文件预览中,把 Markdown 里的 Mermaid 图表、数学公式、代码高亮一次看全。**
6
+
7
+ 渲染引擎随插件内置,**完全离线可用** · 无需改动你的文档 · 停用即恢复官方渲染器
8
+
9
+ [![CI](https://github.com/BioAIEvolu/dsh-md-studio/actions/workflows/ci.yml/badge.svg)](https://github.com/BioAIEvolu/dsh-md-studio/actions/workflows/ci.yml)
10
+ [![npm](https://img.shields.io/npm/v/dsh-md-studio)](https://www.npmjs.com/package/dsh-md-studio)
11
+ [![GitHub release](https://img.shields.io/github/v/release/BioAIEvolu/dsh-md-studio)](https://github.com/BioAIEvolu/dsh-md-studio/releases)
12
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)
13
+ [![DSH](https://img.shields.io/badge/DeepSeek%20Harness-0.2.0--rc.2-blue)](https://github.com/deepseek-ai/deepseek-harness)
14
+ [![English](https://img.shields.io/badge/docs-English-green)](README.en.md)
15
+
16
+ [同一份 Mermaid 代码块:官方预览 vs Markdown Studio](docs/images/before-after.png)
17
+
18
+ </div>
19
+
20
+ ---
21
+
22
+ ## 为什么需要它
23
+
24
+ DeepSeek Harness 的右侧文件预览很好用,但 **Mermaid 代码块只会显示为一堆源码**——架构图、时序图、流程图全都要靠想象。外部方案要么需要开独立面板、要么依赖 CDN 联网。
25
+
26
+ **Markdown Studio 直接接管原生预览的 Markdown 渲染器**:文件读取、权限校验、刷新、标签页这些全部保留 DSH 原生行为,只有"画"的部分被增强。渲染引擎(Mermaid / markdown-it / KaTeX / highlight.js / DOMPurify)**随插件打包**,断网也能看图。
27
+
28
+ | 官方预览 | Markdown Studio |
29
+ |---|---|
30
+ | `​```mermaid` 显示为代码块 | 就地渲染为 SVG 图 + 工具栏 |
31
+ | 长文档来回滚动 | 图文混排,所见即所得 |
32
+
33
+ ## ✨ 特性
34
+
35
+ - **📈 对话内 + 文档预览双渲染**:聊天消息里的 Mermaid 块与右侧打开的 Markdown 文档,用同一套管线就地渲染成 SVG 图
36
+ - **📈 Mermaid 图表**:流程图、时序图、甘特图、饼图等 Mermaid 11 全系图型;每张图带 **图形/源码切换 · 全屏(缩放/拖拽)· 下载 SVG** 工具栏;深浅主题自动重绘
37
+ - **🩹 语法自动修复**:真实文档里最常见的 `W2[Codex / Claude Code (ACP)]` 这类"标签含英文括号"语法错误,**自动修复后照常渲染**,并在徽章标注"已自动修复"——不用改你的文档
38
+ - **📐 KaTeX 数学公式**:行内 `$...$` 与块级 `$$...$$`(文档预览)
39
+ - **📝 完整 GFM**:表格、任务列表、脚注、删除线、标题锚点跳转
40
+ - **🎨 代码高亮**:highlight.js 常用语言集
41
+ - **🖼️ 本地图片**:相对路径按文档目录解析,经 DSH 原生鉴权接口读取
42
+ - **📴 完全离线**:渲染零网络请求(有自动化测试断言兜底);作者写在文档里的远程图片仍按原 URL 加载
43
+ - **🛡️ 安全**:DOMPurify 双重净化(文档 HTML + 图表 SVG),禁执行脚本;Mermaid `strict` 模式
44
+
45
+ ## 📸 截图
46
+
47
+ | 深色主题 | |
48
+ |---|---|
49
+ | ![深色主题完整渲染](docs/images/demo-dark.png) | ![浅色主题完整渲染](docs/images/demo-light.png) |
50
+ | 深色 | 浅色 |
51
+
52
+ ## 🚀 安装
53
+
54
+ > 需要 DeepSeek Harness `0.2.0-rc.2+`(客户端插槽 API 依赖,见 [兼容性](#️-兼容性))
55
+
56
+ **方式一 · 可视化插件市场(dshmarket)**
57
+ 在 DSH 设置 → 插件 → 市场中搜索 `dsh-md-studio`。
58
+
59
+ **方式二 · 命令行(GitHub)**
60
+ ```sh
61
+ dsh plugin --profile desktop add github:BioAIEvolu/dsh-md-studio
62
+ ```
63
+
64
+ **方式三 · 命令行(npm,发布后可用)**
65
+ ```sh
66
+ dsh plugin --profile desktop add dsh-md-studio
67
+ ```
68
+
69
+ 安装后重启 DSH Desktop,在右侧打开任意 `.md` 文件即可。
70
+
71
+ ## 📖 使用
72
+
73
+ 打开 Markdown 文件后:
74
+
75
+ - 文档顶部出现 **Markdown Studio** 标识与 **查看源码** 按钮(整篇源码/渲染视图切换)
76
+ - 每个 Mermaid 图表自带工具栏:**图形 / 源码 / 全屏 / 下载 SVG**
77
+ - 全屏模式支持滚轮缩放、拖拽平移、一键适应
78
+ - 语法错误的图表保留源码并给出原因,**不影响文档里其他图表**
79
+ - 不想用了?在插件管理中停用,官方渲染器原样恢复
80
+
81
+ 试试仓库里的 [docs/demo.md](docs/demo.md)——一份覆盖全部特性的验证文档。
82
+
83
+ ## 🧠 工作原理
84
+
85
+ 不扫描页面 DOM、不开独立窗口,而是注册 DSH 文档预览的**官方扩展插槽**,以更高优先级接管官方 Markdown 渲染键:
86
+
87
+ ```mermaid
88
+ flowchart LR
89
+ A[打开 .md 文件] --> B[DSH 原生文件预览]
90
+ B --> C{document slot}
91
+ C -->|Markdown Studio 接管| D[本插件渲染器]
92
+ C -->|其他类型保持官方| E[PDF / 图片 / Excel / 代码]
93
+ D --> F[markdown-it + GFM]
94
+ D --> G[Mermaid 图表]
95
+ D --> H[KaTeX 公式]
96
+ F --> I[DOMPurify 净化]
97
+ G --> I
98
+ I --> O[右侧标签页渲染]
99
+ ```
100
+
101
+ - 文件读取、分页、刷新、生命周期仍由 DSH 管理——插件只负责"画"
102
+ - 通过实时 Inspect 验证插槽注册:本插件 `active: true`,官方 Markdown 渲染器自动让位
103
+
104
+ ## ✅ 质量保障
105
+
106
+ `node test/browser.mjs` 加载与发布完全一致的 bundle,在真实 Chromium 中断网验证(**零网络请求、零页面异常** 断言):
107
+
108
+ | 验证项 | |
109
+ |---|---|
110
+ | Mermaid 四类图渲染 + 节点文字可见 | ✅ |
111
+ | 含括号标签自动修复 | ✅ |
112
+ | GFM 表格 / 任务列表 / 脚注 | ✅ |
113
+ | 行内 + 块级 KaTeX | ✅ |
114
+ | 代码高亮 | ✅ |
115
+ | 图形/源码切换、全屏、SVG 下载 | ✅ |
116
+ | 深浅主题重绘 | ✅ |
117
+ | 非法图表隔离(一图坏不拖累整页) | ✅ |
118
+ | XSS 净化(脚本不执行) | ✅ |
119
+ | 快速切换文件无陈旧渲染 | ✅ |
120
+ | 卸载清理 | ✅ |
121
+
122
+ ## ⚠️ 兼容性
123
+
124
+ - 适配 **DSH `0.2.0-rc.2`**(`engines.dsh: >=0.2.0-rc.2 <0.3.0-0`);其他版本未验证,升级 DSH 后如插槽 API 变更请提 issue
125
+ - 文档上限 200 万字符;单图 5 万字符 / 2000 行 / 2000 边
126
+ - Mermaid 输出经净化:图表内的交互点击、外部图片引用会被禁用
127
+
128
+ ## 🛠️ 从源码构建
129
+
130
+ ```sh
131
+ pnpm install --ignore-scripts
132
+ node scripts/build.mjs # 产出 lib/(含字体与三方授权清单)
133
+ node test/browser.mjs # 真实浏览器测试
134
+ node test/screenshots.mjs # 重新生成文档截图
135
+ pnpm pack # 打包 dsh-md-studio-x.y.z.tgz
136
+ ```
137
+
138
+ 构建产物 `lib/client.js` 为 DSH ModuleLoader 工厂格式,仅依赖宿主 React,其余依赖全部打包。
139
+
140
+ ## 🗺️ Roadmap
141
+
142
+ - [x] 对话内 Mermaid 渲染(v1.2 已实现;与 [dsh-mermaid](https://github.com/MrmoLabs/dsh-mermaid) 插件共存安全,互不双渲染)
143
+ - [ ] 图表导出 PNG
144
+ - [ ] 目录(TOC)侧栏
145
+ - [ ] 设置页(字号、图表方向)
146
+
147
+ ## 🙏 致谢
148
+
149
+ - [dsh-mermaid](https://github.com/MrmoLabs/dsh-mermaid)(MrmoLabs)与 [dsh-artifact-preview](https://github.com/nirvanaslash/dsh-artifact-preview)(nirvanaslash)——1.0 版的整合来源,1.1 的交互设计参考
150
+ - 渲染库:[Mermaid](https://mermaid.js.org/) · [markdown-it](https://github.com/markdown-it/markdown-it) · [DOMPurify](https://github.com/cure53/DOMPurify) · [highlight.js](https://highlightjs.org/) · [KaTeX](https://katex.org/),完整授权见 [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)
151
+
152
+ ## ⭐ 支持项目
153
+
154
+ 如果这个插件帮你省掉了"改文档语法"和"切窗口看图"的时间,欢迎点个 Star;问题与需求请提 [Issue](https://github.com/BioAIEvolu/dsh-md-studio/issues),PR 欢迎。
155
+
156
+ English documentation: [README.en.md](README.en.md)
157
+
158
+ ## License
159
+
160
+ [MIT](LICENSE) © BioAIEvolu