546 lines
15 KiB
Markdown
546 lines
15 KiB
Markdown
|
# 九鑫智能自动化协议 (JiuXin Intelligent Automation Protocol, JIAP) 开发文档
|
|||
|
|
|||
|
**JIAP** 是“九鑫智能自动化协议 (JiuXin Intelligent Automation Protocol)”的缩写,它定义了一套统一、高效、可扩展的机器人流程自动化(RPA)框架。该协议旨在实现跨多种自动化工具和平台的无缝集成,同时确保与主流标准兼容。
|
|||
|
|
|||
|
|
|||
|
## 开发文档
|
|||
|
|
|||
|
### 九鑫智能自动化协议 (JIAP) 开发文档
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 目录
|
|||
|
|
|||
|
1. [简介](#1-简介)
|
|||
|
2. [系统架构](#2-系统架构)
|
|||
|
3. [API 设计与通信标准](#3-api-设计与通信标准)
|
|||
|
4. [模块与方法](#4-模块与方法)
|
|||
|
5. [数据模型](#5-数据模型)
|
|||
|
6. [认证与安全](#6-认证与安全)
|
|||
|
7. [错误处理](#7-错误处理)
|
|||
|
8. [可扩展性](#8-可扩展性)
|
|||
|
9. [示例与使用场景](#9-示例与使用场景)
|
|||
|
10. [常见问题](#10-常见问题)
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 1. 简介
|
|||
|
|
|||
|
**九鑫智能自动化协议 (JiuXin Intelligent Automation Protocol, JIAP)** 提供了一套标准化框架,用于设计、执行和管理 RPA 工作流。目标如下:
|
|||
|
- **实现无缝集成**:支持多样化的系统。
|
|||
|
- **简化自动化任务**:通过统一的接口执行操作。
|
|||
|
- **确保兼容性**:与主流 RPA 平台和协议兼容。
|
|||
|
|
|||
|
### 核心特点:
|
|||
|
- **模块化**:提供文件操作、数据处理、系统任务等功能模块。
|
|||
|
- **可扩展性**:支持动态添加新模块及定制化工作流。
|
|||
|
- **兼容性**:支持 RESTful API、WebSocket 等主流协议的集成。
|
|||
|
- **安全性**:高级认证机制与加密数据传输。
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 2. 系统架构
|
|||
|
|
|||
|
### 核心组件
|
|||
|
|
|||
|
1. **RPA 控制器**:
|
|||
|
- 负责任务调度、机器人协调及资源分配。
|
|||
|
- 提供外部系统可调用的 API 接口。
|
|||
|
|
|||
|
2. **机器人代理**:
|
|||
|
- 执行由控制器分配的自动化任务。
|
|||
|
- 与控制器通信,报告任务状态和结果。
|
|||
|
|
|||
|
3. **活动模块**:
|
|||
|
- 独立的功能单元,例如文件处理、Excel 操作、数据库访问等。
|
|||
|
- 易于扩展,可根据需求添加新功能。
|
|||
|
|
|||
|
4. **日志与监控系统**:
|
|||
|
- 记录任务执行日志。
|
|||
|
- 提供性能分析与故障排查信息。
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 3. API 设计与通信标准
|
|||
|
|
|||
|
### 3.1 通信协议
|
|||
|
|
|||
|
- **RESTful API**:
|
|||
|
- 基础 URL: `https://api.jiuxinai.com/v1/jiap`
|
|||
|
- 用于同步任务请求与查询操作。
|
|||
|
|
|||
|
- **WebSocket**:
|
|||
|
- URL: `wss://api.jiuxinai.com/ws`
|
|||
|
- 支持异步任务执行与实时通信。
|
|||
|
|
|||
|
### 3.2 标准请求格式
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"method": "<模块>.<操作>",
|
|||
|
"params": {
|
|||
|
"param1": "value1",
|
|||
|
"param2": "value2"
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 3.3 标准响应格式
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success", // success 或 error
|
|||
|
"message": "操作描述",
|
|||
|
"data": {
|
|||
|
"key1": "value1",
|
|||
|
"key2": "value2"
|
|||
|
},
|
|||
|
"timestamp": "2024-04-28T12:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 4. 模块与方法
|
|||
|
|
|||
|
### 4.1 文件操作模块
|
|||
|
|
|||
|
| 方法名 | 描述 | 参数 |
|
|||
|
|-------------------|----------------------|-------------------------------------|
|
|||
|
| `File.Copy` | 复制文件 | `source_path`, `destination_path`, `overwrite` |
|
|||
|
| `File.Delete` | 删除文件 | `file_path` |
|
|||
|
| `File.Rename` | 重命名文件 | `file_path`, `new_name` |
|
|||
|
| `File.ListFiles` | 列出目录中的文件 | `directory_path`, `filter_by_extension` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.2 Excel 操作模块
|
|||
|
|
|||
|
| 方法名 | 描述 | 参数 |
|
|||
|
|-----------------------|--------------------------|---------------------------------------|
|
|||
|
| `Excel.ReadCell` | 读取 Excel 单元格数据 | `file_path`, `sheet_name`, `cell_name`, `password` |
|
|||
|
| `Excel.WriteCell` | 写入 Excel 单元格数据 | `file_path`, `sheet_name`, `cell_name`, `value`, `password` |
|
|||
|
| `Excel.MergeCells` | 合并或取消合并单元格 | `file_path`, `sheet_name`, `range_name`, `action` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.3 网络模块
|
|||
|
|
|||
|
| 方法名 | 描述 | 参数 |
|
|||
|
|-----------------------|----------------------|-----------------------------------|
|
|||
|
| `Network.HttpGet` | 执行 HTTP GET 请求 | `url`, `headers` |
|
|||
|
| `Network.HttpPost` | 执行 HTTP POST 请求 | `url`, `headers`, `body` |
|
|||
|
| `Network.DownloadFile`| 下载文件 | `url`, `save_path` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.4 OCR 模块
|
|||
|
|
|||
|
| 方法名 | 描述 | 参数 |
|
|||
|
|-----------------------|----------------------|-----------------------------------|
|
|||
|
| `OCR.ExtractText` | 从图像中提取文本 | `image_path` |
|
|||
|
| `OCR.ExtractFromPDF` | 从 PDF 中提取文本 | `pdf_path` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.5 扩展模块
|
|||
|
|
|||
|
其他模块(如数据库操作、系统命令)可根据需要动态添加。有关详细信息,请参考可扩展性部分。
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 5. 数据模型
|
|||
|
|
|||
|
### 文件元数据模型
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"path": "/path/to/file.txt",
|
|||
|
"size": 1024,
|
|||
|
"created_at": "2024-04-01T10:00:00Z",
|
|||
|
"modified_at": "2024-04-28T10:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### Excel 单元格数据模型
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"file_path": "/path/to/excel.xlsx",
|
|||
|
"sheet_name": "Sheet1",
|
|||
|
"cell_name": "A1",
|
|||
|
"value": "123"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 6. 认证与安全
|
|||
|
|
|||
|
### 6.1 认证
|
|||
|
|
|||
|
- **OAuth 2.0**:
|
|||
|
- 使用访问令牌进行 API 请求。
|
|||
|
- 认证端点: `https://api.jiuxinai.com/auth/token`
|
|||
|
|
|||
|
- **API 密钥**:
|
|||
|
- 简化认证流程,适用于内部场景。
|
|||
|
|
|||
|
### 6.2 数据安全
|
|||
|
|
|||
|
- 使用 HTTPS 和 WSS 进行加密通信。
|
|||
|
- 敏感数据(如密码)采用行业标准加密存储。
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 7. 错误处理
|
|||
|
|
|||
|
标准化错误响应,确保交互可预测且易于调试。
|
|||
|
|
|||
|
### 示例错误响应
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "error",
|
|||
|
"message": "文件未找到",
|
|||
|
"data": null,
|
|||
|
"timestamp": "2024-04-28T12:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 8. 可扩展性
|
|||
|
|
|||
|
### 添加新模块
|
|||
|
|
|||
|
1. 在配置文件中定义模块和方法。
|
|||
|
2. 在后端实现模块逻辑。
|
|||
|
3. 通过控制器公开新模块。
|
|||
|
|
|||
|
### 自定义操作
|
|||
|
|
|||
|
开发者可通过配置文件或脚本添加自定义工作流,从而扩展协议的功能。
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 9. 示例与使用场景
|
|||
|
|
|||
|
### 示例:文件复制操作
|
|||
|
|
|||
|
**请求**:
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"method": "File.Copy",
|
|||
|
"params": {
|
|||
|
"source_path": "/source/file.txt",
|
|||
|
"destination_path": "/destination/file.txt",
|
|||
|
"overwrite": true
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**响应**:
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"message": "文件复制成功",
|
|||
|
"data": {
|
|||
|
"source_path": "/source/file.txt",
|
|||
|
"destination_path": "/destination/file.txt",
|
|||
|
"overwrite": true
|
|||
|
},
|
|||
|
"timestamp": "2024-04-28T12:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 10. 常见问题
|
|||
|
|
|||
|
1. **如何进行 API 请求认证?**
|
|||
|
使用 OAuth 2.0 令牌或 API 密钥。
|
|||
|
|
|||
|
2. **JIAP 是否支持主流 RPA 平台集成?**
|
|||
|
是的,JIAP 通过 RESTful API 实现了与主流 RPA 工具的兼容。
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
以上文档为实现和集成 **九鑫智能自动化协议 (JIAP)** 提供了全面指导。如需更多信息,请联系 **九鑫智能技术支持**:[xiaoyigong@9xin.ai]。
|
|||
|
|
|||
|
## 协议英文名称
|
|||
|
|
|||
|
**JiuXin Intelligent Automation Protocol (JIAP)**
|
|||
|
|
|||
|
**JIAP** stands for "JiuXin Intelligent Automation Protocol," which defines a unified, efficient, and extensible framework for robotic process automation (RPA). The protocol is designed for seamless integration across various automation tools and platforms while ensuring compatibility with mainstream standards.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 开发文档
|
|||
|
|
|||
|
### JiuXin Intelligent Automation Protocol (JIAP) Developer Documentation
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### Table of Contents
|
|||
|
|
|||
|
1. [Introduction](#1-introduction)
|
|||
|
2. [System Architecture](#2-system-architecture)
|
|||
|
3. [API Design and Communication Standards](#3-api-design-and-communication-standards)
|
|||
|
4. [Modules and Methods](#4-modules-and-methods)
|
|||
|
5. [Data Models](#5-data-models)
|
|||
|
6. [Authentication and Security](#6-authentication-and-security)
|
|||
|
7. [Error Handling](#7-error-handling)
|
|||
|
8. [Extensibility](#8-extensibility)
|
|||
|
9. [Examples and Use Cases](#9-examples-and-use-cases)
|
|||
|
10. [FAQ](#10-faq)
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 1. Introduction
|
|||
|
|
|||
|
**JiuXin Intelligent Automation Protocol (JIAP)** provides a standardized framework for designing, executing, and managing RPA workflows. It aims to:
|
|||
|
- Enable seamless integration across diverse systems.
|
|||
|
- Simplify automation tasks through a unified interface.
|
|||
|
- Ensure compatibility with mainstream RPA platforms and protocols.
|
|||
|
|
|||
|
Key Features:
|
|||
|
- **Modularity**: Functional modules for file operations, data processing, system tasks, etc.
|
|||
|
- **Extensibility**: Support for adding new modules and customizing workflows.
|
|||
|
- **Compatibility**: Integration with RESTful APIs, WebSocket, and other widely adopted protocols.
|
|||
|
- **Security**: Advanced authentication and encrypted data transmission.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 2. System Architecture
|
|||
|
|
|||
|
### Core Components
|
|||
|
|
|||
|
1. **RPA Controller**:
|
|||
|
- Manages task scheduling, robot orchestration, and resource allocation.
|
|||
|
- Exposes APIs for external systems to interact with RPA workflows.
|
|||
|
|
|||
|
2. **Robot Agents**:
|
|||
|
- Executes automation tasks assigned by the controller.
|
|||
|
- Communicates with the controller to report task status and results.
|
|||
|
|
|||
|
3. **Activity Modules**:
|
|||
|
- Encapsulated units for performing specific operations (e.g., file handling, Excel processing, database access).
|
|||
|
- Easily extendable to accommodate new requirements.
|
|||
|
|
|||
|
4. **Logging and Monitoring System**:
|
|||
|
- Records task execution logs.
|
|||
|
- Provides insights into performance and troubleshooting information.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 3. API Design and Communication Standards
|
|||
|
|
|||
|
### 3.1 Communication Protocols
|
|||
|
|
|||
|
- **RESTful API**:
|
|||
|
- Base URL: `https://api.jiuxinai.com/v1/jiap`
|
|||
|
- Used for synchronous task requests and query operations.
|
|||
|
|
|||
|
- **WebSocket**:
|
|||
|
- URL: `wss://api.jiuxinai.com/ws`
|
|||
|
- Supports asynchronous task execution and real-time communication.
|
|||
|
|
|||
|
### 3.2 Standard Request Format
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"method": "<module>.<operation>",
|
|||
|
"params": {
|
|||
|
"param1": "value1",
|
|||
|
"param2": "value2"
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### 3.3 Standard Response Format
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success", // success or error
|
|||
|
"message": "Operation description",
|
|||
|
"data": {
|
|||
|
"key1": "value1",
|
|||
|
"key2": "value2"
|
|||
|
},
|
|||
|
"timestamp": "2024-04-28T12:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 4. Modules and Methods
|
|||
|
|
|||
|
### 4.1 File Operations Module
|
|||
|
|
|||
|
| Method | Description | Parameters |
|
|||
|
|-------------------|------------------------|-----------------------------------------|
|
|||
|
| `File.Copy` | Copy a file | `source_path`, `destination_path`, `overwrite` |
|
|||
|
| `File.Delete` | Delete a file | `file_path` |
|
|||
|
| `File.Rename` | Rename a file | `file_path`, `new_name` |
|
|||
|
| `File.ListFiles` | List files in a folder | `directory_path`, `filter_by_extension` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.2 Excel Operations Module
|
|||
|
|
|||
|
| Method | Description | Parameters |
|
|||
|
|-----------------------|------------------------------|--------------------------------------------|
|
|||
|
| `Excel.ReadCell` | Read data from a cell | `file_path`, `sheet_name`, `cell_name`, `password` |
|
|||
|
| `Excel.WriteCell` | Write data to a cell | `file_path`, `sheet_name`, `cell_name`, `value`, `password` |
|
|||
|
| `Excel.MergeCells` | Merge or unmerge cells | `file_path`, `sheet_name`, `range_name`, `action` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.3 Network Module
|
|||
|
|
|||
|
| Method | Description | Parameters |
|
|||
|
|---------------------|------------------------|---------------------------------|
|
|||
|
| `Network.HttpGet` | Perform HTTP GET | `url`, `headers` |
|
|||
|
| `Network.HttpPost` | Perform HTTP POST | `url`, `headers`, `body` |
|
|||
|
| `Network.DownloadFile` | Download a file | `url`, `save_path` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.4 OCR Module
|
|||
|
|
|||
|
| Method | Description | Parameters |
|
|||
|
|-----------------------|-----------------------------|---------------------------------|
|
|||
|
| `OCR.ExtractText` | Extract text from an image | `image_path` |
|
|||
|
| `OCR.ExtractFromPDF` | Extract text from a PDF | `pdf_path` |
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
### 4.5 Extended Modules
|
|||
|
|
|||
|
Additional modules such as database operations, system commands, and more can be added dynamically. See the extensibility section for details.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 5. Data Models
|
|||
|
|
|||
|
### File Metadata Model
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"path": "/path/to/file.txt",
|
|||
|
"size": 1024,
|
|||
|
"created_at": "2024-04-01T10:00:00Z",
|
|||
|
"modified_at": "2024-04-28T10:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
### Excel Cell Data Model
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"file_path": "/path/to/excel.xlsx",
|
|||
|
"sheet_name": "Sheet1",
|
|||
|
"cell_name": "A1",
|
|||
|
"value": "123"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 6. Authentication and Security
|
|||
|
|
|||
|
### 6.1 Authentication
|
|||
|
|
|||
|
- **OAuth 2.0**:
|
|||
|
- Obtain access tokens for API requests.
|
|||
|
- Endpoint: `https://api.jiuxinai.com/auth/token`
|
|||
|
|
|||
|
- **API Key**:
|
|||
|
- Simplified authentication for internal use cases.
|
|||
|
|
|||
|
### 6.2 Data Security
|
|||
|
|
|||
|
- Encrypted communication using HTTPS and WSS.
|
|||
|
- Sensitive data (e.g., passwords) stored securely using industry-standard encryption.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 7. Error Handling
|
|||
|
|
|||
|
Standardized error responses to ensure predictable and debuggable interactions.
|
|||
|
|
|||
|
### Example Error Response
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "error",
|
|||
|
"message": "File not found",
|
|||
|
"data": null,
|
|||
|
"timestamp": "2024-04-28T12:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 8. Extensibility
|
|||
|
|
|||
|
### Adding New Modules
|
|||
|
|
|||
|
1. Define the module and methods in the configuration file.
|
|||
|
2. Implement the module logic in the backend.
|
|||
|
3. Expose the module through the controller.
|
|||
|
|
|||
|
### Custom Operations
|
|||
|
|
|||
|
Developers can add custom workflows using configuration files or scripts, extending the protocol to meet specific needs.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 9. Examples and Use Cases
|
|||
|
|
|||
|
### Example: File Copy Operation
|
|||
|
|
|||
|
**Request**:
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"method": "File.Copy",
|
|||
|
"params": {
|
|||
|
"source_path": "/source/file.txt",
|
|||
|
"destination_path": "/destination/file.txt",
|
|||
|
"overwrite": true
|
|||
|
}
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
**Response**:
|
|||
|
|
|||
|
```json
|
|||
|
{
|
|||
|
"status": "success",
|
|||
|
"message": "File copied successfully",
|
|||
|
"data": {
|
|||
|
"source_path": "/source/file.txt",
|
|||
|
"destination_path": "/destination/file.txt",
|
|||
|
"overwrite": true
|
|||
|
},
|
|||
|
"timestamp": "2024-04-28T12:00:00Z"
|
|||
|
}
|
|||
|
```
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
## 10. FAQ
|
|||
|
|
|||
|
1. **How do I authenticate API requests?**
|
|||
|
Use OAuth 2.0 tokens or API keys depending on your deployment.
|
|||
|
|
|||
|
2. **Can I integrate JIAP with other RPA platforms?**
|
|||
|
Yes, JIAP is designed to be compatible with mainstream RPA tools through RESTful APIs.
|
|||
|
|
|||
|
---
|
|||
|
|
|||
|
This documentation provides a foundation for implementing and integrating **JIAP** in a wide range of automation scenarios. For more information, contact **JiuXin Intelligent Support** at [xiaoyigong@9xin.ai].
|