核心用法
anydocs 是一款面向开发者的通用文档索引与搜索工具,旨在解决「查文档必须开浏览器」的效率痛点。用户通过三步即可完成任意文档站点的本地化检索:首先使用 anydocs config 配置目标站点(需提供 base_url 和 sitemap_url),然后执行 anydocs index 构建搜索索引,最后通过 anydocs search 实现毫秒级关键词检索。工具支持三种搜索模式——关键词匹配、混合搜索(关键词+短语 proximity)、正则表达式搜索,并内置智能缓存机制(7天 TTL)。对于 Vue.js、Discord 等 JavaScript 渲染的 SPA 站点,可启用 Playwright 或 OpenClaw Gateway 进行浏览器渲染抓取。
显著优点
极致的检索效率:基于 BM25 算法的倒排索引将搜索延迟控制在 100ms 以内,远快于浏览器全文检索。全平台兼容性:从静态 HTML 到现代 SPA(单页应用),通过 sitemap 发现+回退爬取双机制确保覆盖完整。开发者体验优先:CLI 设计遵循 Unix 哲学,输出简洁可 pipe;Python API 支持直接嵌入 Agent 和工作流。离线可用性:本地缓存消除重复网络请求,地铁、飞机上也能查文档。多站点管理:Profile 机制允许同时维护 Vue、React、内部文档等多个索引,切换零成本。
潜在缺点与局限性
首编索引耗时:大型站点首次构建需 2-10 分钟,且受 0.5s/page 的速率限制保护,无法暴力加速。SPA 依赖外部工具:JavaScript 渲染需要额外安装 Playwright(Chromium 约 100MB),或配置 OpenClaw Gateway token。SSRF 潜在风险:用户配置的 base_url 若指向内网服务,可能构成服务端请求伪造(当前有域名匹配校验,但无严格白名单)。缓存一致性:7天 TTL 可能导致文档更新后获取旧内容,需手动 --force 重建。无增量更新:目前是全量重索引,频繁变更的大型文档站点更新成本较高。
适合的目标群体
全栈开发者:需要同时在终端、编辑器、Agent 中快速查询多框架文档。技术文档工程师:构建内部知识库搜索,统一检索分散的 Wiki、Confluence、GitBook。AI Agent 构建者:为 LLM 提供 RAG(检索增强生成)所需的结构化文档数据源。离线场景用户:网络不稳定或需要本地优先工作流的工程师。
使用风险说明
性能风险:首次索引大站点时内存占用与爬取时间需提前规划。依赖风险:Playwright 版本锁定在 1.40.0,未来 Chromium 兼容性问题需关注。安全合规:浏览器渲染功能需 HTTPS 强制与 gateway token 保护,token 泄露可能导致未授权访问。网络行为:对外发起 HTTP 请求的行为在受限网络环境(企业防火墙)中需提前申请白名单。缓存膨胀:长期使用后 ~/.anydocs/cache/ 可能累积数百 MB,建议定期 anydocs cache clear 清理。