← 返回文章列表

iFlow CLI AI Coding 最佳实践(三):核心功能篇

2024-08-13·3 分钟阅读

iFlow CLI AI Coding 最佳实践(三):核心功能篇

前言

在上一篇中,我们完成了 iFlow CLI 的安装和基本配置。本篇将深入探讨 iFlow CLI 的核心功能,帮助你充分发挥这款工具的潜力。

四种运行模式详解

iFlow CLI 提供四种运行模式,通过 Shift + Tab 快捷键切换,每种模式都有其独特的应用场景。

Default 模式

权限级别:无权限

特点

  • AI 无法执行任何修改操作
  • 只能进行查询、分析、建议
  • 最安全的模式

适用场景

# 代码分析
> 分析这个项目的架构设计

# 问题诊断
> 为什么这个函数性能这么差?

# 学习咨询
> 解释一下 React Hooks 的工作原理

# 代码审查建议
> 审查这段代码,指出潜在问题

工作流程

用户输入 → AI 分析 → 返回建议 → 用户决定是否采纳
                                    ↓
                            切换到有权限模式执行

Plan Mode(计划模式)

权限级别:仅规划,不执行

特点

  • AI 先制定详细计划
  • 用户确认后再执行
  • 适合复杂任务

适用场景

# 复杂重构
> 重构用户认证系统,从 Session 改为 JWT

# 大型功能开发
> 添加一个完整的支付系统

# 架构调整
> 将单体应用拆分为微服务架构

计划模式工作流

┌─────────────────────────────────────────────────────────┐
│                    Plan Mode 工作流                      │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1. 用户提出任务需求                                     │
│         ↓                                               │
│  2. AI 分析任务,制定详细计划                             │
│         ↓                                               │
│  3. 展示计划给用户确认                                   │
│         ↓                                               │
│  ┌─────────────────────────────────────────┐            │
│  │ 计划内容:                               │            │
│  │ - 步骤 1: 创建 JWT 工具类                │            │
│  │ - 步骤 2: 修改认证中间件                 │            │
│  │ - 步骤 3: 更新登录接口                   │            │
│  │ - 步骤 4: 添加 Token 刷新机制            │            │
│  │ - 步骤 5: 更新测试用例                   │            │
│  └─────────────────────────────────────────┘            │
│         ↓                                               │
│  4. 用户确认/修改计划                                    │
│         ↓                                               │
│  5. 切换模式,执行计划                                   │
│                                                         │
└─────────────────────────────────────────────────────────┘

计划模式示例

用户: 重构用户认证系统,从 Session 改为 JWT

AI: 我来为你制定详细的重构计划:

## 重构计划

### 第一阶段:准备工作
1. 分析现有 Session 认证流程
2. 设计 JWT 认证架构
3. 准备测试用例

### 第二阶段:实现 JWT
1. 创建 JWT 工具类 (src/utils/jwt.ts)
   - generateToken()
   - verifyToken()
   - refreshToken()
2. 创建认证中间件 (src/middleware/auth.ts)

### 第三阶段:接口改造
1. 修改登录接口
2. 修改登出接口
3. 添加 Token 刷新接口

### 第四阶段:测试验证
1. 单元测试
2. 集成测试
3. 性能测试

是否开始执行?请切换到 Accepting Edits 模式继续。

Accepting Edits 模式

权限级别:仅文件修改

特点

  • 可以创建、修改、删除文件
  • 不能执行系统命令
  • 安全可控

适用场景

# 日常开发
> 创建一个用户管理组件

# 代码修改
> 修复这个 bug

# 文件操作
> 重构这个模块,拆分为多个文件

安全保障

┌──────────────────────────────────────────────┐
│            Accepting Edits 安全边界           │
├──────────────────────────────────────────────┤
│                                              │
│  ✅ 允许的操作:                              │
│     - 创建文件                               │
│     - 修改文件内容                           │
│     - 删除文件                               │
│     - 重命名文件                             │
│                                              │
│  ❌ 禁止的操作:                              │
│     - 执行 shell 命令                        │
│     - 安装依赖包                             │
│     - 运行脚本                               │
│     - 系统配置修改                           │
│                                              │
└──────────────────────────────────────────────┘

Yolo 模式

权限级别:最高权限

特点

  • AI 拥有完全控制权
  • 可执行任何操作
  • 效率最高

适用场景

# 快速原型开发
> 创建一个完整的 REST API 项目

# 自动化任务
> 分析日志文件,找出错误并发送邮件通知

# 项目初始化
> 初始化项目,安装依赖,配置开发环境

使用建议

⚠️ Yolo 模式使用建议:

1. 新项目或沙盒环境:放心使用
2. 重要项目:谨慎使用,做好备份
3. 生产环境:不推荐使用
4. 关键数据:先备份再使用

最佳实践:
- 使用 git 版本控制
- 定期提交代码
- 重要操作前手动确认

项目分析功能

/init 命令深度解析

/init 是 iFlow CLI 最核心的功能之一,它能够深入理解你的项目结构。

工作原理

┌─────────────────────────────────────────────────────────┐
│                    /init 工作流程                        │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1. 扫描目录结构                                         │
│     ├── 识别项目类型(Node/Python/Java 等)              │
│     ├── 分析目录布局                                     │
│     └── 识别配置文件                                     │
│                                                         │
│  2. 分析代码文件                                         │
│     ├── 解析入口文件                                     │
│     ├── 识别依赖关系                                     │
│     └── 提取关键组件                                     │
│                                                         │
│  3. 生成项目文档                                         │
│     ├── IFLOW.md 文件                                    │
│     ├── 技术栈描述                                       │
│     └── 开发指南                                         │
│                                                         │
└─────────────────────────────────────────────────────────┘

