如何将基于CLI的Manus实现(Java版)为?
摘要:一个轻量级、自包含的 Agent 框架,可连接 LLM API(DeepSeek、GPT-4 等),通过基于反射的工具系统完成任务,支持交互式 CLI 和单次查询两种模式。 目录 功能特性 快速开始 环境要求 编译构建 配置 运行 配置说明
一个轻量级、自包含的 Agent 框架,可连接 LLM API(DeepSeek、GPT-4 等),通过基于反射的工具系统完成任务,支持交互式 CLI 和单次查询两种模式。
目录
功能特性
快速开始
环境要求
编译构建
配置
运行
配置说明
环境变量
.env 文件
Builder API
内置工具
代码工具
基础工具
工具调用格式
自定义工具
添加自定义工具
工具注解参考
架构设计
核心组件
Agent 循环
LLM 集成
项目结构
使用示例
交互模式
单次查询模式
编程方式调用
支持的模型
常见问题
许可证
功能特性
代码代理:编写、编辑和管理代码文件
系统代理:执行 Shell 命令、管理文件和目录
交互式 CLI:自然对话界面,支持工具执行
单次查询模式:通过命令行参数执行一次性任务
多模型支持:DeepSeek、OpenAI GPT-4/3.5 及任何兼容 OpenAI 的 API
可扩展工具系统:通过@Tool注解和反射机制添加自定义工具
最小依赖:仅使用 Gson 进行 JSON 解析;基于 Java 17 标准库构建
跨平台:支持 Windows、macOS 和 Linux
快速开始
环境要求
Java 17或更高版本
Maven 3.6+
LLM API 密钥(DeepSeek、OpenAI 或兼容服务)
编译构建
mvn clean package
构建完成后,uber JAR 文件位于target/miniagent-1.0.0.jar,包含所有依赖。
配置
在项目根目录创建.env文件:
cp .env.example .env
编辑.env,填入你的 API 凭证:
LLM_API_KEY=your_api_key_here
LLM_MODEL=deepseek-chat
LLM_API_BASE=https://api.deepseek.com/v1
运行
交互模式(默认):
java -jar target/miniagent-1.0.0.jar
单次查询模式:
java -jar target/miniagent-1.0.0.jar "创建一个 hello.py 文件,输出 Hello World"
配置说明
环境变量
变量必填默认值说明
LLM_API_KEY
是
-
LLM 提供商的 API 密钥
LLM_MODEL
否
deepseek-chat
模型标识符
LLM_API_BASE
否
https://api.deepseek.com/v1
API 基础地址
LLM_TEMPERATURE
否
0.7
采样温度(0.0-2.0)
LLM_MAX_ITERATIONS
否
10
最大 Agent 循环迭代次数
.env 文件
配置从当前目录的.env文件加载。环境变量优先级高于.env文件中的值。
