iFlow CLI AI Coding 最佳实践(三):核心功能篇
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 组件
# 粘贴错误截图
> 分析这个错误,告诉我如何修复
# 粘贴流程图
> 根据这个流程图实现业务逻辑
使用方法:
- 截取屏幕内容
- 在 iFlow CLI 中按
Ctrl+V粘贴 - 描述你的需求
图片分析示例
用户: [粘贴 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 最佳实践(八):总结展望篇
回顾 AI Coding 最佳实践系列的核心要点,总结 iFlow CLI 的关键特性,展望 AI 编程的未来发展趋势,为你的 AI Coding 之旅画上圆满句号。
iFlow CLI AI Coding 最佳实践(七):进阶技巧篇
掌握高级 Prompt Engineering 技巧、多 CLI 协作策略、自定义工作流配置,以及性能优化方法,成为真正的 AI Coding 高手。
iFlow CLI AI Coding 最佳实践(六):企业级实践篇
深入探索企业级 AI Coding 实践,学习规范驱动开发、多 Agent 协作、代码质量保障等关键策略,让 AI 在生产环境中发挥最大价值。