1 项目简介

PasteMD

AI 回复转文档转换器

Python 3.12+ Windows MIT License

痛点

从 ChatGPT / DeepSeek 等 AI 网站复制的公式在 Word 里显示乱码?Markdown 表格无法粘贴到 Excel?

PasteMD 是一个常驻托盘的小工具,从剪贴板读取 Markdown,调用 Pandoc 转换为 DOCX,并自动插入到 Word/WPS 光标位置。

智能识别表格

Markdown 表格一键粘贴到 Excel

HTML 富文本

直接复制网页 AI 回复粘贴到 Word

应用扩展

按应用/窗口标题匹配不同粘贴模式

转换增强

支持 Pandoc Filters,自动修复 LaTeX 语法

2 功能特点

  • 全局热键 (默认 Ctrl+Shift+B)一键粘贴 Markdown → DOCX
  • 智能识别 Markdown 表格 ,自动粘贴到 Excel
  • 应用扩展 :为不同应用配置 HTML/Markdown/LaTeX/文件 粘贴模式,支持按窗口标题匹配
  • 转换增强 :按转换类型添加 Pandoc Filters,自动修复部分 LaTeX 语法与单 $...$ 公式块
  • 自动识别前台应用 :Word 或 WPS,智能打开所需应用
  • 托盘菜单 :可保留文件、查看日志/配置等
  • 系统通知 :无黑框,无阻塞,稳定运行

3 AI 网站兼容性

AI 网站 复制 Markdown
(无公式)
复制 Markdown
(含公式)
复制网页内容
(无公式)
复制网页内容
(含公式)
Kimi ✅ 完美 ✅ 完美 ✅ 完美 ⚠️ 无法显示
DeepSeek ✅ 完美 ✅ 完美 ✅ 完美 ✅ 完美
通义千问 ✅ 完美 ✅ 完美 ✅ 完美 ⚠️ 无法显示
豆包* ✅ 完美 ✅ 完美 ✅ 完美 ✅ 完美
智谱清言 ✅ 完美 ✅ 完美 ✅ 完美 ✅ 完美
ChatGPT ✅ 完美 ⚠️ 显示为代码 ✅ 完美 ✅ 完美
Gemini ✅ 完美 ✅ 完美 ✅ 完美 ✅ 完美
Grok ✅ 完美 ✅ 完美 ✅ 完美 ✅ 完美
Claude ✅ 完美 ✅ 完美 ✅ 完美 ✅ 完美

图例说明

  • ✅ 完美支持:格式、样式、公式均正确显示
  • ⚠️ 显示为代码:公式以 LaTeX 代码形式显示
  • ⚠️ 无法显示:公式会丢失,需手动输入
  • 豆包*:复制含公式网页内容前,需开启浏览器剪贴板权限

4 安装使用

1 下载安装包

前往 Releases 页面 下载:

PasteMD_pandoc-Setup.exe(推荐)

一体化安装包,自带 Pandoc,无需额外配置

2 打开目标应用

打开 Word、WPS 或 Excel,将光标放在需要插入的位置

3 复制内容

复制 Markdown网页内容 到剪贴板

4 按下热键

按下 Ctrl+Shift+B

5 自动插入
  • Markdown 表格 → 自动粘贴到 Excel(如果已打开)
  • 普通 Markdown / 网页内容 → 转换为 DOCX 并插入 Word/WPS

5 配置说明

首次运行会在用户数据目录生成 config.json

  • Windows: %APPDATA%\PasteMD\config.json
  • macOS: ~/Library/Application Support/PasteMD/config.json
{
  "hotkey": "<ctrl>+<shift>+b",
  "pandoc_path": "pandoc",
  "reference_docx": null,
  "save_dir": "%USERPROFILE%\\Documents\\pastemd",
  "keep_file": false,
  "notify": true,
  "startup_notify": true,
  "enable_excel": true,
  "excel_keep_format": true,
  "paste_delay_s": 0.3,
  "no_app_action": "open",
  "md_disable_first_para_indent": true,
  "html_disable_first_para_indent": true,
  "move_cursor_to_end": true,
  "Keep_original_formula": false,
  "enable_latex_replacements": true,
  "fix_single_dollar_block": true,
  "language": "zh-CN"
}

