# yunadmin **Repository Path**: ksufer/yunadmin ## Basic Information - **Project Name**: yunadmin - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-29 - **Last Updated**: 2025-12-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FengAdmin 一个现代化的企业管理平台,基于 Next.js + FastAPI + Supabase 构建,集成阿里云百炼 AI 能力。 ## 功能特性 - **用户认证** - 完整的注册、登录、密码重置流程(基于 Supabase Auth) - **团队管理** - 创建团队、邀请成员、角色权限管理 - **AI 能力** - 智能对话、图像分析、文档理解、联网搜索 - **登录日志** - 记录和展示用户登录历史 - **主题定制** - 支持亮/暗模式和主题色切换 ## 技术栈 | 类别 | 技术 | |------|------| | **前端** | Next.js 16, React 19, TypeScript, Tailwind CSS v4 | | **UI 组件** | shadcn/ui, Radix UI, Lucide Icons | | **后端** | FastAPI, Python 3.10+, 阿里云百炼 SDK | | **数据库** | Supabase (PostgreSQL) | | **认证** | Supabase Auth | | **构建工具** | pnpm, Turbo (Monorepo) | ## 项目结构 ``` FengAdmin/ ├── apps/ │ ├── web/ # Next.js 前端应用 │ │ ├── app/ # 页面路由 │ │ ├── components/ # 业务组件 │ │ ├── lib/ # 工具函数 │ │ └── supabase/ # 数据库迁移文件 │ └── api/ # FastAPI 后端 │ └── app/ │ ├── routers/ # API 路由 │ ├── services/ # 业务服务 │ └── schemas/ # 数据模型 ├── packages/ │ ├── ui/ # 共享 UI 组件库 │ ├── eslint-config/ # ESLint 配置 │ └── typescript-config/# TypeScript 配置 └── prompts/ # AI 提示词模板 ``` ## 快速开始 ### 环境要求 - Node.js >= 20 - pnpm >= 10 - Python >= 3.10 ### 1. 安装依赖 ```bash # 克隆项目 git clone cd FengAdmin # 安装前端依赖 pnpm install ``` ### 2. 配置环境变量 **前端 (`apps/web/.env.local`)**: ```env NEXT_PUBLIC_SUPABASE_URL=your-supabase-url NEXT_PUBLIC_SUPABASE_PUBLISHABLE_OR_ANON_KEY=your-anon-key NEXT_PUBLIC_API_URL=http://localhost:8000 ``` **后端 (`apps/api/.env`)**: ```env # 百炼平台 DASHSCOPE_API_KEY=your-dashscope-api-key # Supabase SUPABASE_URL=your-supabase-url SUPABASE_KEY=your-anon-key SUPABASE_SERVICE_ROLE_KEY=your-service-role-key # 服务配置 DEBUG=true CORS_ORIGINS=["http://localhost:3000"] ``` ### 3. 启动开发服务器 **前端**: ```bash # 在项目根目录 pnpm dev ``` **后端**: ```bash cd apps/api python -m venv venv # Windows: venv\Scripts\activate # macOS/Linux: source venv/bin/activate pip install -r requirements.txt uvicorn app.main:app --reload --port 8000 ``` ### 4. 数据库迁移 迁移文件位于 `apps/web/supabase/migrations/`,需要在 Supabase Dashboard 或通过 Supabase CLI 执行: ```bash cd apps/web supabase db push ``` ## API 文档 后端 API 文档: - Swagger UI: http://localhost:8000/docs - ReDoc: http://localhost:8000/redoc ### 主要端点 | 端点 | 方法 | 说明 | |------|------|------| | `/api/chat` | POST | 普通对话 | | `/api/chat/stream` | POST | 流式对话 | | `/api/vision/analyze` | POST | 图像分析 | | `/api/document/analyze` | POST | 文档理解 | | `/api/search` | POST | 联网搜索问答 | | `/api/teams` | GET/POST | 团队管理 | ## 开发指南 ### 添加 UI 组件 ```bash # 在项目根目录添加 shadcn 组件 pnpm dlx shadcn@latest add button -c apps/web ``` 组件会被放置在 `packages/ui/src/components/` 目录。 ### 使用组件 ```tsx // 从 UI 包导入基础组件 import { Button } from "@workspace/ui/components/button" // 从业务组件目录导入 import { LoginForm } from "@/components/login-form" ``` ### 数据库操作 - **简单查询**:直接使用 Supabase 客户端 - **复杂业务逻辑**:通过 FastAPI 后端实现 详见 [ai_readme.md](./ai_readme.md) 中的编码规范。 ## 部署 ### 前端部署 推荐部署到 Vercel: ```bash vercel --prod ``` ### 后端部署 可部署到任何支持 Python 的平台(如 Railway、Render、阿里云等)。 ## 许可证 MIT License