AI前台产品系统Vibe Coding

我要开发同款
proginn17220783912026年06月02日
35阅读

技术信息

语言技术
PythonCSSJavaScript
系统类型
Web
行业分类
人工智能企业服务

作品详情

行业场景

简单来说,它解决的是 **"企业信息接待自动化"** 的问题 —— 用一个 AI 对话接口,替代传统的人工前台 / 客服中那些高频率、标准化的问答工作。

功能介绍

技术要点
AI 对话:后端从 Supabase 加载企业知识库,拼接到系统 Prompt 中,通过 coze-coding-dev-sdk 调用 LLM,SSE 流式输出
认证方式:企业端采用自建的账号密码体系(bcrypt 加密),非 Supabase Auth
数据库:Supabase (PostgreSQL),使用 drizzle-orm 定义 schema
UI 风格:遵循 DESIGN.md 中的 "商务大堂" 设计语言(深靛蓝 + 暖金 + 冷灰白)

项目实现

关键架构特征
双角色分流:顾客端(首页 + 聊天)和企业端(登录 / 注册 / 后台 / 知识库)是两套完全独立的前端页面流,通过 URL 路由隔离(/chat vs /enterprise/*)
无中间件鉴权:企业端登录状态存 sessionStorage,后端 API 没有统一的身份校验中间件,知识库 CRUD 接口仅靠 enterprise_id 参数隔离
SSR 最小化:所有页面都是 "use client" 组件,纯客户端渲染,没有利用 Next.js 的 RSC/SSR 能力
Supabase 直连:后端用 service_role 级别的 Supabase Client 直接操作数据库,绕过了 RLS(行级安全策略)
实现亮点
1. SSE 流式对话的完整闭环
这是项目最核心的亮点。从后端到前端实现了完整的流式对话链路:
后端:/api/chat 用 ReadableStream + for await...of 消费 LLM 的 async generator,逐 chunk 编码为 SSE 格式(data: {content}\n\n),最后追加 done 信号和数据库持久化
前端:fetch + body.getReader() 逐块读取,解析 SSE 行,用 setMessages 实时更新最后一条 assistant 消息内容,实现打字机效果
这种方案不依赖任何 WebSocket 库或 EventSource polyfill,纯 HTTP 实现流式,简洁有效。
2. 知识库驱动的前台 Prompt 工程
聊天接口在每次请求时动态构建 system Prompt:
先查企业信息(名称)
再查该企业全部知识库条目
拼接成结构化的 Prompt(包含回答规则 + 知识库全文)

示例图片

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论

proginn17220783912026-06-02 17:53:38
搜索以下网址可体验:aisjk.coze.site