Skip to content

Commit 43f8bbb

Browse files
authored
Update README.md
1 parent 771e359 commit 43f8bbb

File tree

1 file changed

+28
-48
lines changed

1 file changed

+28
-48
lines changed

README.md

Lines changed: 28 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -30,16 +30,19 @@
3030
## ✨ 功能亮点
3131

3232
### 核心 AI 能力
33-
- 🤖 **广泛的模型支持**: 原生支持 Gemini 系列 (`2.5 Pro`, `Flash`)、Imagen 系列 (`3`, `4`) 图像生成模型以及文本转语音 (TTS) 模型。这是一个真正意义上的多模态AI应用平台。
33+
- 🤖 **广泛的模型支持**: 原生支持 Gemini 系列 (`2.5 Pro`, `Flash`, `Flash Lite`)、Imagen 系列 (`3.0`, `4.0`) 图像生成模型以及文本转语音 (TTS) 模型。这是一个真正意义上的多模态AI应用平台。
34+
- 🛠️ **强大的工具集**: 无缝集成 Google 的强大工具,增强模型能力:
35+
- 🌐 **网页搜索**: 允许模型访问实时信息以回答时事问题,并提供引用来源。
36+
- 💻 **代码执行器**: 让模型能够执行代码来解决计算问题、分析数据。
37+
- 🔗 **URL 上下文**: 允许模型读取和理解您提供的 URL 内容。
3438
- ⚙️ **高级AI参数控制**: 精确调整 `Temperature``Top-P` 参数,以控制AI回复的创造性与确定性。您还可以为任意对话设置自定义的**系统指令 (System Prompt)**,从而塑造AI的性格和行为模式。
35-
- 🤔 **展示“思考过程”**: 洞察模型(如 Gemini Flash)在生成回答前的中间思考步骤。此功能非常适合用于调试和理解AI的推理过程,您甚至可以配置“思考预算”来平衡质量与速度。
39+
- 🤔 **展示“思考过程”**: 洞察模型(如 Gemini 2.5 Flash/Pro)在生成回答前的中间思考步骤。此功能非常适合用于调试和理解AI的推理过程,您甚至可以配置“思考预算”来平衡质量与速度。
3640
- 🎙️ **语音转文本 (STT)**: 使用强大的 Gemini 模型将您的语音实时转录为文字输入,准确率远超浏览器标准API。您甚至可以在设置中选择不同的 Gemini 模型用于转录。
3741
- 🔊 **文本转语音 (TTS)**: 将模型的文本回答一键转换为流畅的语音,并提供多种高质量音色供您选择,实现“听”AI的功能。
38-
- 🌐 **Google 搜索增强**: 让模型能够联网搜索最新信息,以回答有关时事、新闻或其训练数据范围之外的主题。所有联网回答都会附带引用来源,方便您核实信息。
3942
- 🎨 **画布助手 (Canvas Assistant)**: 一个特别设计的系统指令,能将AI变为一名前端开发助手,生成丰富、可交互的 HTML/SVG 网页内容,例如使用 ECharts 创建图表、使用 Graphviz 生成流程图等。
4043

4144
### 高级文件处理
42-
- 📎 **丰富的文件支持**: 轻松上传和处理多种文件类型,包括**图片****音频****PDF文档**以及各类**代码和文本文件**
45+
- 📎 **丰富的文件支持**: 轻松上传和处理多种文件类型,包括**图片****视频****音频****PDF文档**以及各类**代码和文本文件**
4346
- 🖐️ **多样化的上传方式**: 提供了极致便利的文件上传体验,支持**拖拽**、从剪贴板**粘贴**、使用**文件选择器**,甚至可以直接调用**摄像头拍照**或使用**麦克风录音**
4447
- ✍️ **即时创建文本文件**: 无需离开应用,即可在应用内快速创建和编辑文本文件,并将其作为上下文提交给模型。
4548
- 🆔 **通过文件ID引用**: 对于高级用户,您可以直接引用已上传到 Gemini API 的文件(使用其 `files/...` ID),无需重复上传,节省时间和带宽。
@@ -48,56 +51,29 @@
4851

4952
### 强化的聊天体验
5053
- 📚 **持久化聊天历史**: 所有对话都会自动保存在您的浏览器本地存储 (`localStorage`) 中,确保了数据隐私,并允许您随时回顾过往的交流。
54+
- 📂 **对话分组**: 将您的聊天会话整理到可折叠的群组中,便于管理和查找。
5155
- 🎭 **场景管理**: 创建、保存、导入和导出“聊天模板”。这使得您可以快速设定复杂的对话背景(如编程问题、角色扮演),极大提升了沟通效率。
5256
- ✏️ **完全的消息控制**: 您可以**编辑****删除****重试**任何一条消息。智能编辑功能(编辑用户提示)会自动从该点截断并重新提交对话,从而正确地维持上下文。
53-
- 🖼️ **导出消息**: 将模型的精彩回答保存为高质量的**PNG图片**(便于分享)或一个包含所有格式的**独立HTML文件**
57+
- 📥 **导出对话与消息**: 将整个对话导出为 **PNG 图片****HTML 文件****TXT 文件**。您还可以将单条模型回复单独导出为 PNG 或 HTML
5458
- ⌨️ **键盘快捷键**: 专为效率爱好者设计,提供新建对话、切换模型、打开日志等多种快捷键,让操作行云流水。
5559
- 🛠️ **日志查看器与调试工具**: 内置的日志查看器让高级用户可以洞察应用的内部行为、API调用详情以及API密钥的使用情况(当提供多个密钥时)。
5660

5761
## 🚀 快速开始
5862

59-
### 1. 在线使用 (推荐)
60-
本应用旨在浏览器中直接使用,无需任何安装配置。
63+
本应用旨在浏览器中直接使用,无需任何后端或安装配置。
6164

