docmd-searchv0.1.6 235k+ installs

能理解语义的搜索。
在浏览器中运行。完全私密。

适用于任何文档站点的离线语义搜索。理解意图,完全在浏览器中运行,从不向云端发送数据。

立即开始
本地向量引擎 100% 私密 量化索引 零云端成本
用户认证与鉴权
⌘K
用户认证与会话管理
/getting-started/security
98% 匹配度
配置应用如何处理用户登录、安全 Cookie、令牌生成及无状态会话安全校验。
OAuth 与单点登录 (SSO)
/plugins/auth-providers
92% 匹配度
通过 GitHub、Google 以及企业级 OAuth SAML 提供商实现文档访问权限认证。
路由守卫与私有文档保护
/configuration/routing
86% 匹配度
为未授权访客定义私有目录与重定向策略,防止未经认证访问受保护文档路径。

工作原理

面向静态文档的智能搜索,无需服务器或第三方服务。

在浏览器本地运行

使用直接在浏览器中运行的轻量级 AI 模型。任何数据都不会离开用户的设备。

Int8 量化向量 · 零遥测 · <3 KB 超轻量客户端

理解您的表达意图

超越精确关键字匹配。搜索“身份验证”也会找到有关“登录”、“Signin”和“Session”的结果。

稠密 384 维向量 · 余弦相似度重排序器

关键字 + 语义混合搜索

结合快速关键字匹配与基于语义的相似度评分,瞬间呈现最具相关性的结果。

BM25 词法 + 余弦向量融合 · 容错纠错

docmd-search 优势对比

客户端 AI 向量搜索与传统云 API 及静态关键词引擎对比。

能力特性 docmd Search Algolia / 云端搜索 Pagefind / Lunr
语义意图理解
按含义搜索概念,而不仅是完全匹配的关键词字符串
稠密向量 AI NeuralSearch (需企业版合约) 仅限词法与词干匹配
基础设施与月度账单
持续的主机托管、向量数据库或 API 查询订阅成本
$0 / 永久免费 按量计费 / 高额年度合约 $0 / 永久免费
离线与隔离网络运行
在内网、离线 PWA、无网络本地开发中均可运行
100% 离线 必须连接互联网 100% 离线
用户隐私与数据驻留
搜索查询的处理与记录位置
零数据外发 查询记录上传至云端 零数据外发
搜索响应延迟
每个按键输入的响应速度
< 1ms (内存即时计算) 50–250ms (网络往返) < 5ms (内存计算)

选择您的搜索模型

选择适合您文档规模和语言要求的模型。

模型 维度 体积大小 支持语言 最佳用途
Multilingual MiniLM L12 384 ~118 MB 50+ 种语言 多语言 (i18n) 文档
Multilingual E5 Small 384 ~118 MB 100+ 种语言 广泛的语言覆盖
Multilingual MPNet Base 768 ~270 MB 50+ 种语言 最佳多语言质量

💡 多语言文档: 如果您的文档网站包含多种语言(如英语、中文、德语、西班牙语等),请通过 docmd-search --settings 选择多语言模型。默认模型仅支持英文,用于其他语言时搜索相关性较差。

随处可用:客户端 API

完全在浏览器中运行的超轻量客户端运行时(Gzip 压缩后小于 3 KB)。构建任意自定义搜索 UI。

Gzip 压缩后小于 3 KB

纯原生轻量 JavaScript。无需 WASM,无需下载模型,零第三方依赖。

渐进式分批流式加载

批次 0 亚毫秒秒开可用,其余索引分块在后台无感静默流式加载。

框架无感知

可直接集成至 React、Vue、Next.js、Astro 或静态 HTML,自带完整 TypeScript 类型。

100% 本地隐私安全

查询运算完全在本地内存完成,零数据遥测,严苛符合企业安全合规与 GDPR 要求。

search-client.ts
import { load, search } from 'docmd-search/client';

// 1. Initialise index (batch 000 loads instantly, rest stream in background)
await load('/_docmd-search', (loaded, total) => {
  console.log(`Loaded batch ${loaded}/${total}`);
});

// 2. Query search with hybrid vector + keyword scoring (<1ms)
const results = search('authentication secure routes', 5);
results.forEach(({ score, chunk }) => {
  console.log(`[${Math.round(score * 100)}%] ${chunk.file}#${chunk.heading || ''}`);
});
控制台输出
[0.3ms] [98%] /getting-started/security#authentication
[0.4ms] [92%] /plugins/auth-providers#oauth-sso
使用 docmd? 直接在 docmd.config.json 的 "plugins": { "search": { "semantic": true } } 中开启语义搜索 – 无需编写自定义 JavaScript。

常见问题

关于 docmd-search 和离线语义搜索的常见问题。

它完全在浏览器中运行吗?
是的。所有搜索直接在用户的浏览器中完成。无需云端架构、无需搜索 API,任何数据都不会离开设备。

阅读完整文档 →
用户需要下载 AI 模型吗?
不需要。AI 模型仅在构建时在您的机器上运行以生成预计算的搜索索引。用户的浏览器只需下载生成的 JSON 索引压缩文件。

了解离线搜索原理 →
它支持多种语言吗?
支持。对于多语言文档,请选择支持 50+ 种语言的多语言模型(如 paraphrase-multilingual-MiniLM-L12-v2)。

配置多语言搜索 →
什么是置信度得分徽章?
启用 showConfidence 设置时,每个搜索结果旁会显示百分比徽章,便于快速判断匹配度。

阅读浏览器客户端设置 →

几分钟内开始构建

开源,MIT 许可。只需一条命令,即可拥有首个文档网站。