生成的 IFLOW.md 示例

# 项目概述

这是一个基于 Next.js 的博客系统。

## 技术栈

- **框架**: Next.js 16.1.6
- **语言**: TypeScript 5
- **样式**: Tailwind CSS 4
- **部署**: Vercel

## 目录结构

├── app/ # Next.js App Router ├── components/ # React 组件 ├── lib/ # 工具函数 ├── posts/ # Markdown 文章 └── public/ # 静态资源


## 主要功能

1. 博客文章管理
2. 标签分类
3. 搜索功能
4. RSS 订阅

## 开发命令

- `npm run dev` - 启动开发服务器
- `npm run build` - 构建生产版本
- `npm run lint` - 代码检查

项目上下文理解

初始化后,iFlow CLI 会基于项目上下文进行智能分析:

# 理解项目后的智能响应

用户: 添加一个评论功能

AI: 基于你的 Next.js 项目结构,我建议这样实现:

1. 创建 app/api/comments 目录存放 API
2. 在 lib/comments.ts 中添加数据处理逻辑
3. 创建 components/CommentSection.tsx 组件
4. 在文章详情页引入组件

这与你现有的代码风格保持一致。是否开始实现?

自然语言交互技巧

有效提问的艺术

CO-STAR 法则

要素说明示例
Context背景上下文在一个 Next.js 博客项目中
Objective目标添加一个评论功能
Style风格要求使用 TypeScript,遵循现有代码风格
Tone语调专业、简洁
Audience受众技术博客读者
Response响应格式提供代码和说明

示例对比

# ❌ 模糊的提问
> 写个评论功能

# ✅ 清晰的提问
> 在现有的 Next.js 博客项目中添加评论功能:
> 1. 使用 TypeScript
> 2. 数据存储在本地 JSON 文件中
> 3. 支持游客评论,需要填写昵称
> 4. 参考现有的 components 风格
> 5. 添加到文章详情页底部

渐进式细化

# 第一步:描述目标
> 我需要优化首页加载速度

# 第二步:提供细节
> 首页有大量图片,加载时间超过 5 秒

# 第三步:明确约束
> 不能删除任何内容,需要保持现有功能

# 第四步:请求方案
> 请分析问题并提供优化方案

多轮对话技巧

# 迭代式开发

用户: 创建用户列表组件
AI: [创建 UserList.tsx]

用户: 添加排序功能
AI: [修改 UserList.tsx,添加排序]

用户: 添加分页
AI: [修改 UserList.tsx,添加分页]

用户: 添加搜索功能
AI: [修改 UserList.tsx,添加搜索]

多模态能力

图片输入

iFlow CLI 支持图片输入,可以分析截图、设计稿等:

# 粘贴 UI 设计稿截图
> 根据这个设计稿实现对应的 React 组件

# 粘贴错误截图
> 分析这个错误,告诉我如何修复

# 粘贴流程图
> 根据这个流程图实现业务逻辑

使用方法

  1. 截取屏幕内容
  2. 在 iFlow CLI 中按 Ctrl+V 粘贴
  3. 描述你的需求

图片分析示例

用户: [粘贴 UI 设计稿] 根据这个设计实现组件

AI: 我看到了一个用户卡片设计,包含:
- 用户头像(圆形)
- 用户名称
- 用户描述
- 关注按钮

我将创建一个 UserCard 组件:

[创建文件 src/components/UserCard.tsx]

组件已创建,使用了 Tailwind CSS 进行样式设计,
保持了与现有组件风格一致。

内置工具

文件操作工具

工具功能示例用途
read_file读取文件内容分析代码
write_file创建/覆盖文件创建新组件
replace替换文件内容修改代码片段
glob搜索文件查找特定文件
list_directory列出目录内容了解项目结构

Shell 命令工具

# 运行测试
> 运行 npm test 并分析失败原因

# 安装依赖
> 安装 axios 库

# 构建项目
> 运行 npm run build

搜索工具

# 搜索文档
> 搜索 React 18 的新特性

# 搜索解决方案
> 搜索 Next.js App Router 的最佳实践

任务管理

Todo 列表功能

iFlow CLI 自动管理任务列表:

AI: 我来帮你实现这个功能。首先让我规划任务:

📋 任务列表:
1. [进行中] 分析现有代码结构
2. [待处理] 创建 API 接口
3. [待处理] 实现前端组件
4. [待处理] 添加测试用例
5. [待处理] 更新文档

正在执行第 1 步...

任务追踪

# 查看当前任务进度
> 当前任务进度如何?

# 调整任务优先级
> 先做测试用例,再实现功能

# 添加新任务
> 还需要添加错误处理

性能优化

上下文管理

# 当上下文过长时
> /clear  # 清空对话,开始新任务

# 使用 SubAgent 隔离上下文
> 使用 code-review agent 审查代码

模型选择

任务类型推荐模型原因
代码生成Qwen3-Coder代码专精
大项目分析Kimi K2长上下文
复杂推理DeepSeek v3综合能力强
指令遵循GLM-4.7指令理解好

小结

本篇详细介绍了 iFlow CLI 的核心功能:

  • 四种运行模式的使用场景和选择策略
  • 项目分析功能的工作原理
  • 自然语言交互的技巧
  • 多模态能力的应用
  • 内置工具的使用

在下一篇中,我们将深入探讨上下文工程,这是让 AI 更懂你的代码的关键技术。


相关链接

上一篇iFlow CLI AI Coding 最佳实践(二):快速上手篇

下一篇iFlow CLI AI Coding 最佳实践(四):上下文工程篇

分享: