markdown-site
markdown-site 是一款专为开发者和 AI 智能体设计的开源发布框架,旨在帮助用户快速构建网站、文档或博客。它解决了传统静态站点生成器每次更新内容都需要重新构建和部署的痛点,实现了“写完即发布”的流畅体验。
用户只需在本地编写 Markdown 文件,通过终端运行简单的同步命令(如 npm run sync),内容便会立即实时更新到所有连接的浏览器中,无需等待重建过程。这一特性得益于其底层架构采用了 Convex 实时数据库和 Netlify 托管服务,确保了数据的高效同步与分发。
除了面向人类读者,markdown-site 还特别优化了对大语言模型(LLM)和 AI 智能体的友好度。项目内置了自动生成的 AGENTS.md 和 llms.txt 等发现文件,并支持 MCP 服务器集成,让 AI 工具能更轻松地理解和索引站点内容,非常适合关注 AEO(答案引擎优化)和 GEO(生成式引擎优化)的技术团队。
该工具基于 React、TypeScript 和 Vite 构建,支持完整的 Git 版本控制流程,允许开发者像管理代码一样管理内容。无论是需要快速搭建技术博客的独立开发者,还是希望内容能被 AI 高效抓取的研究人员,markdown-site 都是一个轻量且强大的选择。
使用场景
某全栈开发者正在维护一个高频更新的技术博客,需要同时满足人类读者阅读和 AI 助手抓取最新文档的需求。
没有 markdown-site 时
- 每次修改 Markdown 文件后,必须手动触发完整的站点构建流程,等待数分钟才能预览效果,打断写作心流。
- 为让 AI 代理(如 Cursor、Claude)识别网站结构,需人工编写并反复维护
llms.txt或AGENTS.md等发现文件,极易遗漏。 - 内容版本管理混乱,难以像代码一样通过 Git 进行精细的回滚或差异对比,常因误操作导致线上内容丢失。
- 多端同步滞后,本地修改后无法实时反映在连接的浏览器或测试环境中,需频繁刷新确认。
使用 markdown-site 后
- 只需在终端运行
npm run sync,本地 Markdown 变更即刻同步至 Convex 数据库并实时渲染,无需重建部署,实现“写完即见”。 - 执行
npm run sync:discovery即可自动生成并更新专为 LLM 优化的发现文件,确保 AI 代理能精准抓取最新内容结构。 - 所有文章作为标准文件存储在 Git 仓库中,支持完整的提交历史、Diff 审查与一键回滚,内容管理具备代码级的安全性。
- 基于 Convex 的实时同步机制,所有打开网站的浏览器窗口自动无感更新,彻底消除手动刷新需求。
markdown-site 通过将内容发布简化为终端同步命令,不仅极大提升了开发者的写作效率,更天然构建了面向 AI 时代的内容分发基础设施。
运行环境要求
- Linux
- macOS
- Windows
未说明
未说明

