用途:本技能从 better-chatbot 项目中提取可复用的模式,用于自定义 AI 聊天机器人实现,与教授项目约定的 better-chatbot 技能不同,它提供可移植模板,可适配任意项目。状态为 Production Ready,2025-11-21 更新,无依赖。
主要能力(五类模式):
- 服务器操作验证器:解决认证检查不一致、FormData 解析样板重复、错误处理不规范与类型安全问题。提供三种模式——validatedAction(无认证)、validatedActionWithUser(需认证用户上下文)、validatedActionWithPermission(基于角色的权限检查)。
- 工具抽象系统:用带品牌标签的类型标记实现运行时类型收窄,保持 TypeScript 安全,避免运行时类型不匹配与重复类型检查,并可扩展新工具类型而不破坏现有代码。
- 多 AI 提供商设置:支持 OpenAI、Anthropic(Claude)、Google(Gemini)、xAI(Grok)、Groq,通过提供商注册表统一接口,可在运行时切换,含回退策略、健康检查与成本感知选择。
- Zustand 状态管理:用浅更新模式管理复杂嵌套状态,避免直接修改与重渲染问题,包含多 store 组织、Immer 集成、persist 中间件。
- Zod 跨字段校验:用 superRefine 校验关联字段(密码确认、日期范围、条件必填等),统一错误信息与业务规则。
使用方式:实现具体模式时按需加载参考文件——references/server-action-patterns.md、tool-abstraction-patterns.md、provider-integration-patterns.md、state-validation-patterns.md。模板位于 templates/:action-utils.ts、tool-tags.ts、providers.ts、workflow-store.ts,复制到项目后替换占位符(getUser()、checkPermission() 等)。依赖:zod@3.24.2 为所有模式必需,zustand@5.0.3 对应模式 4,ai@5.0.82(Vercel AI SDK)对应模式 3;可选按需使用 @ai-sdk/openai、@ai-sdk/anthropic、@ai-sdk/google。
适用场景:构建多用户、多提供商、含工作流执行的自定义 AI 聊天机器人部署。
限制与注意:应将模式适配到自己的认证系统(Better Auth、Clerk、Auth.js 或自定义),不要未经适配直接复制;工具类型必须做运行时检查;不要直接修改 Zustand 状态;关联字段不要用独立验证器;可扩展系统不要跳过类型品牌。该技能声称可预防 5 类常见问题并有生产验证,具体效果与 E2E 测试数量等数据来自资料自述,需自行评估。