夜雨聆风学习资料网

ARTICLE · 1097260

一个带业务 AI 助手的生鲜供应链管理系统

一个带业务 AI 助手的生鲜供应链管理系统

前言

生鲜供应链的管理端,很多团队的做法是先上一套通用 Admin 模板,再把订单、采购、库存这些模块一个个往上堆。堆到后来,页面越来越多,权限越来越乱,AI 助手想接进来却发现根本没有合适的位置。

本项目就把生鲜供应链的业务闭环和 AI 助手放在同一个架构里设计,而不是事后补一个聊天窗口。

项目介绍

一个基于 React 19 的企业级中后台。它把订单、采购、库存、配送、财务、溯源串成一条可协作的供应链,并内置了 DeepSeek 业务 AI 助手。

项目基于 Soybean Admin 的 React 实现演进而来,当前版本 v2.5.0,采用 pnpm monorepo 管理。定位不是一套漂亮的 Admin 模板,而是能直接问业务、查单据、看履约、在确认后提议创建销售订单的工作台。

业务功能

  • 经营驾驶舱:整体经营情况总览

  • 订单管理:销售订单与履约跟踪

  • 采购管理:采购计划与采购单

  • 库存管理:出入库与批次管理

  • 配送管理:配送任务与状态跟踪

  • 财务管理:应收应付

  • 溯源管理:商品溯源信息

  • 报表统计:经营数据报表

AI 助手

有 ai:assistant:use 权限的用户,会在顶栏看到青绿胶囊“AI 助手”,右下角同时有一颗会呼吸的悬浮按钮。点开后是完整会话工作台,不是一个玩具聊天框。

能做什么

用自然语言问经营、订单、采购、库存、配送、财务或售后。助手会按当前账号权限选择工具,而不是把整库暴露给模型。

只读业务查询:全权限共 26 个工具,覆盖经营概览、商品与客户搜索、销售订单与履约、采购计划与采购单、出入库与批次、配送、应收应付、售后等

受控写操作:持有 business:order:create 时增加 propose_create_sale_order,工具只挂起确认卡片,点“确认创建”才写入待审核销售订单

建议下一步:查询成功后给出最多 3 个白名单按钮,打开已有列表页并带上 keyword、customerId、goodsId 或 saleOrderId

通用问答:写作、翻译、编程等走模型自身知识,不联网搜索

安全边界

不审批、不付款、不删除、不直接改库

确认卡片不含电话、地址、内部备注

单价只取客户报价或协议价

运营页只看运行次数、状态、耗时、Token、工具调用和反馈,不展示问题或答案

交互与协议

前端基于 Ant Design X(@ant-design/x-sdk 加 @ant-design/x-markdown)和 Zod 解析 SSE 事件:

流式 Markdown:边生成边渲染,支持加粗、列表、表格

结构化块:业务表格、实体卡片、数据来源、建议下一步、销售订单确认卡片

工具状态:查询中、已完成、失败,过程对用户可见

会话体验:搜索、分页、置顶、重命名、删除

反馈:对助手消息赞或踩,运营侧只聚合统计

配额方面,单用户单并发、滚动一分钟 5 次、自然日 50 次。管理员角色跳过次数配额,仍受并发与幂等约束。标准 MCP 端点 /mcp 目前只暴露只读的 get_current_time,不把业务查询或写操作挂上去。

技术栈

技术
版本
React
19.0.0
React Router
7.2.0
Redux Toolkit
2.5.1
TanStack Query
5.90.8
Ant Design
5.24.1
Ant Design X
2.9.0
Vite
6.1.1
TypeScript
5.7.3
UnoCSS
66.5.4
Zod
4.4.3
pnpm
10.4.1

项目特点

  • 代码质量:严格 TypeScript、分层清晰、约定式路由

  • 业务组件:远程搜索下拉、分区卡片详情、数量 6 位与金额 4 位精度

  • 权限:JWT 加 module:resource:action,菜单由后端动态下发

  • 国际化:中英文切换,Antd 与 Dayjs 同步

  • 响应式:桌面驾驶舱与移动登录都按真机适配

  • Keep-Alive:多标签页缓存,关闭签后回列表

  • AI 原生:助手入口、消息协议、运营页都是一等公民

