Java SDK
概述
iFlow SDK是用于与iFlow CLI进行编程交互的SDK,通过他可以快速将iFlow CLI集成到你的业务系统中,结合workflow等智能体扩展,允许开发者构建具有对话、工具执行和任务规划能力的 AI 驱动应用程序,让业务系统具备AI的能力。 目前已支持Python、Java、TypeScript、Android版本。
✨ 核心特性:SDK 自动管理 iFlow 进程 - 无需手动配置!
基于 Project Reactor 构建,支持现代响应式编程,为Java开发者提供强大的异步处理能力。
系统要求
- Java: 11 或更高版本
- iFlow CLI: 0.2.24 或更高版本
- 操作系统: Windows、macOS、Linux
安装
1. 安装 iFlow CLI
如果您还没安装 iFlow CLI:
- Mac/Linux/Ubuntu
- Windows
bash -c "$(curl -fsSL https://gitee.com/iflow-ai/iflow-cli/raw/main/install.sh)"
npm install -g @iflow-ai/iflow-cli@latest
2. 添加 SDK 依赖
- Maven
- Gradle
<dependency>
<groupId>cn.iflow</groupId>
<artifactId>iflow-cli-sdk</artifactId>
<version>1.0.4-fix</version>
</dependency>
implementation 'cn.iflow:iflow-cli-sdk:1.0.4-fix'
快速开始
基础示例
SDK 会自动检测并启动 iFlow 进程,无需手动配置:
import cn.iflow.sdk.core.IFlowClient;
import cn.iflow.sdk.types.messages.*;
import reactor.core.publisher.Flux;
public class BasicExample {
public static void main(String[] args) throws Exception {
// SDK 自动处理:
// 1. 检测 iFlow 是否已安装
// 2. 启动 iFlow 进程(如果未运行)
// 3. 查找可用端口并建立连接
// 4. 退出时自动清理资源
try (IFlowClient client = IFlowClient.create()) {
client.connect().block();
client.sendMessage("你好,iFlow!").block();
// 使用 blockLast() 等待流完成,避免资源过早关闭
client.receiveMessages()
.doOnNext(message -> {
if (message instanceof AssistantMessage) {
AssistantMessage assistantMsg = (AssistantMessage) message;
System.out.print(assistantMsg.getChunk().getText());
} else if (message instanceof TaskFinishMessage) {
System.out.println("\n对话完成");
}
})
.doOnError(error -> error.printStackTrace())
.doOnComplete(() -> System.out.println("流结束"))
.blockLast(); // 阻塞直到流完成
}
}
}