🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

Markdown 右栏编辑器 Zhang1025681484/dsh-md-editor

DeepSeek Harness
Zhang102568148424 天前有提交已提供中文文档扫描:未发现敏感能力

在右栏直接编辑工作区 Markdown 文件并自动保存

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/10 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Zhang1025681484/dsh-md-editor
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · browser
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 24 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 4 处,展示前 4 条)
  • 发起网络请求
    client.js:36
    fetch('/api/md-editor/beacon?stage=client-loaded', { credentials: 'same-origin' }).catch(function () {});
  • 发起网络请求
    client.js:79
    fetch('/api/md-editor/beacon?stage=' + encodeURIComponent(String(stage)), {
  • 发起网络请求
    client.js:116
    return fetch(url, { credentials: 'same-origin' }).then((res) => {
  • 发起网络请求
    client.js:934
    fetch('/api/md-editor/beacon?stage=' + encodeURIComponent(stage), {
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 右栏编辑Markdown
  • 自动保存
  • 从文件树打开

DeepSeek Harness 右侧边栏的可编辑 Markdown 标签页——Monaco 编辑器、自动保存,从工作区文件树打开。

README

由 DeepSeek 最新模型翻译生成
dsh-md-editor · 右栏 Markdown 编辑器 在 DeepSeek Harness 右侧栏里直接编辑工作区的 .md 文件。 在官方工作区文件树里点一个 .md → 它就在右栏以可编辑的 Monaco 标签打开。 直接改,停手 1.5 秒自动保存。不用另开页面,不用复制粘贴到别的编辑器。 English docs: README.md 能做什么 - 就地打开 —— 为 .md / .markdown 注册自己的 Sidebar 标签类型,官方文件树点文件就直接进可编辑标签。 - Monaco 编辑器 —— 行号、Markdown 语法高亮、自动换行。 Monaco 加载失败时降级为带行号的纯文本框(仍可编辑)。 - 自动保存 —— 停手 1.5 秒写盘;Ctrl/Cmd+S 立即保存。 - 重新读取 —— 放弃本地改动、重新拉磁盘内容。 - 预览接力 —— 「预览」按钮把同一文件交给官方文档标签(kind text),那里有内置渲染器(Markdown / 代码 / 纯文本);装了 dsh-md-studio 还能看 Mermaid 与公式。
展开完整文档(README 剩余 1 节)
dsh-md-editor · 右栏 Markdown 编辑器

在 DeepSeek Harness 右侧栏里直接编辑工作区的 .md 文件。

在官方工作区文件树里点一个 .md → 它就在右栏以可编辑的 Monaco 标签打开。
直接改,停手 1.5 秒自动保存。不用另开页面,不用复制粘贴到别的编辑器。

English docs: README.md

能做什么

- 就地打开 —— 为 .md / .markdown 注册自己的 Sidebar 标签类型,官方文件树点文件就直接进可编辑标签。
- Monaco 编辑器 —— 行号、Markdown 语法高亮、自动换行。
Monaco 加载失败时降级为带行号的纯文本框(仍可编辑)。
- 自动保存 —— 停手 1.5 秒写盘;Ctrl/Cmd+S 立即保存。
- 重新读取 —— 放弃本地改动、重新拉磁盘内容。
- 预览接力 —— 「预览」按钮把同一文件交给官方文档标签(kind text),那里有内置渲染器(Markdown / 代码 / 纯文本);装了 dsh-md-studio 还能看 Mermaid 与公式。

安装

npm(发布后)
dsh plugin --profile <你的 profile> add dsh-md-editor

从 GitHub
dsh plugin --profile <你的 profile> add github:Zhang1025681484/dsh-md-editor

从本地目录
dsh plugin --profile <你的 profile> add file:/绝对路径/dsh-md-editor

Electron 桌面版的 desktop profile 由应用自己管理(CLI 装不进去),请用 设置 → 插件 → 添加插件,粘贴本地路径或包名。

装完后完全退出 DSH 再打开(宿主侧 JS 模块按进程缓存),并在插件列表里确认它已启用。

使用

1. 打开右侧栏 → 文件 标签
2. 点任意 .md → 在「Markdown 编辑器」标签里打开
3. 编辑;停手 1.5 秒(或 Ctrl/Cmd+S)
4. 底部状态栏出现 已保存(版本 …) 即写入成功

环境要求

- DeepSeek Harness >= 0.2.0-rc.2(开发与验证环境为 0.2.0-rc.2)
- Monaco 0.52.2 随包内置(vendor/monaco,约 13 MB),完全离线可用

已知限制(如实说)

- 无冲突保护。 保存是直接覆盖。原本的 replaceIfVersion 校验已关闭:该 version 字符串经 Remote 层传到浏览器后 mtimeNs 段会变形(期望 …:1781482301616186400:…,实际 …:1791482301616186400:…,差恰好 1e16,是大整数序列化的精度问题),带它保存必然被判"版本冲突"。需要以磁盘为准时用「重新读取」。
- 不做 Markdown 渲染。 这是编辑器不是阅读器;要看渲染效果用「预览」按钮,或装预览类插件(如 dsh-md-studio)。
- 大文件会截断:单页 5 000 行、最多 40 页(约 20 万行)。状态栏会提示, 截断状态下请勿保存。
- 界面文案是中文硬编码,尚未接入 Client locale 服务。
- 会在插件目录写 .client-beacon.log(调试信标,见下),可随时删除。

实现要点(写给插件开发者)

package.json 里声明两半:

| 半 | 文件 | 职责 |
| 宿主 | index.js | 用 ctx.connection.fetch.register 在 /api/md-editor/monaco 暴露 Monaco 资源;注册 /md-save 命令 |
| 宿主 | monaco.js | 同源 Monaco 资源解析,含路径穿越与符号链接校验 |
| 浏览器 | client.js | 注册标签类型并渲染编辑器 |

用到的关键 API(均对照官方实现验证过):

// 浏览器半 —— 第一层扩展点(稳定;正文完全自控)
ctx.sidebarRightTabs.register({
id: 'dsh-md-editor', kind: 'md-editor',
patterns: ['.md', '.markdown'], // glob —— 带点
priority: 'extension',
title: () => 'Markdown 编辑器',
});
ctx.slots.inject('sidebar.right.pane.tab', () =>
ctx.slots.register({ name: 'sidebar.right.pane.tab', key: 'dsh-md-editor' }, Body));

// Cordis 服务依赖必须逐字声明
inject: ['slots', 'sidebarRight', 'remote', 'remote.workspaceFiles', 'remote.commands']

- 读文件走 ctx.remote.workspaceFiles.read(...)(该服务只读)。
- 写文件必须由宿主执行:浏览器调 /md-save 命令,宿主用
ctx.fs.writeText(resolved, content, guard, undefined, policy) 落盘。
- 宿主解析路径时必须传会话工作区作为 cwd,否则相对路径会按进程工作目录解析,出现"写入成功但文件没变"。

调试信标

插件会往自己目录下的 .client-beacon.log 追加每个生命周期阶段一行(经 /api/md-editor/beacon 路由)。它把"用户说界面不对"变成"我能从磁盘上读到的数字"。
开发这个插件时踩到的所有坑,整理在 DSH插件开发-避坑指南.md。

第三方

见 THIRD-PARTY-NOTICES.md。简言之:

- Monaco Editor 0.52.2 —— MIT,© Microsoft Corporation(内置在 vendor/monaco)
- Monaco 加载机制 —— 复用自 yueyexiayu/dsh-bianji(MIT)

许可证

MIT —— 见 LICENSE。
预览分享卡片长什么样 ↓Zhang1025681484/dsh-md-editor
分享 · DeepSeek Harness Hub
Zhang1025681484/dsh-md-editor

在右栏直接编辑工作区 Markdown 文件并自动保存

这是你的仓库?认领条目

回到顶部