正在打开推特点赞
正在打开推特点赞
shadcn 发布基于 Next.js + AI SDK 的聊天机器人模板,整合 typeset、react 组件库与工具调用,一键部署至 Vercel AI Gateway。
I just open sourced a minimal chatbot template. This brings together everything we've been doing the past weeks: new components, shadcn/typeset, shadcn/react, tool calling, HITL with questionnaire, message parts. Deploys one click to @vercel AI Gateway. https://t.co/qwXoDtgBWi
是什么
这是 shadcn 团队开源的一个最小化聊天机器人模板(chatbot-template),基于 Next.js、Vercel AI SDK、shadcn/ui 及其新发布的 shadcn/react 和 shadcn/typeset 构建,部署目标为 Vercel AI Gateway。仓库创建于 2026-08-11,当日即开源,目前 282 Stars,TypeScript 单语言项目。
核心设计
模板的核心架构围绕"消息部件(Message Parts)"展开——将 LLM 输出流拆分为类型化的 part 单元(text、tool-github_repo、tool-web_search、tool-ask_user、source-url),每个 part 有独立的状态机(input-streaming → input-available → output-available/output-error)。这种设计与 Vercel AI SDK 的 streamText + useChat 深度耦合,前端通过 components/parts/ 目录下的专用组件渲染各 part,实现流式进度、结果展示和错误处理的精细化控制。
工具系统采用"文件名即工具名"的约定:每个工具是一个独立文件(如 tools/ask_user.ts),在 tools/index.ts 中组合注册。工具输入/输出类型通过 InferUITools 自动推断,重构时字段重命名会直接触发构建错误,而非运行时 undefined。
值得借鉴的亮点
ask_user 工具让模型主动发起澄清问题,用户通过问卷组件回答,问答结果内联回消息流——这是 Agent 工程中"人在回路"交互的标准化实现。/api/chat 路由公开无认证,并给出三层防护建议(WAF 限流、Gateway 预算上限、按需加 auth),这种"默认不安全、文档即契约"的诚实态度值得参考。坑与边界
lib/models.ts,多租户或动态模型切换需改造;