Skip to content

强大免费的 AI 智能体 iFlow CLI

功能介绍

iFlow CLI 是阿里开源的一款终端 AI 助手,可以分析代码、执行编程任务、调试代码、CodeReview、处理文件等操作,支持智能使用 mcp 能力,支持智能使用 subAgents 的能力。其所支持的完整能力如下:

img_6.png

安装

系统要求

  • Node.js 20+
  • 4GB+ 内存

安装

全局安装:安装后可以直接在终端内命令行使用

shell
npm install -g @iflow-ai/iflow-cli@latest

IDEA 插件安装: 在 idea 中搜索 iflow 插件,进行安装。(仅支持 2024.1 及以后版本) img_1.png

验证

shell
iflow -v

启动

shell
iflow

选择登录方式

推荐选择 Login with iFlow(recommend),拥有最全功能,且会自动续期令牌

选择默认模型

以下模型四选一。

  1. Qwen3-Coder-Plus(recommend)
  2. DeepSeek-V3.2
  3. GLM-4.6
  4. Kimi-K2-0905

注意:实测下来,在编码方面,GLM-4.6 是最强的。DeepSeek-V3.2 的上下文太短,处理复杂需求的时候可能会受限。具体介绍可以看 官方模型库

基础用法

通用命令

/wenwen:可以帮助您更好地使用 iFlow CLI

text
/wenwen 如何安装MCP

!前缀:执行 shell 命令

text
!ls -la

优势:

  • 命令输出直接集成到 AI 对话中
  • AI 可以分析命令结果并提供建议
  • 保持 shell 环境和工作目录上下文

文本多行输入

shell
> 测试一下多行输入
  1. 你好           
  2. 你是谁

在每一行的行尾输入 \,之后点击回车键,开始输入下一行内容

文件/目录引用

单文件引用:@文件;文件目录引用 @目录;多文件引用:@文件1 @文件2

shell
> 帮我优化 @src/components/UserProfile.tsx 这个组件
> 分析 @src/utils 目录下的工具函数
> 比较 @src/old-component.tsx 和 @src/new-component.tsx 的区别

内容导入

允许通过 @file.md 语法从其他文件导入内容。这个功能让您能够将大型的配置文件拆分为更小、更易管理的组件,实现内容的模块化组织和重复使用。

iflow 自身会进行循环导入的检测。支持绝对和相对路径。

shell
# 同目录
@./file.md

# 上级目录
@../file.md

# 绝对路径
@/absolute/path/to/file.md

规则文件(记忆)

iflow 的规则文件用于定义固定的提示语规范,会与用户提示语一起发送给大模型。

规则分层

iflow 具有三层规则文件:优先级从低到高分别是 全局规则 > 项目规则 > 指定文件夹规则,iFlow CLI 会从当前工作目录开始,向上搜索到项目根目录和用户主目录,加载所有找到的 IFLOW.md 文件。内容会按照优先级顺序合并,高优先级的内容会覆盖低优先级的内容。

全局规则:

shell
~/.iflow/IFLOW.md
  • 作用范围:所有 iFlow CLI 会话
  • 用途:存储个人偏好、通用编码规范、全局记忆
  • 示例内容:个人编程习惯、常用库偏好、个人信息

项目规则:

shell
/path/to/your/project/IFLOW.md
  • 作用范围:特定项目
  • 用途:项目架构、技术栈、团队规范
  • 示例内容:项目概述、API 文档、部署说明

指定文件夹规则:

shell
/path/to/your/project/src/IFLOW.md
  • 作用范围:特定目录及其子目录
  • 用途:模块特定的指令和约定
  • 示例内容:模块说明、特殊测试要求

新建规则文件

shell
/init

自动分析您的代码库并生成项目文档

功能:

  • 自动识别项目类型和技术栈
  • 生成详细的项目结构文档
  • 分析依赖关系和配置文件
  • 为后续 AI 交互提供上下文

