# 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 ```