6265
1. **打开应用**: 访问 **[all-model-chat.pages.dev](https://all-model-chat.pages.dev/)**
63-
2. **打开设置**: 点击右上角的齿轮图标 (⚙️)。
66+
2. **打开设置**: 点击页面右上角的齿轮图标 (⚙️)。
6467
3. **启用自定义配置**: 在“API 配置”部分,打开“使用自定义 API 配置”的开关。
65-
4. **输入您的 API 密钥**: 将您的 Google Gemini API 密钥粘贴到文本框中。您可以从 **[Google AI Studio](https://aistudio.google.com/app/apikey)** 获取密钥。支持每行输入一个,以使用多个密钥
68+
4. **输入您的 API 密钥**: 将您的 Google Gemini API 密钥粘贴到文本框中。您可以从 **[Google AI Studio](https://aistudio.google.com/app/apikey)** 获取密钥。支持每行输入一个,以使用多个密钥轮换
6669
5. **保存并开始聊天**: 点击“保存”。您的密钥将安全地存储在您浏览器的 `localStorage` 中,绝不会发送到任何其他地方。
6770

68-
### 2. 本地开发 (可选)
69-
如果您希望在本地运行此应用以进行开发:
70-
71-
1. **克隆仓库**:
72-
```bash
73-
git clone https://github.com/yeahhe365/All-Model-Chat.git
74-
cd All-Model-Chat
75-
```
76-
77-
2. **安装依赖**:
78-
```bash
79-
npm install
80-
```
81-
82-
3. **配置 API 密钥**:
83-
在项目根目录创建一个 `.env` 文件,并添加您的密钥:
84-
```
85-
VITE_API_KEY="YOUR_GEMINI_API_KEY"
86-
```
87-
*注意: 应用会优先使用在UI设置中输入的密钥,而不是 `.env` 文件中的。*
88-
89-
4. **运行开发服务器**:
90-
```bash
91-
npm run dev
92-
```
93-
在浏览器中打开 `http://localhost:5173` (或终端中显示的地址)。
94-
9571
## 🛠️ 技术栈
9672

9773
* **框架**: React 19 & TypeScript
9874
* **AI SDK**: `@google/genai`
9975
* **样式**: Tailwind CSS (通过 CDN) & CSS 变量(用于主题化)
100-
* **Markdown 与渲染**: `react-markdown`, `remark-gfm`, `remark-math`, `rehype-highlight`, `rehype-katex`, `highlight.js`, `DOMPurify`
76+
* **Markdown 与渲染**: `react-markdown`, `remark-gfm`, `remark-math`, `rehype-highlight`, `rehype-katex`, `highlight.js`, `DOMPurify`, `mermaid`, `viz.js`
10177
* **图片导出**: `html2canvas`
10278
* **模块加载**: 现代 ES 模块 & Import Maps (通过 `esm.sh`)
10379
* **图标**: Lucide React
@@ -107,29 +83,33 @@
10783

10884
```
10985
All-Model-Chat/
110-
├── public/ # 静态资源 (图标, manifest.json, sw.js)
86+
├── public/ # 静态资源 (manifest.json, sw.js)
11187
├── src/
11288
│ ├── components/ # React UI 组件 (头部, 聊天输入, 模态框等)
113-
│ │ ├── chat/ # 聊天输入子组件 (文件预览, 摄像头捕获)
114-
│ │ ├── message/ # 消息渲染子组件 (代码块, 搜索增强响应)
115-
│ │ └── settings/ # 设置面板模块 (API配置, 外观)
116-
│ ├── constants/ # 应用全局常量 (app, 主题, 文件, 指令默认值)
89+
│ │ ├── chat/ # 聊天输入子组件
90+
│ │ ├── layout/ # 布局组件
91+
│ │ ├── message/ # 消息渲染子组件 (代码块, 图表)
92+
│ │ ├── modals/ # 应用级模态框
93+
│ │ ├── shared/ # 可复用的通用组件
94+
│ │ └── settings/ # 设置面板模块
95+
│ ├── constants/ # 应用全局常量 (app, 主题, 文件, 模型)
11796
│ ├── hooks/ # ✨ 应用核心逻辑所在地
11897
│ │ ├── useChat.ts # 组织所有功能的主 Hook
11998
│ │ ├── useAppSettings.ts # 管理全局设置、主题和语言
120-
│ │ ├── useChatHistory.ts # 处理聊天会话的加载与保存
121-
│ │ ├── useFileHandling.ts# 所有文件上传和拖拽的逻辑
122-
│ │ └── useMessageHandler.ts# 封装发送消息和相关操作 (编辑, 删除)
99+
│ │ └── ... (其他自定义 Hooks)
123100
│ ├── services/ # 外部服务封装
101+
│ │ ├── api/ # 模块化的 API 调用函数
124102
│ │ ├── geminiService.ts# 封装所有对 Google GenAI API 的调用
125103
│ │ └── logService.ts # 为日志查看器提供应用内日志服务
126-
│ ├── utils/ # 工具函数 (翻译, 格式化等)
104+
│ ├── utils/ # 工具函数
105+
│ │ ├── translations/ # 语言翻译文件
106+
│ │ └── ... (API, 领域, UI 相关的工具函数)
127107
│ ├── App.tsx # 应用根组件
128108
│ ├── index.tsx # React 应用入口文件
129109
│ └── types.ts # 核心 TypeScript 类型定义
130110
131-
├── index.html # 主 HTML 文件,包含 import maps
132-
└── ... (其他配置文件: vite.config.ts, tsconfig.json 等)
111+
├── index.html # 主 HTML 文件,包含 import maps 和核心样式
112+
└── README.md
133113
```
134114

135115
## 🤝 参与贡献

0 commit comments

Comments
 (0)