注意:因为模型上下文有限,通常需要精炼的编写上下文,对通过该命令自动生成的规则文件,需要进行再次处理。同时为了保障规则的精准性(对于编码的指导至关重要),要善于运用指定文件夹规则能力(前提是系统架构设计良好,逻辑内聚的较好,模块化能力较好)

模块化与环境变量导入

规则文件支持模块化文件能力:

markdown
# 环境相关配置(模块化导入)

@./config/development.md
@./config/production.md

## 当前环境(环境变量)
当前运行在 ${NODE_ENV} 环境。

上下文管理

更新运行时记忆

shell
# 查看当前使用的记忆内容
/memory show

# 刷新记忆内容(如果新建的 iflow.md 没有被加载到记忆中,可以执行该命令强制加载)
/memory refresh

# 手动添加记忆
/memory add 记忆内容

清除上下文

/clear:命令可以清空对话历史,可用于优化性能,减少 token 使用

思考模式

思考模式具有五个思考深度等级:超级思考(Ultra) > 强力思考(Mega) > 中级思考(Hard)> 基础思考(Normal)> 无思考(None)

思考模式触发机制:提示词中含有特定词语,则直接触发。

中文触发词

超级思考(Ultra):

  • 超级思考、极限思考、深度思考
  • 全力思考、超强思考
  • 认真仔细思考

强力思考(Mega):

  • 强力思考、大力思考、用力思考
  • 努力思考、好好思考、仔细思考

中级思考(Hard):

  • 再想想、多想想
  • 想清楚、想明白、考虑清楚

基础思考(Normal):

  • 想想、思考、考虑

英文触发词

超级思考(Ultra):

  • ultrathink
  • think really super hard
  • think intensely

强力思考(Mega):

  • megathink
  • think really hard
  • think a lot

中级思考(Hard):

  • think about it
  • think more
  • think harder

基础思考(Normal):

  • think

键盘快捷键

常用的如下,完整的见 官方文档

  • ctrl+c:按两次退出 iflow
  • esc:推出当前的推理流程
  • Ctrl+L:清屏
  • Ctrl+S:显示完整响应内容,禁用截断
  • Tab:自动补全
  • Ctrl+O:查看调试信息
  • Enter:提交命令

注意:esc 在 IDEA 中会被用于以下功能,进而造成键冲突,故需要勾选掉。 img.png

MCP

查看 mcp 所有命令:

shell
iflow mcp --help

注意:以 iflow 开头的命令请在终端中运行,不要在 iflow CLI 中运行

安装 mcp

方式一:访问 iflow 官方市场 或者 mcp 官方市场 选择 mcp mac/linux 可以使用:

shell
# 安装在项目中
iflow mcp add-json 'server-name' '{JSON配置}'
# 安装在全局
iflow mcp add-json --scope user 'server-name' '{JSON配置}'

示例:

shell
iflow mcp add-json --scope user 'playwright' "{\"command\":\"npx\",\"args\":[\"-y\",\"@iflow-mcp/playwright-mcp@0.0.32\"]}"

windows 下需要处理 JSON 转移字符,所以更推荐直接使用:

shell
# 安装在项目范围+stdio
iflow mcp add <name> <command> [args...]
# 安装在全局范围+stdio
iflow mcp add --scope user <name> <command> [args...]
# 安装在全局范围+sse
iflow mcp add --transport sse --scope user <name> <url>
# 安装在全局范围+http
iflow mcp add --transport http --scope user <name> <url>

示例:

shell
iflow mcp add --scope user playwright npx -y @iflow-mcp/playwright-mcp@0.0.32

方式二:执行 /mcp online,按照安装导向,选择 mcp 进行安装

方式三:在配置文件中手动添加 全局配置文件:~/.iflow/mcp/config.json 项目配置文件:{project}/.iflow/mcp.json

类似如下:

