news 2026/8/28 7:46:18

女程序员第一次开源:Vue3 + Arco 多租户 AI 对话 SaaS 脚手架「知枢」v1.0

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
女程序员第一次开源:Vue3 + Arco 多租户 AI 对话 SaaS 脚手架「知枢」v1.0

项目全称:知枢 · AI对话SaaS平台
Slogan:让企业知识,成为智能对话。
版本:v1.0|协议:MIT
仓库:https://gitee.com/qiu-hongling/zhishu-ai
Gitee 搜索:知枢-AI对话SaaS平台

写在前面

做 AI 对话 / 知识库问答产品时,最耗人的往往不是「调大模型」,而是工程底座:

  • 多租户隔离怎么切菜单?
  • RBAC(路由 / 按钮 / 数据权限)怎么落地?
  • 管理后台、用户对话页、客户网站嵌入,是不是要拆三套前端?
  • 没后端时,怎么先把产品演示跑起来?

我是一名女程序员,也是公众号「人间存档点」的作者。这是我第一次把完整前端框架正式开源。

v1.0 一定还有粗糙处,欢迎提 Issue / PR / 建议;如果对你有帮助,也请给仓库点个 Star。

项目是什么?

知枢 Zhishu AI 是一套企业级多租户 AI 对话 SaaS 的纯前端开源脚手架,仓库内包含三件套:

子项目说明默认端口
ai‑chat‑saas‑admin管理后台(平台端 + 租户端 + 普通用户)5173
ai‑chat‑saas‑web用户对话页 / 嵌入页5174
ai‑chat‑saas‑embed‑sdk客户网站悬浮嵌入 SDK5175

默认开启 Mock(VITE_USE_MOCK=true),无需后端即可完整体验;对接真实 API 后可快速二开为可商用产品。

视觉风格偏静谧商务:主色#165DFF(对齐 Arco),AI 点缀色#722ED1,主题令牌贯穿登录页、布局壳与业务页。

技术栈

模块技术
框架Vue 3 + TypeScript + Vite
UIArco Design Vue
状态 / 路由Pinia + Vue Router 4
请求Axios(统一拦截,可切换 Mock / 真实 API)
图表ECharts + vue‑echarts
样式SCSS + 品牌 CSS 变量
对话端marked + DOMPurify
包管理pnpm(推荐)

功能一览

管理后台

平台端:工作台、租户、套餐、账单、模型、全局设置、日志审计

租户管理员:机器人、知识库、对话、反馈、应用接入、插件、组织权限、数据中心、系统设置 / 风控、日志

普通用户:工作台、AI 对话

✅通用能力:

  • 多租户菜单隔离(平台 / 租户 / 普通用户)
  • RBAC:动态路由 +v‑permission按钮权限 +dataScope数据权限
  • 登录页双端切换(租户端 / 平台端),演示账号一键填入
  • 机器人配置、知识库上传解析、对话流式输出(Mock 演示)
  • 多渠道接入:独立网页、iframe / JS 嵌入、API 密钥策略
  • ECharts 数据看板与全链路日志页面骨架
  • 明暗主题、多页签


用户对话端

  • 独立对话页/、嵌入页/embed
  • Markdown 渲染、流式输出、引用来源标签
  • 与后台一致的知枢品牌浅色对话 UI

嵌入 SDK

  • 一行脚本注入悬浮客服窗
  • API:open / close / toggle / destroy
  • Vite Library 模式产出 es + umd


仓库结构

ai-chat-saas/ ├── ai-chat-saas-admin/ # 管理后台 ├── ai-chat-saas-web/ # 用户对话端 / 嵌入页 ├── ai-chat-embed-sdk/ # 悬浮嵌入 SDK ├── LICENSE ├── README.md └── README_EN.md

快速开始

环境要求

  • Node.js >= 18
  • pnpm >= 8(推荐)

安装与启动

gitclone https://gitee.com/qiu-hongling/zhishu-ai.gitcdzhishu-ai# 管理后台 → http://localhost:5173cdai-chat-saas-admin&&pnpminstall&&pnpmdev# 用户对话端 → http://localhost:5174cd../ai-chat-saas-web&&pnpminstall&&pnpmdev# 嵌入 SDK Demo → http://localhost:5175cd../ai-chat-embed-sdk&&pnpminstall&&pnpmdev

演示账号(Mock)

角色账号密码说明
平台超管adminadmin123租户 / 套餐 / 账单 / 模型
租户管理员tenanttenant123机器人 / 知识库 / 接入等(菜单最全)
普通用户useruser123仅工作台 + AI 对话

💡切换账号后请退出再登录,以重建动态路由。

对接真实后端

  1. 设置环境变量:VITE_USE_MOCK=false
  2. 按照src/api/*src/types实现接口
  3. 优先打通接口链路:/auth/login/auth/userinfo/auth/menus→ 业务 CRUD
  4. 菜单结构可参考src/mock/index.ts(三套角色菜单)

管理后台常用环境变量:

变量说明建议
VITE_APP_TITLE站点标题知枢AI - 企业智能对话管理后台
VITE_API_BASE_URL接口前缀/api
VITE_USE_MOCK本地Mock开关开发 true,接后端 false

二次开发指南(最短路径)

1. 改品牌 / 主题

目标位置
产品名、Title、Sloganadmin/src/constants/brand.ts
主题令牌(含暗色)admin/src/assets/styles/theme.css
全局组件与工具类admin/src/assets/styles/index.scss
LogoBrandLogo.vue、public/favicon.svg
对话端样式web/src/styles/main.css

修改主色时,请同步:--zhishu-brand--zhishu-brand‑rgb--primary‑6

2. 加菜单 / 页面

  1. src/mock/index.ts(或后端菜单接口)增加路由
  2. src/views/**新建页面
  3. 按钮权限示例:
<a-button v-permission="'bot:add'">新建</a-button>

3. 权限相关文件

模块文件
请求封装src/utils/request.ts
用户状态src/stores/user.ts
动态路由src/stores/permission.ts、src/router/dynamic.ts
路由守卫src/router/guard.ts

4. 嵌入客户网站(示意)

<scripttype="module">import{createAiChatEmbed}from'https://cdn.example.com/ai-chat-embed.es.js'createAiChatEmbed({appId:'your-app-id',baseUrl:'https://chat.example.com',})</script>

具体参数以仓库 ai‑chat‑embed‑sdk 文档为准。

适合谁用?

  • 想做 AI 客服 / 知识库问答 / 企业内部助手,但不想从零搭后台
  • 需要多租户 + RBAC的 SaaS 前端骨架
  • 想先用 Mock 把产品演示跑通,再逐步接真实后端
  • 需要管理端 + 对话端 + 网站嵌入一条龙交付

写在最后

开源对我来说更像一次「存档」:把已经验证过的结构留下,让后来的人少走一点重复的路。

知枢 · AI对话SaaS平台 v1.0 能跑、能二开、能演示;也一定还有不足。
这是我第一次开源完整框架,特别欢迎你们提建议。

仓库:https://gitee.com/qiu-hongling/zhishu-ai
Gitee 搜索:知枢-AI对话SaaS平台

如果这篇文章或这个项目帮到你,麻烦Star + 点赞/收藏/关注,这是对我最大的鼓励。


— 人间存档点 · 女程序员
让企业知识,成为智能对话。
``

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 7:46:01

用Rust构建高效LLM推理引擎:GGUF解析与性能优化

之前在做本地大模型相关项目时&#xff0c;我一直在思考一个问题&#xff1a;llama.cpp 已经把 GGUF 格式和 CPU/GPU 推理做到了很成熟的程度&#xff0c;为什么还要用 Rust 再实现一套推理引擎&#xff1f;答案其实不复杂——Rust 能带来内存安全、部署成本和生态整合上的优势…

作者头像 李华
网站建设 2026/8/28 7:45:47

windows 驱动实例分析系列: libusb驱动分析-examples篇(下)

实现篇&#xff08;基于 examples 目录&#xff09;—— 技术细节、编译与使用1. 编程接口与 API 使用详解1.1 初始化与设备枚举所有示例均遵循 libusb-win32 标准流程&#xff1a;usb_init(); usb_find_busses(); usb_find_devices();usb_init 初始化内部状态&#xff0c;usb_…

作者头像 李华
网站建设 2026/8/28 7:45:46

RunSnack:用一条链接P2P直连共享GPU,告别云中转

AI 时代&#xff0c;最贵的硬件不是 CPU&#xff0c;而是 GPU。做深度学习的人都有过这种经历&#xff1a;本地显卡只有 8GB 显存&#xff0c;跑一个大模型推理就 OOM&#xff1b;公司机房有几张 A100&#xff0c;但申请流程写半天&#xff0c;审批要等一天&#xff1b;云厂商的…

作者头像 李华
网站建设 2026/8/28 7:42:57

数学建模竞赛解题框架:从问题分析到论文写作的实战指南

1. 赛题回顾与核心挑战解析 “华中杯”数学建模竞赛&#xff0c;作为国内高校圈子里颇具分量的区域性赛事&#xff0c;每年都吸引着大量队伍参与。2022年的赛题&#xff0c;虽然具体的A、B、C题题目细节因保密要求不便在此全文复现&#xff0c;但其核心风格和考察方向&#xff…

作者头像 李华
网站建设 2026/8/28 7:42:54

Python实战:从零构建学生信息管理系统,掌握CRUD与数据持久化

1. 项目缘起&#xff1a;为什么从“学生信息管理系统”切入Python实战 如果你已经跟着Python教程走过了变量、循环、函数和面向对象这些基础关卡&#xff0c;心里大概会有一个疑问&#xff1a;这些知识怎么串起来&#xff0c;变成一个真正能用的东西&#xff1f;很多朋友在这个…

作者头像 李华