docmd-searchv0.1.6
235k+
installs
能理解语义的搜索。
98% 匹配度
92% 匹配度
86% 匹配度
能理解语义的搜索。
在浏览器中运行。完全私密。
适用于任何文档站点的离线语义搜索。理解意图,完全在浏览器中运行,从不向云端发送数据。
本地向量引擎
100% 私密
量化索引
零云端成本
用户认证与鉴权
⌘K
用户认证与会话管理
/getting-started/security
配置应用如何处理用户登录、安全 Cookie、令牌生成及无状态会话安全校验。
OAuth 与单点登录 (SSO)
/plugins/auth-providers
通过 GitHub、Google 以及企业级 OAuth SAML 提供商实现文档访问权限认证。
路由守卫与私有文档保护
/configuration/routing
为未授权访客定义私有目录与重定向策略,防止未经认证访问受保护文档路径。
架构
工作原理
面向静态文档的智能搜索,无需服务器或第三方服务。
在浏览器本地运行
使用直接在浏览器中运行的轻量级 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 (内存计算) |
嵌入 (Embeddings)
选择您的搜索模型
选择适合您文档规模和语言要求的模型。
| 模型 | 维度 | 体积大小 | 支持语言 | 最佳用途 |
|---|---|---|---|---|
| MiniLM L6 v2 推荐 ★ | 384 | ~23 MB | 仅限英语 | 快速通用的英文文档 |
| 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
随处可用:客户端 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 和离线语义搜索的常见问题。
它完全在浏览器中运行吗?
用户需要下载 AI 模型吗?
它支持多种语言吗?
什么是置信度得分徽章?
在 GitHub Sponsors 上支持 docmd
docmd 100% 开源且永久免费。赞助将直接用于支持项目开发与免费公共中继基础设施。