# paiCli **Repository Path**: wzdbjz/pai-cli ## Basic Information - **Project Name**: paiCli - **Description**: asdasdasdasdsa - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-08 - **Last Updated**: 2026-05-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pai-cli A Java-based CLI tool integrated with GLM large language model, supporting intelligent tool calling for various tasks. ## 项目简介 pai-cli 是一个基于 Java 和 Spring Boot 开发的命令行工具,通过集成 GLM 大语言模型实现智能交互。该项目实现了 AI Agent 架构,支持通过自然语言调用各种工具(如执行命令、读写文件等)。 ## 技术栈 - **Java** - 编程语言 - **Spring Boot** - 应用框架 - **OkHttp** - HTTP 客户端 - **Jackson** - JSON 处理 - **GLM API** - 智谱清言大语言模型 ## 核心功能 ### 1. GLM 大模型集成 通过 `GLMClient` 类与 GLM API 进行交互,支持对话和工具调用。 ### 2. 智能 Agent `Agent` 类实现了一个完整的 AI Agent,具备: - 对话历史管理 - 工具调用能力 - 迭代处理机制 - 重试机制 ### 3. 工具注册系统 `ToolRegistry` 提供以下工具: - **文件操作工具** - 读取文件内容 - **命令执行工具** - 执行系统命令 - **文件写入工具** - 写入文件内容 ## 快速开始 ### 构建项目 ```bash ./mvnw clean package ``` ### 运行应用 ```bash ./mvnw spring-boot:run ``` 或先构建再运行: ```bash ./mvnw package java -jar target/paicli2-0.0.1-SNAPSHOT.jar ``` ### 配置 API Key 在运行目录下创建 `.env` 文件,添加以下内容: ``` API_KEY=your_glm_api_key_here ``` ## 使用说明 1. 确保已配置有效的 GLM API Key 2. 启动应用后,输入自然语言描述需要执行的操作 3. Agent 会自动分析并调用相应工具完成任务 示例交互: ``` 用户: 列出当前目录下的所有文件 Agent: [调用文件读取工具] ``` ## 项目结构 ``` paicli2/ ├── src/main/java/com/yuanshenniubi/paicli2/ │ ├── Paicli2Application.java # Spring Boot 主入口 │ ├── agent/ │ │ └── Agent.java # AI Agent 核心类 │ ├── cli/ │ │ └── Main.java # CLI 入口 │ ├── llm/ │ │ ├── ChatResponse.java # 聊天响应 │ │ ├── GLMClient.java # GLM API 客户端 │ │ └── ToolCall.java # 工具调用 │ ├── message/ │ │ └── Message.java # 消息结构 │ └── tool/ │ ├── Tool.java # 工具定义 │ └── ToolRegistry.java # 工具注册中心 ``` ## 配置项 | 配置项 | 说明 | |--------|------| | API_URL | GLM API 端点 | | MODEL | 使用的模型名称 | | MAX_ITERATIONS | 最大迭代次数 | | MAX_RETRIES | 最大重试次数 | ## 许可证 本项目仅供学习交流使用。