- 飞书文档直接粘贴 - 自动转换为 Markdown,飞书高亮标记
==text==完整保留 - 智能粘贴识别 - 从渲染后的 Markdown 页面复制内容时,按 HTML 结构还原标题、列表、代码块,不退化为纯文本
- 本地导入 - 支持导入
.md文件;图片附件(含 SVG)拖拽/粘贴直接插入为 data URI - 历史文档 - 导入、清空、恢复等替换操作前自动存档(上限 20 条),可随时找回
- 实时预览 - 左侧编辑源码,右侧实时渲染,滚动自动联动
- 源码高亮 - 编辑器内置 GitHub / Dracula / Monokai / 无 四种配色,不影响输入
- 文章大纲 - 解析 H1-H3 生成大纲,点击快速定位
- 格式工具栏与快捷键 - Cmd/Ctrl+B(粗体)、I(斜体)、U(下划线)、K(链接)、Z(撤销,50 步历史)、F(查找替换)
- 查找替换 - Cmd/Ctrl+F 呼出双行查找栏,支持区分大小写与正则(含
$1捕获组),编辑区高亮全部匹配 - 专注工作区 - 可在双栏、仅编辑和仅预览间切换
- 5 种主题 - 经典 / 橙色 / 蓝色 / 青绿 / 自定义;自定义主题只需挑一个主色,整套配色自动生成;浅色 / 深色 / 跟随系统三种模式
- 17 种免费字体 - 系统字体与 Google Fonts,全部无版权
- 逐项可调的排版选项 - H1/H2 样式(底线、反显、对齐)、引用块(背景 / 边框色 / 间距)、图片(边框 / 阴影 / 圆角)、代码块(极简 / 现代)、正文对齐、表格阴影、分割线等
- 文章首尾模板 - 可配置的首尾片段,复制 / 推送时自动拼接,可单独开关
- 荧光笔高亮 -
==高亮==语法支持 5 种荧光笔颜色 - 配置迁移 - 排版设置一键导出 / 导入 JSON,与 CLI 配置文件同构,不含任何凭证
- 一键复制公众号 - 全部样式转内联;预览区选中部分可单独复制;公众号链接自动适配为「链接文字: URL」文本
- 导出文件 - Markdown / HTML / PDF 三种格式,文件名自动取文章标题(frontmatter
title或首个 H1) - 推送草稿箱 - 配置公众号 AppID/AppSecret 后直接推送到草稿箱,标题、封面与摘要自动读取 frontmatter(摘要取
description,上限 120 字);封面 webp/svg 自动转 png;凭证仅保存在浏览器本地,多用户互不干扰 - CLI 命令行 - 终端完成凭证配置、渲染导出、推送草稿箱,便于脚本化与 CI 集成
- AI 聊天编辑 - 面板内发送指令修改当前文章,支持图片 / 文本附件与流式输出,先「查看变更」再「应用修改」;面板支持抽屉 / 侧栏两种显示方式
- 多供应商 - 自定义模型供应商,兼容 Chat Completions / Anthropic / Responses 三种 API 格式
- 云端配置(Cloudflare 部署版) - GitHub 登录后配置 AES-GCM 加密同步云端,浏览器端不暴露 API Key
- Task List(
- [x])、脚注、frontmatter 元数据卡片、表格、Mermaid 图表、SVG 图形全链路支持 - 代码块语法高亮(Atom One Dark)+ 语言标签,行内代码加粗显示
- 复制 / 导出 / 推送链路针对微信编辑器做了大量兼容处理(标签白名单降级、列表悬挂缩进、图片结构降级等)
git clone https://github.com/wangruofeng/feishu2wx.git
cd feishu2wx
npm install
npm run dev前端运行在 http://localhost:3100,后端 http://localhost:3101(推送草稿箱需要后端)。
💡 只用排版、预览、复制功能时,
npm start仅启动前端(端口 3000)即可。 详细启动说明与常见安装问题见 QUICKSTART.md。
安装(本项目未发布到 npm,在仓库内执行以下命令将 feishu2wx 链接为全局命令):
npm install
npm link安装后可在任意目录直接使用 feishu2wx;软链接始终跟随仓库当前代码,切换 Node 版本后需重新执行 npm link。不想全局安装时,也可在仓库内用 npm run cli -- <命令> 运行。
feishu2wx init # 初始化用户级 CLI 配置
feishu2wx auth set --app-id <id> --app-secret <secret> # 配置公众号凭证
feishu2wx render article.md --out article.html # 渲染并导出 HTML
feishu2wx publish article.md --title "文章标题" # 推送到公众号草稿箱支持单次命令覆盖主题与排版项(如 --theme blue --invert-h1 --text-align-mode justify)。CLI 只读取用户级 ~/.feishu2wx/config.json,凭证不应放入项目目录或提交到仓库。完整命令速查见 cli/README.md。
| 文档 | 内容 |
|---|---|
| 使用指南 | 界面功能、排版设置、导出推送、AI 面板的详细说明与 FAQ |
| 快速启动 | 本地开发环境搭建与安装验证 |
| CLI 文档 | 命令行工具全部命令、配置与环境变量 |
| 部署指南 | Cloudflare Pages 部署(前端 + 后端 Functions) |
| 架构说明 | 数据流、核心模块、主题与状态管理 |
| 开发指南 | 开发命令、测试、提交流程 |
React 18 · TypeScript · Create React App · markdown-it(含脚注插件)· Turndown + GFM · Highlight.js · Mermaid · Cloudflare Pages Functions(后端推送代理)
- 公众号 AppID/AppSecret 仅保存在浏览器 localStorage,推送时随请求发给后端调用微信 API,服务端不做任何存储
- AI 配置的 API Key 在 Cloudflare 部署版下经 AES-GCM 加密存储,浏览器端永不回显
- 自托管建议:设置
ALLOWED_ORIGINS限制 CORS 来源、全程 HTTPS、在微信后台配置 IP 白名单,详见 部署指南
本项目采用 MIT License 许可证。
欢迎提交 Issue 和 Pull Request!
享受写作的乐趣! ✨ 如果这个项目对您有帮助,请给个 ⭐ Star!
Made with ❤️ by feishu2wx Contributors