dsh-marktext —— 在 DeepSeek Harness 右侧栏里编辑 Markdown
52.3/100
综合分
56
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/4 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-marktextnpm 源 · dsh-marktext 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · browser
装得上吗
静态安装检查通过
未做真实安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-marktext @ 0.1.11
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/4 03:20:21
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 9 处,展示前 9 条)
- 读取本地文件lib/index.js:109
const info = await fsStat(filePath) - 读取本地文件lib/index.js:121
const stream = createReadStream(filePath) - 读取本地文件lib/index.js:168
const info = await fsStat(filePath, { bigint: true }).catch(() => null) - 写入本地文件lib/index.js:174
await fsWriteFile(filePath, String(text), 'utf8') - 写入本地文件lib/index.js:179
await fsWriteFile(fallback, String(text), 'utf8') - 读取本地文件lib/index.js:188
const info = await fsStat(filePath, { bigint: true }) - 读取本地文件lib/index.js:257
const info = await fsStat(docFile) - 发起网络请求lib/client.js:102
const response = await fetch(API_BASE + endpoint, { - 发起网络请求lib/client.js:385
void fetch(API_BASE + 'diag', {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-marktext
dsh-marktext —— 在 DeepSeek Harness 右侧栏里编辑 Markdown
只截编辑器(明 / 暗)
编辑器(明色)
编辑器(暗色)
把 MarkText 的编辑器内核装进 DeepSeek Harness 右侧栏。 点开 .md 就是排版好的文档——标题、表格、公式、图表、图片——改完直接写回磁盘,保存带版本守卫,不会盲覆盖别人的修改。
MarkText 是 Electron 桌面应用,本项目没有搬运它的桌面壳,只使用它拆出来的编辑器库 @muyajs/core(muya,MIT),外加一层 DSH 集成。所以这是「用 MarkText 的内核」,不是「在 DSH 里跑 MarkText」。
展开完整文档(README 剩余 1 节)
dsh-marktext
dsh-marktext —— 在 DeepSeek Harness 右侧栏里编辑 Markdown
只截编辑器(明 / 暗)
编辑器(明色)
编辑器(暗色)
把 MarkText 的编辑器内核装进 DeepSeek Harness 右侧栏。 点开 .md 就是排版好的文档——标题、表格、公式、图表、图片——改完直接写回磁盘,保存带版本守卫,不会盲覆盖别人的修改。
MarkText 是 Electron 桌面应用,本项目没有搬运它的桌面壳,只使用它拆出来的编辑器库 @muyajs/core(muya,MIT),外加一层 DSH 集成。所以这是「用 MarkText 的内核」,不是「在 DSH 里跑 MarkText」。
它能做什么
- 在侧栏文件树里点任意 .md / .markdown / .mdown / .mkd,打开一个 MarkText 风格的编辑标签页
- 真正的所见即所得:markdown 标记隐藏,标题/列表/表格/引用/代码块都是真实 DOM
- 公式(KaTeX)、Mermaid、Vega、PlantUML、Prism 代码高亮全部内置且离线,按需加载
- 顶栏有文件名、未保存圆点、状态和「保存」按钮;⌘S / Ctrl+S 随时保存
- 支持 ⌘Z / ⇧⌘Z 撤销重做(Windows 下 Ctrl+Z / Ctrl+Shift+Z)
- 停止输入 2.5 秒后自动保存
- 深色/浅色跟随宿主主题
- markdown 里的相对图片()按文档所在目录加载
安装
方式一:DSH 应用内(推荐)
侧栏 Plugins → Add plugin → Install a third-party plugin,输入:
dsh-marktext
点 Enable now,重启一次 app,然后打开任意 .md。
方式二:命令行(web profile)
dsh plugin --profile web add dsh-marktext
方式三:手动改 profile(桌面 app,兜底)
桌面 app 的 desktop profile 由 app 自己管理,dsh plugin --profile desktop 会被拒绝。手动改 ~/.dsh/profiles/desktop/package.json:
{
"dsh": { "profile": { "bundles": [..., "dsh-marktext"] } },
"dependencies": { ..., "dsh-marktext": "^0.1.1" }
}
cd ~/.dsh/profiles/desktop && pnpm install
然后重启 app。
从 GitHub 安装(替代 npm)
任何接受包名的地方都能换成 github:Roland0511/dsh-marktext(构建产物 renderer/ 已入库,安装时不需要再构建)。
环境要求
- DeepSeek Harness 0.2.1+,需要 ctx.sidebarRightTabs、ctx.slots、ctx.fs、ctx.webServer
- 只有从源码构建时才需要 Node 20+
架构
DSH Web(React) lib/client.js ── 注册侧栏标签类型 marktext(patterns: .md) │ 标签体 = <iframe src="/dsh-marktext/renderer/<token>/index.html"> │ postMessage(统一信封 __dshmkt) ▼ renderer/(独立 Vite 构建,内含 muya) │ fetch ▼ lib/index.js(宿主插件)
· /dsh-marktext/renderer/<token>/ 静态资源;miss 时回落到文档目录(相对图片)
· /dsh-marktext/api/open|save|stat 走 ctx.fs;save 必须带 baseVersion
为什么用 iframe 而不是直接渲染进 React:muya 的 CSS 变量定义在 :root、浮层直接挂到 document.body,内联会把样式泄漏到宿主。iframe 把这些一次性隔离,只桥接「文档、主题、保存」三件事。
消息协议(v1)
信封:{ __dshmkt: true, dir: 'down' | 'up', type, content }
| 方向 | type | content |
| down | doc | { path, displayPath, text, version, dark, locale } |
| down | saved | { version } |
| down | save-error | { code, message } |
| down | theme | { dark } |
| up | ready | — |
| up | dirty | { dirty } |
| up | save | { text, baseVersion } |
| up | reload | — |
| up | open-external | { href } |
保存与文件策略
- 正常路径:ctx.fs.writeText(target, text, { kind: 'replaceIfVersion', version })。版本不符返回 FS_STALE_VERSION,界面弹冲突横幅,绝不覆盖。
- 如果宿主文件策略拒绝写入(FS_SANDBOX_DENIED,例如 workspace-write / read-only),保存会回退到 Node 原生 fs.writeFile——版本守卫不放松:写前先用 ctx.fs.stat 比对版本,写后再取新版本。
- 回退只作用于「保存」这一个动作,插件不因此获得其它写能力;真正的 OS 权限错误(EACCES / EPERM)原样报错。
- 回退成功时 /save 的返回值带 nativeFallback: true。
排查
如果 .md 打开了但标签页提示类似「没有可用的查看方式」,说明客户端没注册上标签体。客户端会把注册结果上报给宿主,直接看:
curl -s http://127.0.0.1:<DSH端口>/dsh-marktext/api/diag | python3 -m json.tool
typeRegistered、bodyRegistered 和 errors 会指出是哪一步失败。
已知限制
- 只认相对图片路径 —— /absolute/a.png 和 file:// 暂不支持。
- 没有「选中片段插入对话」,没有文件树操作,没有导出 PDF —— 这些是下一步。
- 包体积:tarball 约 4 MB(解压约 9.4 MB,745 个文件);首屏约 1.6 MB(gzip ≈ 470 KB),Mermaid / Vega / Prism 的 chunk 按需加载。
- 与 dsh-markdown-typora 功能重叠:两者都在 extension band 注册 *.md,只会有一个生效,建议只装一个。
- 基于 npm 上的 muya 0.2.0;仓库 HEAD 的 API 更新(locale 导出不同),升级需要做一次兼容。
开发
npm install
npm run build:renderer # 产出 renderer/(已入库;只有改 src/renderer 时才需要)
npm test # 宿主路由、版本守卫、路径穿越、Origin 栅栏、客户端注册
node scripts/verify-renderer.mjs # headless Chrome:打开 → 渲染 → 保存 → 落盘
发布
使用 npm Trusted Publishing(OIDC),仓库里不存任何 token 或 secret。每次推送到 main,workflow 会跑测试、校验 renderer/ 与源码一致,只有 package.json 的版本是新的才发布,并自动附带 provenance;同时会在 GitHub 上打 tag 并创建 Release(v<版本号>,自动生成 release notes)。
npm version patch --no-git-tag-version
git commit -am "chore: release x.y.z"
git push
Star 趋势
许可
MIT —— 见 LICENSE。第三方组件与 MarkText 署名:NOTICE.md。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Roland0511/dsh-marktext
dsh-marktext —— 在 DeepSeek Harness 右侧栏里编辑 Markdown
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,967已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目