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

富 Markdown 笔记本 MarchLiu/dsh-rich-editor

DeepSeek Harnessv0.7.1
MarchLiu24 天前有提交已提供中文文档扫描:未发现敏感能力

第三方 dsh web 插件:给输入区加一个富 Markdown 笔记本——工具行开关,外加一张 CodeMirror 编辑器卡片,支持 Codex 风格的列表编辑

36.4/100
综合分
2
GitHub 星标
296
npm 周下载
—/5
用户评分

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

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @mars.liu/dsh-rich-editor
npm 源 · @mars.liu/dsh-rich-editor 的发布者账号已校验与本仓库一致

状态速览

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

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@mars.liu/dsh-rich-editor @ 0.7.1
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 21:12:27

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-test-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-invariants@deepseek-ai/dsh-session
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

3 张 · 点击查看大图

功能亮点

  • 工具行开关
  • Codex风格列表编辑

README

由 DeepSeek 最新模型翻译生成
@mars.liu/dsh-rich-editor 打开 Markdown 笔记本后的输入区 DeepSeek Harness 的第三方 Web 插件:输入区的富 Markdown 笔记本。浏览器半边向 dsh-client-ui-conversation 拥有的输入区贡献两个条目:工具行开关(conversation.input.left)与输入区上下文栈中的编辑卡片(conversation.input.dock)。两个条目共享同一个按会话作用域的 store 句柄,因此进行中的草稿在关闭/重开面板、表面重挂载后仍然保留;引擎按会话 id 切分 session store,每个会话各有自己的笔记本。 编辑器是运行 Markdown 语言扩展的 CodeMirror 6 实例:草稿语法高亮(含 GFM 表格)、原生 undo/redo 与选区,以及 Codex 风格的 Enter 列表编辑——在非空列表项上按 Enter 打开下一项(有序标记 1. → 2. 递增,复选项重新变为未勾选,缩进保留,光标在行中时拆分该项),在空列表项上按 Enter 删除标记、回到普通文本编辑。非列表行的 Enter 落回普通换行。
展开完整文档(README 剩余 1 节)
@mars.liu/dsh-rich-editor

打开 Markdown 笔记本后的输入区

DeepSeek Harness 的第三方 Web 插件:输入区的富 Markdown 笔记本。浏览器半边向 dsh-client-ui-conversation 拥有的输入区贡献两个条目:工具行开关(conversation.input.left)与输入区上下文栈中的编辑卡片(conversation.input.dock)。两个条目共享同一个按会话作用域的 store 句柄,因此进行中的草稿在关闭/重开面板、表面重挂载后仍然保留;引擎按会话 id 切分 session store,每个会话各有自己的笔记本。

编辑器是运行 Markdown 语言扩展的 CodeMirror 6 实例:草稿语法高亮(含 GFM 表格)、原生 undo/redo 与选区,以及 Codex 风格的 Enter 列表编辑——在非空列表项上按 Enter 打开下一项(有序标记 1. → 2. 递增,复选项重新变为未勾选,缩进保留,光标在行中时拆分该项),在空列表项上按 Enter 删除标记、回到普通文本编辑。非列表行的 Enter 落回普通换行。Tab 与 Shift-Tab 调整列表深度:列表项上按 Tab 缩进一级、按 Shift-Tab 升一级,最上一级列表项上按 Shift-Tab 退出列表(去掉标记与复选框、保留文字);非列表行上两者均放行编辑器默认行为。Mod+Enter 提交。

卡片顶边有一对编辑 / 预览标签。预览通过 marked 实时渲染草稿,并经 DOMPurify 消毒后才接触 DOM——它只是格式化 Markdown(GFM 表格、任务列表、围栏代码、引用块)的只读视图,绝不改动提交内容:草稿文本原样走发送通道。切到预览时 CodeMirror 宿主只是隐藏而非卸载,undo 历史与光标在往返后原样保留。

Enter 列表编辑:打开下一项、复选框重置、空项去标记

提交走按作用域寻址的 conversation 服务的 send 动词——与普通输入框的提交同一条路径——因此裁决、排队与 prompt 错误报告的行为与手打 prompt 完全一致。发送失败时会话的 composer 通知通道会浮现错误,草稿保留在面板中。

笔记本与原生输入框是同一份草稿的两个编辑面:打开面板时,原生编辑区已有的内容进入笔记本(原生为空时则把笔记本保留的草稿推下去);面板打开期间,任一侧的每次编辑都实时镜像到另一侧——笔记本经会话 input facade 的 setDraft 单一写路径写入原生草稿,原生侧则订阅 facade 的 InputState store,以最小差异替换回流笔记本(相等即不写的守卫阻断回环,也保住编辑面外的光标);关闭面板时最终文本留在原生编辑区,成功提交则同时清空两侧。