json
{
  "mcpServers": {
    "xhs-toolkit": {
      "description": "强大的小红书自动化工具包,支持内容发布、数据分析、创作者数据采集等功能",
      "command": "uvx",
      "args": [
        "--from",
        "iflow-mcp_xhs-toolkit",
        "xhs-toolkit",
        "--stdio"
      ],
      "env": {
        "DATA_STORAGE_PATH": "D:\\data\\xhs",
        "ENABLE_AUTO_COLLECTION": "D:\\data\\xhs"
      }
    },
    "playwright": {
      "command": "npx",
      "args": [
        "-y",
        "@iflow-mcp/playwright-mcp@0.0.32"
      ],
      "timeout": 20000
    }
  }
}

每一个 mcp 的配置项属性:

  • <SERVER_NAME>(对象):命名服务器的服务器参数
  • command(字符串,必填):启动 MCP 服务器要执行的命令
  • args(字符串数组,可选):传递给命令的参数
  • env(对象,可选):为服务器进程设置的环境变量
  • cwd(字符串,可选):启动服务器的工作目录
  • timeout(数字,可选):对此 MCP 服务器请求的超时时间(毫秒)
  • trust(布尔值,可选):信任此服务器并绕过所有工具调用确认
  • includeTools(字符串数组,可选):指定时,只有这里列出的工具才可从此服务器使用(白名单行为)。如果未指定,默认启用服务器的所有工具
  • excludeTools(字符串数组,可选):这里列出的工具将不可用。注意: excludeTools 优先于 includeTools - 如果工具在两个列表中,它将被排除。

使用 mcp

智能体会自主的决定何时使用 mcp,无需额外指定。

刷新 mcp 列表

shell
/mcp refresh

查询已安装的 mcp 列表

shell
/mcp list

查询指定名字的 mcp 详细描述

shell
iflow mcp get <server-name>

删除指定名字的 mcp

shell
iflow mcp remove <server-name>

SubAgent

Sub Agent 是 iFlow CLI 中的智能分工系统,类似于拥有一个专业团队,每个成员都有自己的专长领域。系统能够根据不同的任务类型自动选择最合适的专业 Agent 来处理您的请求,确保每个任务都能得到最专业的处理。

特点:

  • 每个 SubAgent 针对特定领域优化,可用于提高任务处理质量
  • 控制不同 SubAgent 访问不同的工具集合,兼顾安全性和效率
  • 根据任务描述自动选择 SubAgent,用户无需手动选择
  • 支持自定义和第三方 SubAgent

查看 SubAgent 所有命令:

shell
iflow agent --help

安装 SubAgent

方式一:访问 iflow 官方市场,选择安装:

shell
# 添加项目级别的Agent
iflow agent add <agent-name-or-id> --scope project
# 添加用户级别的Agent(全局作用域)
iflow agent add <agent-name-or-id> --scope global

添加的全局 agent 在 ~/.iflow/agents/ 会形成一个文件 <agent-name-or-id>.md

示例:

shell
iflow agent add "prompt-engineer" --scope global

方式二:执行 /agents online,按照安装向导,选择 agent 进行安装

方式三:执行 /agents install,按照创建向导,手动创建 agent

方式四:手动在 ~/.iflow/agents/ 创建 <name>.md,仿照已有的 agent 文件编写即可,语法如下:

markdown
---
agentType: "agent唯一标识"
description: "简短描述"
systemPrompt: "系统提示语"
whenToUse: "描述什么时候应该被使用"
model: "偏爱的模型ID"
allowedTools: ["Read", "Grep", "Bash"] // 允许使用的工具
allowedMcps: ["security-scanner", "vulnerability-db"] // 允许使用的mcp
isInheritTools: false // 是否继承父 agent 的工具,如果 true,则可使用的工具包含父 agent 的工具+allowedTools
isInheritMcps: false // 是否继承父 agent 的 mcp,如果 true,则可使用的工具包含父 agent 的 mcp+allowedTools
---