快速开始

  • Node.js 大于等于 18.12.0,推荐 18.19+

  • pnpm 大于等于 10.4.1

  • 本地联调 AI 与业务数据时,还需要仓库根目录的 .NET 9 后端(默认 http://localhost:5293)

git clone https://github.com/960602906/SkyrocAdmin.gitcd SkyrocAdminpnpm i

本仓库是 pnpm monorepo,不要用 npm 或 yarn 安装依赖。

pnpm dev

开发服务器在 http://localhost:9530。pnpm dev 使用 test 模式,接口默认代理到 http://localhost:5293/api。

其他常用命令:

pnpm build          # 生产构建pnpm build:test# 测试环境构建pnpm typecheck      # TypeScriptpnpm lint           # ESLint + Prettierpnpm commit         # Conventional Commitspnpm preview        # 预览构建产物(9725)

项目结构

skyroc-admin/├── build/                    # Vite 代理、插件、路由元数据├── packages/                 # @sa/* 子包├── src/│   ├── components/           # 全局组件(含 RemoteOptionSelect)│   ├── features/             # 领域模块│   │   ├── ai-assistant/    # AI 抽屉、会话、消息协议、确认卡片│   │   ├── auth/            # 登录态│   │   ├── theme/           # 主题│   │   └── ...│   ├── layouts/              # 顶栏 / 菜单 / 页签(AI 入口在顶栏)│   ├── pages/                # 约定式路由│   │   ├── (base)/           # 主布局:驾驶舱、订单、库存、AI 运营…│   │   └── (blank)/          # 登录等│   ├── service/              # API 分层(types / urls / api / hooks / schemas)│   ├── store/                # Redux│   └── locales/              # 中英文案└── public/readme-screenshots/  # README 截图

数据层约定

分页 CRUD 列表用 features/table 的 useTable 与 useTableOperate。非分页缓存(登录信息、路由、下拉选项、AI 运营概览)走 TanStack Query,key 必须来自 QUERY_KEYS。

// src/service/urls 集中管理路径exportconst AUTH_URLS = {  LOGIN: '/auth/login',  GET_USER_INFO: '/auth/getUserInfo'} asconst;// 组件里只消费 hooks,不直接拼 URLimport { useLogin, useUserInfo } from'@/service/hooks';

增长型主数据(客户、商品、供应商、订单)用 RemoteOptionSelect 远程搜索,禁止一次性拉全量当 Select。

项目效果

AI助手

总结

在生鲜供应链这个具体场景里,把业务闭环和 AI 助手一起做了出来。26 个只读工具按权限裁剪、写操作走人工确认、运营页只看指标不看内容,这几处设计说明它在 AI 集成上是认真考虑过边界问题的。

技术选型上紧跟 React 19、Vite 6、Ant Design X 这些较新的版本,monorepo 分包也做得比较规整。对于正在做中后台或者想把 AI 接进业务系统的团队,这个项目有一些可以直接参考的做法。

关键词

#鲜链智管、#生鲜供应链、React 19、Vite 6、Ant Design、#AI 助手、DeepSeek、SSE、MCP、TanStack Query、Redux Toolkit、#TypeScript、Zod、pnpm monorepo、#权限管理、约定式路由、Keep-Alive、中后台、#供应链管理

作者:小码编匠

出处:gitee.com/smallcore/DotNetCore

声明:网络内容,仅供学习,尊重版权,侵权速删,歉意致谢!

END
往
期
精
彩
开源 ERP/MES/OA 一体化企业管理系统(制造装备行业)

开源智慧城市一网统管平台:从数据中枢到 AI 大屏

别再重写后台登录和权限了,这套 React 脚手架已经做好了

AI 大模型 + Asterisk,搭一套智能客服呼叫中心

开源的多租户协作平台,搞定企业IM、客服和呼叫中心

Vue 3 写的项目管理软件,免费、可私有化部署(需求/任务/测试/缺陷/资源/财务)

企业真实流程里的开源 AI 业务工作台

基于 DSH 的一套可私有化企业 Agent 方案

智能客服系统(多租户 SaaS 版):开箱即用的 AI + 人工接管方案

一套桌面端 AI 创作工具:短剧、广告、成片都覆盖了

权限、菜单、日志都写好了,这套现代化后台直接改业务就行

云端停车场管理系统:智能停车、车位管理与费用结算

一个开源的自由接入主流大模型超级 AI 助理

一款物联网平台该有的样子:集成设备管理、数据采集与开放API

零成本模拟工业设备:PLC、传感器、摄像头全流程测试方案

备注【开源】

方便大家交流、资源共享和共同成长

纯技术交流群、需要的小伙伴请扫码

有收获?不妨分享让更多人受益

关注「程序员开源栈」,共同提升技术实力

点分享
点收藏
点在看
点点赞

相关学习资料