# fallinai-frontend **Repository Path**: fallinai/fallinai-frontend ## Basic Information - **Project Name**: fallinai-frontend - **Description**: fallinai客户端前端 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-07-25 - **Last Updated**: 2026-10-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FallinAi 一个基于 [Tauri 2](https://tauri.app/) + [Vue 3](https://vuejs.org/) + [TypeScript](https://www.typescriptlang.org/) + [Vite](https://vite.dev/) 构建的 AI 桌面客户端前端。 ## 技术栈 - **框架**:Vue 3(Composition API)+ TypeScript - **构建工具**:Vite 8 - **桌面端**:Tauri 2 - **UI 组件库**:Element Plus - **样式方案**:UnoCSS(Wind4)+ SCSS - **状态管理**:Pinia - **路由**:Vue Router(Hash 模式) - **HTTP 请求**:Axios - **Markdown 渲染**:markdown-it + KaTeX + Mermaid + PlantUML + emoji ## 功能模块 - **聊天(Chat)**:AI 对话,支持 Markdown 富文本渲染 - **智能体(Agent)**:智能体的创建与管理 - **技能(Skill)**:技能的上传与管理 - **MCP**:MCP 服务的创建与管理 - **设置(Setting)**:系统设置与模型供应商(Model Provider)配置 ## 项目结构 ``` fallinai-frontend/ ├── src/ │ ├── api/ # 接口请求封装(agent / chat / knowledge / mcp / model / skill) │ ├── components/ # 通用组件 │ ├── mitt/ # 事件总线 │ ├── request/ # Axios 请求实例与拦截器 │ ├── router/ # 路由配置 │ ├── store/ # Pinia 状态管理(agent / chat / mcp / model / skill / theme) │ ├── styles/ # 全局样式 │ ├── types/ # TypeScript 类型定义 │ ├── utils/ # 工具函数 │ ├── views/ # 页面视图 │ │ ├── chat/ # 聊天页 │ │ ├── agent/ # 智能体页 │ │ ├── skill/ # 技能页 │ │ ├── mcp/ # MCP 页 │ │ ├── setting/ # 设置页 │ │ ├── layout/ # 布局 │ │ └── sidebar/ # 侧边栏 │ ├── App.vue │ └── main.ts # 应用入口 ├── src-tauri/ # Tauri 后端(Rust) │ └── resources/ # 随应用打包的内置运行时(详见下文「打包资源」) ├── index.html ├── vite.config.ts ├── uno.config.ts └── package.json ``` ## 打包资源(src-tauri/resources) `src-tauri/resources/` 目录存放随应用一起打包的内置运行时与后端脚本,在 `tauri.conf.json` 中通过 `bundle.resources` 声明: ```json "bundle": { "resources": ["resources/"] } ``` 各子目录说明: | 目录 | 说明 | | --- | --- | | `backend/` | 后端入口(`index.js`)及内置技能(`skills/`) | | `bun/` | Bun 运行时(`bun.exe`) | | `cmds/` | Windows 命令执行工具(`winuxcmd.exe`) | | `node/` | Node.js 运行时(含 `npm` / `npx` / `corepack`) | | `python/` | Python 3.14 运行时(含标准库 `Lib/`、`DLLs/` 等) | | `uv/` | uv 工具链(`uv.exe` / `uvx.exe` / `uvw.exe`) | 这些资源在打包时会被复制到最终应用目录,供桌面端在运行后端服务、技能执行等场景下调用。 ## 环境要求 - **Node.js**:`^22.18.0 || >=24.12.0` - **Rust**:`1.77.2+`(仅桌面端打包需要) - **包管理器**:npm ## 快速开始 ### 安装依赖 ```sh npm install ``` ### 开发模式(纯前端,热更新) ```sh npm run dev ``` 开发服务器默认运行在 `http://127.0.0.1:9245`,`/api` 请求会代理到 `http://127.0.0.1:58975`。 ### 桌面端开发(Tauri) ```sh npm run tauri dev ``` ### 类型检查 ```sh npm run type-check ``` ### 生产构建 ```sh npm run build ``` ### 桌面端打包 ```sh npm run tauri build ``` ## 代理配置 开发环境的接口代理在 `vite.config.ts` 中配置: ```ts server: { host: '127.0.0.1', port: 9245, proxy: { '/api': { target: 'http://127.0.0.1:58975', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ''), } } } ``` ## 路径别名 项目中 `@` 指向 `src` 目录: ```ts import { xxx } from '@/api/chat' ``` ## 推荐 IDE 配置 - [VS Code](https://code.visualstudio.com/) + [Vue (Official)](https://marketplace.visualstudio.com/items?itemName=Vue.volar)(并禁用 Vetur) - 推荐浏览器插件:[Vue.js devtools](https://chromewebstore.google.com/detail/vuejs-devtools/nhdogjmejiglipccpnnnanhbledajbpd)