这是一个自定义专家 Agent 的详细说明...

自主使用 SubAgent

智能体会自主的决定何时使用 SubAgent,无需额外指定。

手动使用 AubAgent

shell
$<agent-type> <任务描>

示例:

shell
$code-reviewer 对当前项目进行代码审查

刷新 SubAgent 列表

shell
/agents refresh

查询已安装的 SubAgent 列表

shell
/agents list

查询指定名字的 SubAgent 详细描述

shell
iflow agent get <agent-name-or-id>

删除指定名字的 SubAgent

shell
iflow agent remove <agent-name-or-id>

SubCommand

Sub Command 是 iFlow CLI 中的命令系统,允许您从在线市场安装专业化的斜杠命令来扩展 CLI 功能。

查看 command 所有命令:

shell
iflow commands --help

安装 command

方式一:访问 iflow 官方市场,选择安装:

shell
# 项目范围
iflow commands add <command-id> --scope project
# 全局范围
iflow commands add <command-id> --scope global

添加的全局 agent 在 ~/.iflow/commands/ 会形成一个文件 <command-id>.toml

示例:

shell
iflow commands add "make-it-pretty" --scope global

方式二:执行 /commands online,按照安装向导,选择 command 进行安装

方式三:手动在 ~/.iflow/commands/ 创建 <command-id>.toml,仿照已有的 command 文件编写即可,语法如下:

toml
# Command: <command-id>
# Description: 描述
# Category: 分类,见 https://platform.iflow.cn/cli/examples/subcommand?spm=54878a4d.9dc04ed.0.0.348834b4yIHsdw#%E5%91%BD%E4%BB%A4%E5%88%86%E7%B1%BB%E4%B8%8E%E6%8E%A8%E8%8D%90
# Version: 1
# Author: 作者名

description = "描述"
prompt = """
提示语
{{args}}
!{git status}
"""

说明:

  • :用于参数占位符,如果不使用 占位参数,则用户的输入会自动添加到提示语结尾
  • !{command}:在提示词中执行Shell命令

使用 command

本身就是一个斜杠命令

shell
/<command-id>

示例:

shell
/code-reviewer

查询已安装的 command 列表

shell
/commands list

查询指定名字的 command 详细描述

shell
iflow commands get <command-id>

删除指定名字的 command

shell
# 删除项目范围 command
iflow commands remove <command-id>
# 删除全局范围 command
iflow commands remove <command-id> --scope global

Workflow

工作流将不同的AI能力(agents、commands、MCP工具)组合成完整的工作流程。通过workflow,您可以创建复杂的自动化任务链,实现从代码分析、开发、测试到部署的全流程自动化。

心流开放平台已经预置了大量优秀的工作流,例如小红书发文、深度研究、ppt制作、画流程图等,你可以在心流开放市场中下载安装到本地,再基于您个人独特的需求对工作流进行调整。

对于开发者,心流开放平台预置了github spec、bmad、NioPD、ai-dev-task等开发者工作流。

查看 workflow 所有命令:

shell
iflow workflow --help

安装 workflow

方式一:访问 iflow 官方市场,选择安装:

shell
# 项目范围
iflow workflow add <name-or-id>

示例:

shell
iflow workflow add "ppt-generator-v3-OzctqA"

workflow 安装后会形成如下的目录结构(我们在自定义 workflow 的时候,可以参考该目录结构)

markdown
项目根目录/
├── .iflow/ # iFlow CLI配置和资源目录
│ ├── agents/ # 智能体配置文件夹
│ │ ├── agent1.md # 具体的agent配置文件
│ │ └── agent2.md # 更多agent配置
│ ├── commands/ # 自定义命令文件夹
│ │ ├── command1.md # 具体的command实现
│ │ └── command2.md # 更多command实现
│ ├── IFLOW.md # 详细的工作流文档和配置
│ └── settings.json # mcp相关配置
└── [项目文件夹]/ # 您的项目文件和代码

方式二:访问 iflow 官方市场,选择 workflow 后,进入到其 github 地址,按照其安装步骤进行安装,例如:NioPD

使用 workflow

工作流安装之后,在项目的 .iflow/commands/ 文件夹下可以看到添加的执行命令,例如 ppt-generator.md,其是一个斜杠命令

shell
/<command-id>

示例:

shell
/ppt-generator

执行模式

默认情况下,iflow 使用 Yolo 模式,该模式下,iflow 会自己制定计划,之后自动执行计划,全程无人参与。

使用 alt+m 可以进行计划的切换,该模式下,iflow 会自己制定计划,之后由人来确定是否执行。

Hooks

Hooks 允许您在特定的生命周期事件发生时自动执行自定义命令。

类型

iflow 提供了 9 个钩子。如下:

  • PreToolUse Hook:在工具执行之前执行
  • PostToolUse Hook:在工具执行之后执行
  • SetUpEnvironment Hook:会话开始时,环境信息设置阶段执行
  • Stop Hook:在主会话结束时执行
  • SubagentStop Hook:在子 Agent 执行结束执行
  • SessionStart Hook:在会话开始时执行
  • SessionEnd Hook:在会话结束后执行
  • UserPromptSubmit Hook:在用户提交提示语之后 iflow 执行该提示语之前执行
  • Notification Hook:在当 iFlow 向用户发送通知时执行

配置

  • 用户配置:~/.iflow/settings.json
  • 项目配置:project/.iflow/settings.json

二者会在项目使用中进行合并使用。

配置语法如下:

json
{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "tool_pattern",
        "hooks": [
          {
            "type": "command",
            "command": "your_command",
            "timeout": 30
          }
        ]
      }
    ]
  }
}

每个 Hook 类型包含一个配置数组,每个配置项包含:

  • hooks (必需):Hook 命令数组,每个命令包含:
    • type:命令类型,目前仅支持 "command"
    • command:要执行的命令字符串,可以执行脚本文件,例如 python3 git_status.py,脚本中可以使用 iflow 预置的一些环境变量,例如,IFLOW_SESSION_ID 表示会话ID,在 python 脚本中可以这样使用 session_id = os.environ.get('IFLOW_SESSION_ID', '')
    • timeout:超时时间(秒),可选,默认无超时
  • matcher:部分 Hook 有这个字段,用于条件匹配,例如 PreToolUse 可以使用该工具来指定哪些工具需要执行这个 Hook(当然选择逻辑也可以直接做在 command 的脚本中)

关于 Hook 更多的信息见 Hooks 配置

更新

iFlow CLI在启动时会检测是否有最新版本,会自动更新。 若失败,可手动更新

shell
# 更新命令
npm i -g @iflow-ai/iflow-cli to update
# 查看最新版本
iflow -v

卸载

shell
# 卸载
npm uninstall -g @iflow-ai/iflow-cli
# 检查iflow命令是否存在
iflow -v

使用

使用案例一

text
帮我创建一个java工程,Java使用21版本,服务端使用springboot最新版本,前端使用vue3最新版本,并且提供一个最基础的欢迎页,当访问 http://localhost:8080/ 的时候自动打开欢迎页

我们使用 iflow 的 YOLO 模式,iflow 会自动规划,自动执行命令(比如,安装依赖,创建文件夹等)/自动编码。可以使用 ctrl+y 切换模式,使得每一个操作都需要用户确认。

iflow 首先会创建计划 img_2.png

之后会按照计划一步一步执行。例如,第一步如下: img_3.png

之后依次执行,最后还会启动项目,如果失败,还会不断重试,自我修复代码,直到成功为止。最后输出总结如下:

img_4.png

最后效果如下:

img_5.png