概述
本文档总结了SCSAI agent PLM系统的集成方案,包括数据库连接、身份认证、AML操作以及标准化对象管理接口设计。目标是构建一个通用的、可被大模型调用的标准接口层,实现语音驱动的PLM操作。
一、系统架构
``
┌─────────────────────────────────────────────────────────────────┐
│ 用户交互层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 语音输入 │ │ 图形界面 │ │ 命令行 │ │
│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │
│ │ │ │ │
│ └────────────────┼────────────────┘ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ 大模型理解层 │ │
│ │ • 语音转文本 (ASR) │ │
│ │ • 意图识别 (NLU) │ │
│ │ • 内容生成 (NLG) │ │
│ │ • 接口调用决策 │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ 标准对象操作接口层 │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │
│ │ │ 识别 │ │ 创建 │ │ 修复 │ │ 优化 │ │ 比对 │ │ │
│ │ │Identify│ │ Create │ │ Repair │ │Optimize│ │ Compare│ │ │
│ │ └────────┘ └────────┘ └────────┘ └────────┘ └────────┘ │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ SCSAI集成层 │ │
│ │ • AML请求构建 │ │
│ │ • SOAP通信 │ │
│ │ • 认证管理 │ │
│ │ • 响应解析 │ │
│ └───────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌───────────────────────────────────────────────────────────┐ │
│ │ SCSAI agent服务器 │ │
│ │ https://ylxt.chat/scplm/server/agentServer.aspx │ │
│ └───────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
`
二、核心组件
2.1 SCSAI JavaScript SDK集成
SCSAI提供了原生JavaScript SDK,包含以下核心文件:
| 文件 | 功能 | 加载顺序 |
|------|------|----------|
| xmlHttpRequest.js | HTTP请求封装 | 1 |
| xmlDocument.js | XML文档处理 | 2 |
| static_variables_storage.js | 静态变量存储 | 3 |
| soap_object.js | SOAP通信对象 | 4 |
| sciot_object.js | 核心sciot对象 | 5 |
| sciot_user.js | 用户认证和登录 | 6 |
| sciot_modules.js | 功能模块 | 7 |
| sciot_export.js | 导出功能 | 8 |
2.2 全局对象初始化
`javascript
// 必须在加载SCSAI JS文件前设置
window.__staticVariablesStorage = true;
// 核心全局对象
window.Sciot // Sciot类构造函数
window.sciot // Sciot实例(登录后创建)
window.Enums // 枚举定义
window.SciotModules // 功能模块集合
`
2.3 登录流程
`javascript
// 1. 创建sciot实例
const sciot = new Sciot();
// 2. 设置服务器配置
sciot.setServerUrl('https://ylxt.chat/scplm/server');
sciot.setDatabase('SCPLM');
// 3. 执行登录
await sciot.login({
loginName: 'root',
password: 'password',
database: 'SCPLM'
});
// 4. 登录成功后可执行AML操作
`
2.4 AML操作
AML (SCSAI Markup Language) 是SCSAI的数据操作语言:
`xml
`
三、标准对象操作接口设计
3.1 接口概述
基于PLM业务场景,抽象出五个核心操作:
| 操作 | 英文 | 描述 | 典型场景 |
|------|------|------|----------|
| 识别 | Identify | 识别对象类型、属性、关系 | "这是什么零件?"、"查找供应商" |
| 创建 | Create | 创建新对象或关系 | "新建一个物料"、"添加供应商" |
| 修复 | Repair | 修复数据错误或不完整 | "补全零件信息"、"修正错误数据" |
| 优化 | Optimize | 优化对象属性或结构 | "优化BOM结构"、"降低成本" |
| 比对 | Compare | 比较对象差异 | "对比两个BOM"、"版本差异分析" |
3.2 统一接口定义
``typescript
interface ObjectOperationRequest {
operation: 'identify' | 'create' | 'repair' | 'optimize' | 'compare';
objectType: string; //
...(内容较长,已截断)
BossAgents