快速开始
markdown“同步”框架
一个开源的发布框架,专为AI智能体和开发者打造,用于快速部署网站、文档或博客。只需编写Markdown文件,通过终端即可完成同步。您的内容会立即对浏览器、大型语言模型(LLM)以及AI智能体开放访问。基于Convex构建。
您可以在本地编写Markdown文件,运行npm run sync(开发环境)或npm run sync:prod(生产环境),内容便会即时出现在所有已连接的浏览器中。该框架使用React、Convex和Vite构建,针对AEO、GEO以及LLM发现进行了优化。
发布流程: 您只需以Markdown格式撰写文章,然后在开发环境中运行npm run sync,或在生产环境中运行npm run sync:prod,文章就会立即显示在您的线上站点上。无需重新构建或重新部署。Convex负责实时数据同步,因此所有已连接的浏览器都会自动更新。
同步命令:
同步命令脚本位于scripts/目录下(sync-posts.ts、sync-discovery-files.ts)。
开发环境:
npm run sync- 同步Markdown内容npm run sync:discovery- 更新发现文件(AGENTS.md、llms.txt)npm run sync:all- 同步内容与发现文件
生产环境:
npm run sync:prod- 同步Markdown内容npm run sync:discovery:prod- 更新发现文件npm run sync:all:prod- 同步内容与发现文件
导出仪表盘内容:
npm run export:db- 将仪表盘中的帖子/页面导出到内容文件夹(开发环境)npm run export:db:prod- 导出仪表盘中的帖子/页面(生产环境)
版本控制机制: Markdown文件存储在content/blog/和content/pages/目录中。这些文件是Git仓库中的普通文件。您可以提交更改、查看差异,并像管理任何代码库一样进行回滚。同步命令会将内容推送到Convex数据库。
# 编辑、提交、同步
git add content/blog/my-post.md
git commit -m "更新文章"
npm run sync # 开发环境
npm run sync:prod # 生产环境
文档
完整的文档可在**markdown.fast/docs**查阅。
指南
- 设置指南 - 完整的fork与部署指南
- Fork配置指南 - 自动化或手动的fork配置方法
- 仪表盘指南 - 内容管理和站点配置
- MCP服务器 - 用于Cursor和Claude Desktop的AI工具集成
- AgentMail设置 - 邮件列表与联系表单集成
- WorkOS设置 - 旧版认证模式(在siteConfig中使用
auth.mode: "workos")
AI开发工具
该项目包含专为AI编码助手优化的文档:
- CLAUDE.md - Claude Code CLI的工作流、命令及规范说明
- AGENTS.md - 通用AI智能体指南,帮助理解代码库结构
- llms.txt - 存放于
/llms.txt的AI智能体发现文件 - .cursor/skills/ - 专注于技能的文档:
frontmatter.md- 完整的Frontmatter语法及所有字段选项convex.md- 本应用特有的Convex模式sync.md- 同步命令的工作原理及内容流转robel-auth/SKILL.md-@robelest/convex-auth集成模式convex-self-hosting/SKILL.md- Convex静态自托管设置
这些文件会在运行npm run sync:discovery时,根据当前站点统计数据自动更新。
特性
完整特性列表请参见关于页面。
主要特性包括实时同步、四种主题选择、全文搜索、分析仪表盘、用于AI工具的MCP服务器、邮件列表集成,以及通过RSS订阅、站点地图和结构化数据实现的SEO优化。
Fork配置
Fork后,请运行自动化配置:
cp fork-config.json.example fork-config.json
# 编辑fork-config.json以填写您的站点信息
npm run configure
fork-config.json.example包含了所有可配置选项:
- 站点设置:名称、标题、描述、URL、域名
- 认证模式:
convex-auth(默认)、workos(旧版)或none(本地开发) - 托管模式:
convex-self-hosted(默认)或netlify(旧版) - 媒体提供商:
convex(默认)、convexfs或r2 - 创作者信息:姓名、社交链接、简介
- 功能开关:邮件列表、仪表盘、统计页面、AI聊天等
详细说明请参阅Fork配置指南,完整参考请见FORK_CONFIG.md。
一键搭建路径
您可以通过以下任一方式快速获得自己的克隆项目及Convex后端:
- GitHub模板流程:
- 点击使用此模板
- 克隆新仓库
- 运行
npm install、npx convex dev --once、npm run sync、npm run deploy
- CLI流程:
- 运行
npx create-markdown-sync my-site - 按照提示操作,设置完成后即可打开您的站点
- 运行
- 网站搭建指南:
快速入门
前提条件
- Node.js 18或更高版本
- 一个Convex账户
设置步骤
- 安装依赖:
npm install
- 初始化Convex:
npx convex dev
这将创建您的Convex项目并生成.env.local文件。
如果您使用WSL 2且浏览器认证无法自动打开,请执行以下命令:
npx convex login --no-open --login-flow paste
npx convex dev --once
随后启动正常监听模式:
npx convex dev
- 启动开发服务器:
npm run dev
验证脚本
验证您的环境与部署情况:
npm run validate:env # 检查本地环境是否就绪
npm run validate:env:prod # 检查生产环境
npm run verify:deploy # 验证已部署的端点
npm run verify:deploy:prod # 验证生产环境的端点
部署
默认部署(Convex自托管)
npx @convex-dev/self-hosting setup
npx convex dev --once
npm run deploy
npm run deploy会通过@convex-dev/self-hosting执行一次性流程,并自动为目标Convex部署构建。
自定义域名设置
- 在Convex仪表盘中将您的自定义域名设置为
markdown.fast。 - 使用Convex提供的记录,将Cloudflare的DNS指向Convex。
- 设置
VITE_CONVEX_SITE_URL(或VITE_SITE_URL)以覆盖前端HTTP路由。 - 保持
VITE_CONVEX_URL作为Convex客户端的URL。
遗留部署(Netlify)
- 将 Convex 函数部署到生产环境:
npx convex deploy
- 将您的仓库连接到 Netlify。
- 配置构建设置:
- 构建命令:
npm ci --include=dev && npx convex deploy --cmd 'npm run build' - 发布目录:
dist
- 构建命令:
- 在 Netlify 控制台中添加环境变量:
CONVEX_DEPLOY_KEY— 从 Convex 控制台 > 项目设置 > 部署密钥生成。VITE_CONVEX_URL— 您的生产 Convex URL。
有关详细设置,请参阅 Convex Netlify 部署指南 和 netlify-deploy-fix.md 以进行故障排除。
认证模式
默认模式:
auth.mode: "convex-auth"— 通过@robelest/convex-auth使用 GitHub OAuth。hosting.mode: "convex-self-hosted"— 通过@convex-dev/self-hosting提供静态资源。media.provider: "convex"— 直接使用 Convex 存储。
遗留模式:
auth.mode: "workos"用于 WorkOS AuthKit 兼容性。hosting.mode: "netlify"用于 Netlify 部署。media.provider: "convexfs"或media.provider: "r2"作为可选的媒体后端。
本地回退模式:
auth.mode: "none"仅用于本地开发。
仪表板管理员访问权限
当 dashboard.requireAuth: true 时,仪表板访问权限由服务器强制执行。
设置 GitHub OAuth(对分叉用户必需)
- 前往 GitHub 开发者设置。
- 创建一个新的 OAuth 应用程序。
- 将主页 URL 设置为您前端的 URL(例如
http://localhost:5173)。 - 将授权回调 URL 设置为:
https://<your-deployment>.convex.site/api/auth/callback/github。 - 复制客户端 ID 和客户端密钥。
设置环境变量
npx convex env set AUTH_GITHUB_ID "your-github-client-id"
npx convex env set AUTH_GITHUB_SECRET "your-github-client-secret"
npx convex env set DASHBOARD_ADMIN_BOOTSTRAP_KEY "choose-a-long-random-secret"
启动您的管理员账户
npx convex run authAdmin:bootstrapDashboardAdmin \
'{"bootstrapKey":"choose-a-long-random-secret","email":"your-email@example.com"}'
授予其他管理员权限
npx convex run authAdmin:grantDashboardAdmin '{"email":"colleague@example.com"}'
可选的严格邮箱准入
npx convex env set DASHBOARD_PRIMARY_ADMIN_EMAIL "your-email@example.com"
完整管理员设置说明请参阅 FORK_CONFIG.md。
技术栈
React 18、TypeScript、Vite、Convex(自托管)、@robelest/convex-auth、@convex-dev/self-hosting。遗留模式:Netlify + WorkOS。
最新更新(v2.21.0)
- 默认部署方式改为 Convex 自托管,通过
@convex-dev/self-hosting实现。 - 默认认证方式为 @robelest/convex-auth,支持 GitHub OAuth。
- 引入了基于
dashboardAdmins表的 服务器端仪表板管理员 权限控制。 - 支持多模式架构,涵盖 convex-auth、workos 和 none 认证模式。
- 替换 Quill 的 轻量级富文本编辑器,无任何已知漏洞。
- 添加了用于验证环境和部署的 验证脚本。
- 更新了分叉配置,改进了 一键部署功能。
完整版本历史请参阅 Changelog。
源代码
您可以分叉该项目:github.com/waynesutton/markdown-site
许可证
本项目采用 MIT 许可证。
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备
