实战:给内容站加语义搜索
关键词搜索答不了"模糊提问"和"近义词",语义搜索补上这块。本文用 Next.js + pgvector,给一个内容站加完整的语义搜索:建索引、查询、混合检索、前端高亮,以及增量更新——一套能直接用进生产的方案。
Next.js、React、TypeScript、前端工程化
本专题收录 Web 开发 方向的文章和社区讨论,重点关注真实工程场景、工具选择、实践路径和风险边界。
页面会持续更新,适合作为学习路线、选型参考和技术复盘入口。
关键词搜索答不了"模糊提问"和"近义词",语义搜索补上这块。本文用 Next.js + pgvector,给一个内容站加完整的语义搜索:建索引、查询、混合检索、前端高亮,以及增量更新——一套能直接用进生产的方案。
"流式输出是 AI 应用的体感生死线——用户盯着一秒一个字冒出来 vs 等十秒一次性蹦出来,体验天差地别。本文从协议到渲染讲透前端流式:SSE/ReadableStream 怎么解析、React 怎么增量渲染不卡、AI SDK 的 useChat 怎么简化,以及中断/错误的处理。"
类型声明不会验证网络、Worker、URL、IndexedDB 或跨标签页消息。本文把 unknown 输入转换为规范内部类型,并设计 Schema 演进、双读发布和旧数据可回滚路径。
Web Locks 能让同源标签依次进入临界区,却不会自动给服务器写入提供 fencing token。本文把浏览器选主、持久 generation 和副作用提交分层,阻止旧标签迟到覆盖。
"AI 应用天生多语言(模型本来就懂几十种语言),但'能答多语言'和'产品国际化'是两回事。本文讲清 AI 应用的 i18n 难点:UI 翻译、模型输出语言控制、区域合规、文化适配、多语言 RAG,以及一套基于 next-intl 的多语言架构。"
AI 应用的可访问性有两层含义:产品本身要无障碍,以及 AI 能赋能无障碍。本文讲清 AI 产品的 a11y 要点——语义 HTML/键盘/ARIA/动态内容可访问、AI 生成 UI 的 a11y 把控、AI 赋能(图像描述/语音/简化文本),以及一套自动+人工的 a11y 测试流程。
RAG 不是"一次返回"——检索和生成都该流式,让用户边等边看。本文讲清 RAG 流式 UI 的实现:检索阶段流式(先显示"找到的文档")、生成阶段流式(打字机正文)、引用渲染(答案出完同步亮引用)、React 的增量渲染不卡,以及"检索中→生成中"的状态切换。
"Cloud AI 让人爱它的能力、怕它的隐私。Local-first 理念(数据优先存本地、可选同步)遇上端侧 AI,给出新解法:数据不出设备 + 本地小模型 + 可选云端增强。本文讲清 local-first 的原则、AI 在其中的角色、架构(本地存储 CRDT + 端侧模型 + 云端 fallback),以及它适合的场景。"
流式输出是 AI 应用的体感命门,但底层的协议细节(SSE、各家 data stream 格式、tool call 流式、中断)很多人没搞清。本文从 HTTP SSE 讲到 AI SDK 的 data stream 协议,再到流式 tool calling 和可中断流,讲透前端怎么解析、后端怎么发,以及踩过的坑。