组件关系:两个输入区插槽、一个会话 store、一个 send 动词

安装

dsh plugin --profile web add @mars.liu/dsh-rich-editor

包自带 bundle patch(cordis.patch.yml 添加 ui-rich-editor 行);手动编排 profile 时把本 bundle 列进 dsh.profile.bundles。从源码构建:

pnpm install && pnpm run build && pnpm test

要求 dsh 家族 ^0.1.2-alpha.5(已发布到 npm;0.1.2 线移除了 dsh-client-runtime / dsh-client-web-react,其 API 现由 dsh-client-store、dsh-client-ui-renderer、dsh-api-session-controller、dsh-session 提供),以及挂载了 dsh-client-ui-conversation 的 dsh web 组合。

⚠️ 兼容性提示(在 0.1.5-rc.x 上安装前必读)

安装本插件会重新解析 profile 的共享 @deepseek-ai/ 依赖树。在 DSH 0.1.5-rc.1 / 0.1.5-rc.2 上,这可能把 profile 落到同一版本线里两个互不兼容的 @deepseek-ai/ 构建——核心入口 dsh-api-session-controller 可能因此无法从 dsh-attachment 导入,导致 dsh web 完全无法启动(#4)。

- 首次安装请先用独立 profile(例如临时建一个 web-test profile),不要直接在日用 profile 上试。
- 禁用插件不等于回滚。 损坏发生在 node_modules 里已解析的包版本上,而不是插件清单里;切换插件条目或安全模式都不会重写这些版本,只有 pnpm 级操作才会重新解析依赖树。
- 恢复方法:移除本包即可重新解析依赖树,立即恢复一致的包组合:

dsh plugin --profile web remove @mars.liu/dsh-rich-editor
dsh web # 正常启动

本项目暂时不 pin @deepseek-ai/ 版本范围(pin 会与同 profile 里的其他插件互相冲突)。替代做法是:每次发布前,对 npm 上当前 latest 标签起(含)往前的最近 5 个已发布版本做一轮可用性冒烟测试,并在 README 标明该次发布验证过的兼容范围。若你安装的版本落在范围之外,首次安装请优先使用独立 profile。

开发说明

npm 上的 0.0.1-rc.1 dsh 快照只发布了浏览器 loader bundle——node 半边几乎无导出,且若干改名前的依赖名(dsh-compact、dsh-user-interaction、dsh-type-meta、dsh-client-ui-slash)从未发布。本仓库用两个手段绕开:

- package.json > overrides 把缺失名指向 vendor/stubs/ 下的空 stub(本插件的任何代码路径都不 import 它们);
- vitest.config.ts 通过本地 harness checkout 的 tsconfig.base.json 中的 paths 映射解析全部 @deepseek-ai/ 说明符(DSH_CHECKOUT 环境变量,默认 ../deepseek-harness),并 inline 全部 @deepseek-ai/dsh-client-* 包——与 dsh 树内测试获取 client API 的方式一致。

待 dsh 家族重新发布完整可安装的闭包后,移除这两个绕行。

已知限制与暂缓事项

- 有序列表重编号暂缓 — 续写有序列表会递增新项标记,但编辑或删除前项不会自动重编后续项。
- 暂未接入 / 与 @ 触发 — 笔记本不参与斜杠命令与文件提及管线;这些手势属于其下方的普通输入框。
- 草稿仅会话生命周期 — store 让草稿跨重挂载与标签切换保留,但整页刷新会丢弃(无持久化键)。
- 无附件入口(拖入/粘贴) — 笔记本面板自身不接收拖入/粘贴的文件;附件通过面板底部的回形针按钮走原生 composer 的文件选择与上传管线,选中文件成为 composer 轨道上的附件,随下一次笔记本发送一并送出(仅文件选择入口;直接向笔记本拖入/粘贴仍不生效)。
- 浏览器 bundle 内联了约 268 kB gzip 的 CodeMirror — 即便关闭嵌入代码高亮(codeLanguages: []),@codemirror/lang-markdown 仍静态依赖 @codemirror/lang-html(连带 JavaScript 与 CSS 解析器),客户端打包器会把整条链内联进来;后续瘦身方向是把编辑器挂载拆到动态导入之后。

许可

MIT
预览分享卡片长什么样 ↓MarchLiu/dsh-rich-editor
分享 · DeepSeek Harness Hub
MarchLiu/dsh-rich-editor

第三方 dsh web 插件:给输入区加一个富 Markdown 笔记本——工具行开关,外加一张 CodeMirror 编辑器卡片,支持 Codex 风格的列表编辑

这是你的仓库?认领条目

回到顶部