Writing

Logseq-MD:修好粘贴到 Logseq 里的 Markdown

一个本地优先的 Logseq 插件实验:把从 ChatGPT、Claude、网页或 Notion 复制来的 Markdown,在 Logseq 里一键整理回可读的表格、标题和代码块。

Ai 降临 个人工具 Logseq 插件
Logseq-MD 插件概览图,显示可拖动面板把粘贴损坏的 Markdown 表格修复成干净表格

我最近做了一个新的 Logseq 插件,叫 Logseq-MD

它解决的是一个很小、但每天都可能让人分心的问题:从 ChatGPT、Claude、网页、GitHub、Notion 等地方复制 Markdown,再粘贴到 Logseq 里时,表格、标题、代码块和空行经常会变形。

如果只是偶尔坏一次,手动修一修也没什么。但当这件事发生在读资料、整理课程、拆文章、复盘 Ai 输出的过程中,它会打断人的注意力。原本应该继续思考的问题,突然变成了“这张表为什么碎成了一堆 block”。

它是个什么

Logseq-MD 是一个本地优先的 Logseq 插件。

它在 Logseq 里提供一个可拖动的小面板,核心动作只有一个:把当前 block 或选中的 blocks 里的 Markdown 一键修复回来。

目前它主要处理这些场景:

  • 修复当前 block;
  • 修复选中的多个 blocks;
  • 规范 Markdown 表格;
  • 修复从 Ai 或网页粘贴后形成的竖向碎片表格;
  • 修复已经被错误处理过的中间坏表格;
  • 修复标题空格,例如把 ##标题 整理成 ## 标题
  • 保守清理多余空行;
  • 保护 fenced code block,避免误伤代码块内容;
  • 复制诊断信息,方便反馈问题。

这里的“修复”不是把笔记改写成另一种风格,也不是替你润色内容。它更像一个粘贴后的清洁层:尽量让原本应该是 Markdown 的东西,重新变回 Logseq 里可读、可整理、可继续工作的形态。

为什么是这个边界

我一开始就不想把它做成一个“大而全的 Markdown 工具”。

Logseq 里真正麻烦的,不是 Markdown 语法本身,而是外部来源和 Logseq block 结构之间的错位。尤其是表格:在网页、Ai 对话、Notion、GitHub 之间来回复制时,看起来完整的表格,进到 Logseq 之后可能会被拆成很多不连贯的行。

所以 Logseq-MD 的第一版只盯住这个断点:粘贴之后,马上修复。

它不负责生成内容,不负责改写内容,也不负责替代 Logseq 的编辑体验。它只负责在“外部 Markdown 进入 Logseq”这一步,把最常见的结构损坏尽量补回来。

这个边界对我很重要。因为很多个人工具最容易失败的地方,就是刚开始只想解决一个问题,后来慢慢膨胀成一个平台。Logseq-MD 现在不需要成为平台,它先把这一件烦人的小事做好。

本地优先

这个插件的另一个重点是隐私边界。

Logseq-MD 在 Logseq 本地运行:

  • 不联网;
  • 不调用 Ai API;
  • 不上传笔记内容;
  • 不做 telemetry;
  • 诊断信息只包含命令、数量、结果、warning 和 error,不包含笔记原文。

这不是一个“顺便强调一下”的卖点,而是它应该有的默认姿态。

Logseq 本来就是很多人放长期笔记、读书摘录、个人项目材料和未公开想法的地方。一个处理笔记内容的插件,如果只是为了修 Markdown,就没有必要把内容发到外部服务。

怎么使用

当前版本适合本地测试。

最直接的方式是从 GitHub Releases 下载最新版 zip,解压后在 Logseq 里开启 Developer mode,再通过 Load unpacked plugin 加载解压后的插件文件夹。

使用时,把 Markdown 粘贴到 Logseq,然后从工具栏打开 Logseq-MD 面板。把光标放在要修复的 block,或选中多个 blocks,点击 一键修复

如果更习惯命令,也可以用 slash commands:

  • Logseq-MD: Repair current block
  • Logseq-MD: Repair selected blocks
  • Logseq-MD: Repair Markdown table
  • Logseq-MD: Open status panel

项目仓库在这里:

https://github.com/Hugh-Afterlight/logseq-md

现在的状态

Logseq-MD 当前已经整理成后续提交 Logseq Marketplace 的方向:根目录有 manifest.json,README 里说明了功能和使用方法,也有 GitHub Actions 在创建 release 时构建 release zip。

不过在正式提交插件市场前,我还需要继续用真实 Logseq 内容测试,尤其是各种从 Ai、网页和文档工具复制来的坏表格。

这也是我把它先发出来的原因:它不是一个宏大的产品宣言,而是一次很具体的个人工具实践。一个经常打断工作流的小问题,如果能被一个小插件安静地修掉,就已经很值得。

我喜欢这样的工具。它不抢注意力,不制造新的系统,也不要求人改变整个工作方式。它只是站在一个细小但真实的断点上,把事情接回去。