# flutter_chatgpt
**Repository Path**: pish7/flutter_chatgpt
## Basic Information
- **Project Name**: flutter_chatgpt
- **Description**: 用 flutter 设计的一个 chatgpt 聊天 app
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-02-09
- **Last Updated**: 2026-02-14
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# flutter_chatgpt
A new Flutter project.
## 常用命令
```sh
flutter pub add hooks_riverpod dev:custom_lint dev:riverpod_lint
flutter pub add dart_openai
flutter pub add envied dev:envied_generator dev:build_runner
flutter pub add logger
flutter pub add uuid
flutter pub add flutter_hooks
flutter pub add freezed_annotation
flutter pub add --dev freezed
flutter pub add json_annotation
flutter pub add --dev json_serializable
```
## 环境变量
需要在项目根目录添加一个 `.env` 文件,内容如下:
```
API_KEY=sk-fxekokzqouvhhaiypffzxzxpipepyvutyzcxnrxxxxxxxxxx
BASE_URL=https://api.siliconflow.cn
MODEL_NAME=Qwen/Qwen3-32B
```
设置好环境变量后,还需要运行以下命令来生成代码文件:
```sh
dart run build_runner build --delete-conflicting-outputs
```
这个命令会在 `lib/config` 目录中生成一个 `env.g.dart` 文件,其中包含 `.env` 文件中变量的值,将与 `env.dart` 文件一起为程序提供环境变量值
## 生成代码
项目中定义的一些类不是不完整,需要执行以下命令生成补充代码:
```sh
dart run build_runner build --delete-conflicting-outputs
```
以 `lib/models/message.dart ` 为例,Message 类只是个抽象类,只定义了一个构造函数(包括构造函数的入参),其他都代码都没实现,需要生成代码得到 `message.freezed.dart` 和 `message.g.dart` 之后,Message 类才可以使用。
参考 freezed_annotation、json_annotation、freezed、json_serializable、build_runner 这几个库
## macos 网络访问失败
使用 macos 平台访问大模型时,可能会发生以下错误:
```
[ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: ClientException with SocketException: Connection failed (OS Error: Operation not permitted, errno = 1), address = 127.0.0.1, port = 10808, uri=https://api.siliconflow.cn/v1/chat/completions
```
解决方法是在 `macos/Runner/DebugProfile.entitlements` 和 `macos/Runner/Release.entitlements` 中添加以下权限:
```
com.apple.security.network.client
```