Skip to content

AI 聊天指南

AI 聊天是 IfAI 的核心功能 - 一个智能对话界面,能够理解您的代码库并帮助您更快地编写更好的代码。

快速开始

打开聊天面板

有几种方式可以打开 AI 聊天:

  • 键盘快捷键Cmd+K(Mac)或 Ctrl+K(Windows/Linux)
  • 命令栏Cmd+Shift+P > "AI: 打开聊天"
  • 侧边栏:点击右侧面板的 AI 图标

界面概览

AI 聊天演示

布局图

┌─────────────────────────────────────────────────────────┐
│  AI 聊天                                            [×]    │
├─────────────────────────────────────────────────────────┤
│  💬 消息记录                                           │
│  ┌─────────────────────────────────────────────────┐   │
│  │ 您: 如何实现身份验证?                          │   │
│  │                                                  │   │
│  │ 🤖 AI: 我来帮您实现 JWT 认证...                 │   │
│  │     [代码块]                                    │   │
│  │     [插入] [复制] [重试]                        │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  [📎 附件文件]  [🖼️ 添加图片]                          │
│  ┌─────────────────────────────────────────────────┐   │
│  │ 输入您的消息...                         [发送]   │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  上下文: auth.ts (352 行)  +2 个文件                    │
└─────────────────────────────────────────────────────────┘

主要界面元素

  • 消息区域:与 AI 的对话历史记录
  • 代码操作:代码块的插入、复制、重试按钮
  • 上下文栏:显示当前包含的文件
  • 附件按钮:向对话添加文件或图片
  • 输入框:输入您的问题或请求

上下文感知

IfAI 的 AI 聊天具有上下文感知能力 - 它会自动包含代码库中的相关信息。

AI 能看到什么

默认情况下,AI 聊天包含:

上下文类型描述
当前文件您正在编辑的文件
最近查看您最近打开的文件
符号关系函数、类、导入/导出
项目结构目录布局和文件组织
对话历史当前会话中的先前消息

管理上下文

查看包含的上下文

聊天面板底部的上下文栏显示:

  • 上下文: auth.ts (352 行) +2 个文件

添加特定文件

在消息中提及文件名:

查看 utils/auth.ts 和 helpers/api.ts

或使用附件按钮手动选择文件。

移除上下文

要排除敏感或不相关的文件:

  1. 点击上下文栏
  2. 取消勾选要排除的文件
  3. AI 将使用更新的上下文重新分析

上下文优化

为获得最佳效果,请将上下文集中在 3-5 个相关文件上。上下文太多可能会降低响应质量。

对话功能

多轮对话

AI 聊天保持对话上下文,允许您:

  1. 提出后续问题

    您: 创建一个登录表单
    AI: [提供登录表单代码]
    您: 添加密码验证
    AI: [更新代码并添加验证]
  2. 优化响应

    您: 解释这个函数
    AI: [提供解释]
    您: 讲得更简单些
    AI: [提供简化的解释]
  3. 迭代代码

    您: 编写一个排序算法
    AI: [提供实现]
    您: 优化空间复杂度
    AI: [提供优化版本]

流式响应

AI 响应实时流式传输,在生成过程中显示进度:

  • 即时反馈:在响应编写时即可看到
  • 提前停止:如果响应方向错误,可以停止生成
  • 渐进式理解:在完成前开始阅读

代码生成

要求 AI 根据特定要求生成代码:

创建一个用户资料卡片的 React 组件,包含:
- 头像图片
- 姓名和邮箱
- 编辑按钮
- 使用 Tailwind CSS 进行样式设计

AI 将生成带有正确导入和结构的生产就绪代码。

错误诊断

直接在 AI 聊天中粘贴错误消息:

我遇到这个错误:
TypeError: Cannot read property 'map' of undefined
  at UserProfile.tsx:15:23

当我渲染用户列表时发生。

AI 将:

  1. 分析错误消息
  2. 检查您的代码
  3. 找出根本原因
  4. 建议修复方案

代码解释

选择代码并请求解释:

解释这个 useEffect 钩子的作用

或使用 /explain 斜杠命令进行即时解释。

斜杠命令

斜杠命令提供对常见 AI 操作的快速访问:

命令描述示例
/explain解释选中的代码解释这个函数
/fix修复选中内容的错误修复这里的类型错误
/test生成单元测试为这个组件生成测试
/refactor重构代码重构以提高可读性
/optimize优化性能优化这个循环
/document添加文档为这个 API 添加文档

使用斜杠命令

在聊天输入中输入 / 查看可用命令:

/ [解释] [修复] [测试] [重构] [优化] [文档]

或先选择代码,然后使用命令:

  1. 在编辑器中选择代码
  2. Cmd+K
  3. 输入 /fix
  4. AI 分析并修复选中内容

高级功能

行内 AI

无需离开编辑器即可快速编辑:

  1. 选择要修改的代码
  2. Cmd+K(或 Ctrl+K
  3. 描述更改:
    为这个函数添加错误处理
  4. AI 提供行内建议

文件引用

AI 可以读取和引用多个文件:

比较以下文件中的认证逻辑:
- src/auth/jwt.ts
- src/auth/session.ts

AI 将分析两个文件并提供比较。

代码选择操作

右键单击选中的代码以执行 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 集成

混合模式

配置 IfAI 对简单任务使用本地模型,对复杂任务使用云端 API。参见设置参考

技巧和最佳实践

有效的提示词

  1. 具体明确:不要说"修复这个",而要说"修复第 23 行的空指针异常"
  2. 提供上下文:包含相关文件名和错误消息
  3. 使用示例:用示例代码展示您想要的内容
  4. 迭代优化:如果第一次响应不完美,优化您的请求

令牌管理

  • 监控使用量:在上下文栏中检查令牌数量
  • 清理历史记录:清除旧对话以节省令牌
  • 优化上下文:仅包含相关文件

隐私注意事项

云端提供商:代码被发送到外部服务器

  • 检查提供商隐私政策
  • 避免共享敏感数据(API 密钥、密码)

本地模型:一切保留在您的机器上

  • 没有数据离开您的设备
  • 最适合敏感项目

故障排查

"无法连接到 AI 提供商"

解决方案

  1. 在设置中检查 API 密钥
  2. 验证网络连接
  3. 检查提供商状态页面
  4. 尝试切换提供商

"超出上下文限制"

解决方案

  1. 从上下文中移除一些文件
  2. 清除聊天历史记录
  3. 切换到具有更大上下文窗口的模型
  4. 使用具有无限上下文的本地模型

响应缓慢

解决方案

  1. 减少上下文中的文件数量
  2. 切换到更快的模型
  3. 使用本地模型以获得即时响应
  4. 检查网络速度

学习笔记

AI 聊天指南学习笔记

下一步

基于 MIT 许可发布