主要字段说明

字段 说明
hotkey全局热键,语法如 <ctrl>+<alt>+v
pandoc_pathPandoc 可执行文件路径
reference_docxPandoc 参考模板(可选)
save_dir保留文件时的保存目录
keep_file是否保留生成的 DOCX 文件
notify是否显示系统通知
enable_excel是否启用智能识别 Markdown 表格并粘贴到 Excel
excel_keep_formatExcel 粘贴时是否保留 Markdown 格式(粗体、斜体等)
paste_delay_s粘贴前的延迟秒数
no_app_action未检测到目标应用时的动作:open/save/clipboard/none
enable_latex_replacements自动修复部分不兼容的 LaTeX 语法
fix_single_dollar_block自动修复单独一行的 $ ... $ 公式块
language界面语言:zh-CN / en-US / ja-JP

提示

修改配置后可在托盘菜单选择「重载配置/热键」立即生效

6 Pandoc Filters

Pandoc Filter 是在文档转换过程中对内容进行自定义处理的插件程序。PasteMD 支持配置多个 Filter,按顺序依次处理文档内容。

示例:Mermaid 图表支持

1 安装 mermaid-filter
npm install --global mermaid-filter

前置条件:需要先安装 Node.js

2 配置到 PasteMD

编辑 config.json:

{
  "pandoc_filters": [
    "%APPDATA%\\npm\\mermaid-filter.cmd"
  ]
}
3 测试效果

复制以下内容并使用 PasteMD 转换:

```mermaid
graph LR
    A[开始] --> B[处理]
    B --> C[结束]
```

更多 Filter 资源:Pandoc Filters 官方列表 | Lua Filters 文档

7 应用扩展

可以为不同应用配置粘贴模式,支持按窗口标题正则匹配:

📝
HTML
语雀等
📄
Markdown
富文本笔记
📐
LaTeX
Overleaf 等
📎
文件
QQ/微信

示例配置

{
  "extensible_workflows": {
    "html": {
      "enabled": true,
      "apps": [
        {
          "name": "语雀",
          "id": "/path/语雀.exe",
          "window_patterns": []
        }
      ],
      "keep_formula_latex": true
    },
    "latex": {
      "enabled": true,
      "apps": [
        {
          "name": "chrome",
          "id": "/path/chrome.exe",
          "window_patterns": [".*overleaf.*"]
        }
      ]
    },
    "file": {
      "enabled": true,
      "apps": [
        {
          "name": "QQ",
          "id": "/path/qq.exe",
          "window_patterns": []
        }
      ]
    }
  }
}

提示

同一个应用只建议配置一种工作流(避免冲突);Windows 下 id 通常为 exe 路径,macOS 为 bundle id

8 托盘菜单

  • 快捷显示:当前全局热键(只读)
  • 启用热键:开/关全局热键
  • 弹窗通知:开/关系统通知
  • 无应用时动作:自动打开/仅保存/复制到剪贴板/无操作
  • 插入后移动光标到末尾
  • HTML 格式化:切换删除线 ~~ 转换为 <del> 等
  • 设置热键:通过图形界面录制新热键
  • 保留生成文件:勾选后 DOCX 会保存在 save_dir
  • 打开保存目录、查看日志、编辑配置、重载配置/热键
  • 版本:显示当前版本,可检查更新
  • 退出:退出程序

9 源码构建

建议 Python 3.12 (64位)

从源码运行

pip install -r requirements.txt
python main.py

使用 PyInstaller 打包

pyinstaller --clean -F -w -n PasteMD \
  --icon assets\icons\logo.ico \
  --add-data "assets\icons;assets\icons" \
  --add-data "pastemd\i18n\locales\*.json;pastemd\i18n\locales" \
  --add-data "pastemd\lua;pastemd\lua" \
  --hidden-import plyer.platforms.win.notification \
  main.py

生成的程序在 dist/PasteMD.exe