✨ 亮点
本次发布引入了语义搜索 Alpha 预览功能、SEO 插件自动 robots.txt 生成、修复 Mermaid C4Context 图表渲染问题,并新增了用于无缝迁移的配置升级命令。
语义搜索(Alpha 预览)
docmd 现在支持基于本地向量嵌入的语义搜索,能够提供超越简单关键词匹配的上下文感知搜索结果。
核心特性:
- 上下文理解 — 超越精确关键词匹配的上下文感知搜索
- 自然拼写容错 — 轻松处理拼写错误
- 发现相关内容 — 即使使用不同术语也能找到相关内容
- 完全本地处理 — 无需外部服务或 API 调用
通过安装 docmd-search 并在配置中添加 semantic: true 来启用语义搜索:
npm install docmd-search
{
"plugins": {
"search": {
"semantic": true
}
}
}
如果未安装 docmd-search,插件会自动降级到关键词搜索,确保文档始终可被搜索。
注意: 此功能为 Alpha 预览版。目前仅提供英语模型,多语言支持计划在未来版本中推出。
介绍离线语义搜索引擎(docmd-search)
我们很高兴介绍 docmd-search。
npm install docmd-search
docmd-search 是专为文档站点打造的语义搜索引擎。它完全在浏览器或 CLI 中运行,无需服务器或 API 密钥,所有处理都在本地完成。
虽然为 docmd 开发,但它也可以集成到其他文档平台、网站和 Web 应用中。
这是早期 Alpha 版本,会继续迭代,但基础架构已经完备。
GitHub: https://github.com/docmd-io/docmd-search
文档: https://docs.docmd.io/search/
SEO 插件:robots.txt 自动生成
SEO 插件现在会在构建过程中自动生成 robots.txt 文件(前提是该文件不存在)。
功能特性:
- 智能默认值 — 默认包含
User-agent: *和Allow: / - 站点地图引用 — 设置
config.url后自动添加站点地图 URL - 可选的 AI 爬虫控制
- 非破坏性 — 已存在的
robots.txt文件不会被覆盖
{
"plugins": {
"seo": {
"aiBots": false
}
}
}
默认情况下允许 AI 爬虫。设置 aiBots: false 会为 GPTBot、ChatGPT-User、Google-Extended、CCBot 等支持的 AI 爬虫添加指令。
Mermaid C4Context 修复
C4Context 图表现在能够正确渲染,不再显示为空白白框。
该问题是由 Mermaid 渲染 C4Context 图表时缺少 SVG 命名空间引起的。docmd 现在会在解析前自动注入所需的命名空间,确保这些图表能够正确渲染。
感谢 @sinsombat 提供的修复和配套测试套件。
配置升级命令
docmd migrate 命令新增了 --upgrade 标志。运行该命令可自动将配置文件就地重写为现代格式。
npx @docmd/core migrate --upgrade
升级会自动处理以下遗留键映射:
| 遗留键 | 现代键 |
|---|---|
projects(顶级) |
workspace.projects |
siteTitle |
title |
siteUrl / baseUrl |
url |
srcDir / source |
src |
outputDir |
out |
defaultLocale |
i18n.default |
原始文件会就地重写。由于迁移是非破坏性的(只重命名键,不修改值),因此不需要备份。
TOC HTML 实体解码
包含特殊字符(如 <、>、& 或弯引号)的标题文本,现在能在目录侧边栏中正确解码显示。此前,包含这些字符的标题会显示原始 HTML 实体(如 &)而非正确字符。
更新日志
新功能:
- 新增基于
docmd-search的语义搜索 Alpha 预览支持。 - SEO 插件新增自动
robots.txt生成功能。 - 新增
search.showFilters,用于隐藏搜索结果上方的版本筛选栏。 - 新增
search.showConfidence,用于显示语义搜索置信度百分比。 - 新增右侧对齐的搜索结果元数据,显示版本和置信度徽章。
缺陷修复:
- 修复 Mermaid C4Context 图表渲染为空白白框的问题。
- 修复因
workspace变量在初始化前被访问而导致的实时编辑器模板渲染崩溃。 - 修复目录中的 HTML 实体解码问题。
- 修复 macOS 上因重复
fs.watch事件导致的过度开发服务器重载问题。
改进:
- 新增
docmd migrate --upgrade,实现配置自动现代化。 - 重新设计项目切换器样式,与国际化(i18n)和外观按钮保持视觉一致。
- 配置和
navigation.json的更改现在会触发快速定向重建,而非完全重启。 - 开发服务器现已在启动时自动在默认浏览器中打开文档 URL。
感谢 💖
感谢所有贡献者、测试人员和问题报告者帮助改进本次发布。
文档:https://docs.docmd.io/
GitHub:https://github.com/docmd-io/docmd