docmd 采用可插拔架构。几乎所有核心功能(从搜索到 SEO 再到实时预览)都是作为插件实现的。这种设计确保了引擎保持轻量,同时允许开发者根据具体项目需求选择性地开启功能。

插件概览

插件 功能
搜索 (Search) 提供高性能、离线优先的全文本搜索。
SEO 自动生成元标签、Sitemap 并控制 AI 爬虫访问。
Mermaid 渲染流程图、序列图和甘特图。
LLMs 生成机器可读的全量文档流以供 AI 训练或搜索。
实时预览 (Live) 为自定义编辑器提供在浏览器中运行的渲染引擎。

生命周期钩子

插件可以通过连接到以下生命周期钩子来介入构建过程:

钩子 描述
onInit(ctx) 在引擎启动且配置加载后立即运行
onPostBuild(ctx) 在所有 HTML 文件生成后运行逻辑
translations(localeId) 返回语言环境翻译后的 UI 字符串
actions 可从浏览器通过 WebSocket RPC 调用的服务器端处理程序
events 浏览器推送事件的“发后即忘”式处理程序

插件安全

插件系统提供内置的安全保证:

  • 验证: 插件可以声明一个包含 nameversioncapabilities 的插件描述符。无效的描述符在加载时会被拒绝。
  • 隔离: 每次钩子调用都包裹在 try/catch 边界内。一个损坏的插件不会导致构建崩溃或影响其他插件。
  • 能力强制: 声明了能力的插件只能注册其已明确声明的钩子。未声明的钩子将被跳过并发出警告。

有关完整的 API 参考,请参阅 开发插件

针对 AI 的透明架构 🤖

插件架构旨在具有 确定性。插件注入的每个元标签和脚本都是可追溯的,这允许 AI 代理(和人类开发人员)准确了解网站的行为,而不会产生隐藏的副作用。