AI 聊天指南
AI 聊天是 IfAI 的核心功能 - 一个智能对话界面,能够理解您的代码库并帮助您更快地编写更好的代码。
快速开始
打开聊天面板
有几种方式可以打开 AI 聊天:
- 键盘快捷键:
Cmd+K(Mac)或Ctrl+K(Windows/Linux) - 命令栏:
Cmd+Shift+P> "AI: 打开聊天" - 侧边栏:点击右侧面板的 AI 图标
界面概览

布局图
┌─────────────────────────────────────────────────────────┐
│ AI 聊天 [×] │
├─────────────────────────────────────────────────────────┤
│ 💬 消息记录 │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 您: 如何实现身份验证? │ │
│ │ │ │
│ │ 🤖 AI: 我来帮您实现 JWT 认证... │ │
│ │ [代码块] │ │
│ │ [插入] [复制] [重试] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ [📎 附件文件] [🖼️ 添加图片] │
│ ┌─────────────────────────────────────────────────┐ │
│ │ 输入您的消息... [发送] │ │
│ └─────────────────────────────────────────────────┘ │
│ │
│ 上下文: auth.ts (352 行) +2 个文件 │
└─────────────────────────────────────────────────────────┘主要界面元素
- 消息区域:与 AI 的对话历史记录
- 代码操作:代码块的插入、复制、重试按钮
- 上下文栏:显示当前包含的文件
- 附件按钮:向对话添加文件或图片
- 输入框:输入您的问题或请求
上下文感知
IfAI 的 AI 聊天具有上下文感知能力 - 它会自动包含代码库中的相关信息。
AI 能看到什么
默认情况下,AI 聊天包含:
| 上下文类型 | 描述 |
|---|---|
| 当前文件 | 您正在编辑的文件 |
| 最近查看 | 您最近打开的文件 |
| 符号关系 | 函数、类、导入/导出 |
| 项目结构 | 目录布局和文件组织 |
| 对话历史 | 当前会话中的先前消息 |
管理上下文
查看包含的上下文
聊天面板底部的上下文栏显示:
上下文: auth.ts (352 行) +2 个文件
添加特定文件
在消息中提及文件名:
查看 utils/auth.ts 和 helpers/api.ts或使用附件按钮手动选择文件。
移除上下文
要排除敏感或不相关的文件:
- 点击上下文栏
- 取消勾选要排除的文件
- AI 将使用更新的上下文重新分析
上下文优化
为获得最佳效果,请将上下文集中在 3-5 个相关文件上。上下文太多可能会降低响应质量。
对话功能
多轮对话
AI 聊天保持对话上下文,允许您:
提出后续问题:
您: 创建一个登录表单 AI: [提供登录表单代码] 您: 添加密码验证 AI: [更新代码并添加验证]优化响应:
您: 解释这个函数 AI: [提供解释] 您: 讲得更简单些 AI: [提供简化的解释]迭代代码:
您: 编写一个排序算法 AI: [提供实现] 您: 优化空间复杂度 AI: [提供优化版本]
流式响应
AI 响应实时流式传输,在生成过程中显示进度:
- 即时反馈:在响应编写时即可看到
- 提前停止:如果响应方向错误,可以停止生成
- 渐进式理解:在完成前开始阅读
代码生成
要求 AI 根据特定要求生成代码:
创建一个用户资料卡片的 React 组件,包含:
- 头像图片
- 姓名和邮箱
- 编辑按钮
- 使用 Tailwind CSS 进行样式设计AI 将生成带有正确导入和结构的生产就绪代码。
错误诊断
直接在 AI 聊天中粘贴错误消息:
我遇到这个错误:
TypeError: Cannot read property 'map' of undefined
at UserProfile.tsx:15:23
当我渲染用户列表时发生。AI 将:
- 分析错误消息
- 检查您的代码
- 找出根本原因
- 建议修复方案
代码解释
选择代码并请求解释:
解释这个 useEffect 钩子的作用或使用 /explain 斜杠命令进行即时解释。
斜杠命令
斜杠命令提供对常见 AI 操作的快速访问:
| 命令 | 描述 | 示例 |
|---|---|---|
/explain | 解释选中的代码 | 解释这个函数 |
/fix | 修复选中内容的错误 | 修复这里的类型错误 |
/test | 生成单元测试 | 为这个组件生成测试 |
/refactor | 重构代码 | 重构以提高可读性 |
/optimize | 优化性能 | 优化这个循环 |
/document | 添加文档 | 为这个 API 添加文档 |
使用斜杠命令
在聊天输入中输入 / 查看可用命令:
/ [解释] [修复] [测试] [重构] [优化] [文档]或先选择代码,然后使用命令:
- 在编辑器中选择代码
- 按
Cmd+K - 输入
/fix - AI 分析并修复选中内容
高级功能
行内 AI
无需离开编辑器即可快速编辑:
- 选择要修改的代码
- 按
Cmd+K(或Ctrl+K) - 描述更改:
为这个函数添加错误处理 - AI 提供行内建议
文件引用
AI 可以读取和引用多个文件:
比较以下文件中的认证逻辑:
- src/auth/jwt.ts
- src/auth/session.tsAI 将分析两个文件并提供比较。
代码选择操作
右键单击选中的代码以执行 AI 操作:
- 解释代码:获取详细解释
- 重构:提高代码质量
- 添加测试:生成单元测试
- 查找 Bug:识别潜在问题
- 优化:提高性能
AI 提供商
云端提供商
IfAI 支持多个云端 AI 提供商:
OpenAI
- 模型:GPT-4、GPT-4 Turbo、GPT-3.5 Turbo
- 最适合:复杂推理、创意任务
- 设置:设置 > AI 提供商 > OpenAI > 输入 API 密钥
Anthropic Claude
- 模型:Claude 3.5 Sonnet、Claude 3 Opus
- 最适合:长对话、细致解释
- 设置:设置 > AI 提供商 > Anthropic > 输入 API 密钥
DeepSeek
- 模型:DeepSeek-V3、DeepSeek-Coder
- 最适合:代码生成、技术任务
- 设置:设置 > AI 提供商 > DeepSeek > 输入 API 密钥
智谱 AI
- 模型:GLM-4.7、GLM-4.6、GLM-4.5V
- 最适合:中文语言支持、多模态
- 设置:设置 > AI 提供商 > 智谱 > 输入 API 密钥
Kimi (Moonshot)
- 模型:Moonshot-v1-8k、Moonshot-v1-32k
- 最适合:长上下文窗口
- 设置:设置 > AI 提供商 > Kimi > 输入 API 密钥
本地模型
为了隐私和节省成本,使用本地 LLM:
Ollama 集成
- 推荐模型:Qwen2.5-Coder、Llama 3.2
- 优势:无 API 成本、数据本地化
- 设置:本地模型配置指南
混合模式
配置 IfAI 对简单任务使用本地模型,对复杂任务使用云端 API。参见设置参考。
技巧和最佳实践
有效的提示词
- 具体明确:不要说"修复这个",而要说"修复第 23 行的空指针异常"
- 提供上下文:包含相关文件名和错误消息
- 使用示例:用示例代码展示您想要的内容
- 迭代优化:如果第一次响应不完美,优化您的请求
令牌管理
- 监控使用量:在上下文栏中检查令牌数量
- 清理历史记录:清除旧对话以节省令牌
- 优化上下文:仅包含相关文件
隐私注意事项
云端提供商:代码被发送到外部服务器
- 检查提供商隐私政策
- 避免共享敏感数据(API 密钥、密码)
本地模型:一切保留在您的机器上
- 没有数据离开您的设备
- 最适合敏感项目
故障排查
"无法连接到 AI 提供商"
解决方案:
- 在设置中检查 API 密钥
- 验证网络连接
- 检查提供商状态页面
- 尝试切换提供商
"超出上下文限制"
解决方案:
- 从上下文中移除一些文件
- 清除聊天历史记录
- 切换到具有更大上下文窗口的模型
- 使用具有无限上下文的本地模型
响应缓慢
解决方案:
- 减少上下文中的文件数量
- 切换到更快的模型
- 使用本地模型以获得即时响应
- 检查网络速度
学习笔记

下一步
- Composer 指南 - 多文件 AI 编辑
- 本地模型配置 - 配置本地模型
- 设置参考 - 自定义 AI 行为
- 基础使用 - 更多功能和工作流程