功能规划文档

功能规划文档

一、功能架构

┌─────────────────────────────────────────┐
│           老板智能体工作台               │
├─────────────────────────────────────────┤
│  普通功能(图形界面)                    │
│  ├── 登录注册                          │
│  ├── 变更管理 (ECR/ECO)                │
│  ├── 物料管理 (Part)                   │
│  ├── BOM管理                           │
│  ├── 供应商管理 (Vendor)               │
│  ├── 库存管理 (Inventory)              │
│  └── 大模型配置                        │
├─────────────────────────────────────────┤
│  智能功能(自然语言)                    │
│  ├── 自然语言指令                       │
│  ├── 对象类创建(基于大模型)            │
│  ├── BOM智能处理(创建/比对/修复)       │
│  └── 自动化任务                        │
└─────────────────────────────────────────┘

二、普通功能

2.1 模块列表

| 模块 | 对象类型 | 功能 |

|------|----------|------|

| 变更管理 | ECR/ECO | 增删改查、状态流转 |

| 物料管理 | Part | 增删改查、物料分类 |

| BOM管理 | BOM | 增删改查、BOM结构 |

| 供应商管理 | Vendor | 增删改查、联系人 |

| 库存管理 | Inventory | 增删改查、出入库 |

| 大模型配置 | ModelConfig | 配置管理、模型切换 |

2.2 统一对象API

文件位置/app/api/objects/route.ts

import { NextRequest, NextResponse } from 'next/server';
import { queryItems, createItem, updateItem, deleteItem } from '@/app/lib/aml';

// GET /api/objects?type=ECR&status=pending_approval
// POST /api/objects { type: 'ECR', data: {...} }
// PUT /api/objects { type: 'ECR', id: '...', data: {...} }
// DELETE /api/objects?type=ECR&id=...

export async function GET(request: NextRequest) {
  const { searchParams } = new URL(request.url);
  const type = searchParams.get('type') || 'ECR';
  const status = searchParams.get('status');

  const result = await queryItems(type, status);
  return Response.json(result);
}

export async function POST(request: NextRequest) {
  const { type, data } = await request.json();
  const result = await createItem(type, data);
  return Response.json(result);
}

export async function PUT(request: NextRequest) {
  const { type, id, data } = await request.json();
  const result = await updateItem(type, id, data);
  return Response.json(result);
}

export async function DELETE(request: NextRequest) {
  const { searchParams } = new URL(request.url);
  const type = searchParams.get('type');
  const id = searchParams.get('id');

  if (!type || !id) {
    return Response.json({ success: false, error: 'Missing type or id' }, { status: 400 });
  }

  const result = await deleteItem(type, id);
  return Response.json(result);
}

三、智能功能

3.1 自然语言指令

流程

用户输入 → 意图识别 → 参数提取 → AML生成 → 执行 → 结果反馈

示例

| 用户输入 | 识别结果 | 执行操作 |

|----------|----------|----------|

| "创建ECR,标题是'修改电机'" | 创建ECR | createItem('ECR', {...}) |

| "查看所有待审批的ECR" | 查询ECR | queryItems('ECR', 'pending_approval') |

| "将ECR-001状态改为已审批" | 更新ECR | updateItem('ECR', '...', {status: 'approved'}) |

3.2 基于大模型的对象类创建

文件位置/app/api/ai/create-object/route.ts

// POST /api/ai/create-object
export async function POST(request: NextRequest) {
  const { description } = await request.json();

  // 1. 调用大模型生成AML
  const prompt = `根据描述生成创建Part的AML:
描述:${description}

请生成完整的AML,包含以下字段:
- part_number(零件编号)
- name(名称)
- description(描述)
- 其他相关字段

只返回AML,不要其他内容。`;

  const llmResponse = await fetch('/api/ai-proxy', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify({ messages: [{ role: 'user', content: prompt }] })
  });

  const llmResult = await llmResponse.json();
  const aml = llmResult.data.content;

  // 2. 执行AML
  const result = await executeAml(aml);

  // 3. 保存到本地数据库
  if (result.success) {
    saveToLocalDatabase('Part', aml);
  }

  return Response.json(result);
}

示例

用户:创建一个汽车零件,编号是PART-CAR-001
↓
大模型生成AML:
<AML>
  <Item type="Part" action="add">
    <part_number>PART-CAR-001</part_number>
    <name>汽车零件</name>
    <description>一辆完整的汽车零件</description>
    <vehicle_type>SUV</vehicle_type>
    <brand>奔驰</brand>
  </Item>
</AML>
↓
执行AML,保存到数据库
↓
返回结果给用户

3.3 BOM智能处理

// 创建BOM
async function createBomFromDescription(description: string) {
  // 1. 解析描述,提取组件信息
  const prompt = `从以下描述中提取BOM信息:
${description}

返回JSON格式:
{
  "part_id": "产品ID",
  "items": [
    { "item_id": "组件1ID", "quantity": 2, "unit": "个" },
    { "item_id": "组件2ID", "quantity": 1, "unit": "个" }
  ]
}`;

  // 2. 调用大模型
  // 3. 生成AML
  // 4. 执行并保存
}

// 比对BOM
async function compareBom(bom1Id: string, bom2Id: string) {
  // 1. 获取两个BOM的数据
  // 2. 调用大模型比对差异
  // 3. 返回比对结果
}

四、实现计划

4.1 第一阶段:基础功能(1周)

| 任务 | 文件位置 | 说明 |

|------|----------|------|

| 框架搭建 | /app/layout.tsx | 基础布局 |

| 登录注册 | /app/api/auth/* | 认证功能 |

| 大模型配置 | /app/api/models/* | 模型配置 |

| SCSAI集成 | /app/lib/aras/* | sciot创建 |

| 变更管理 | /app/change-management/* | 第一个CRUD模块 |

4.2 第二阶段:CRUD模块(1周)

模块页面API
物料管理/app/materials/*/api/objects?type=Part
BOM管理/app/bom/*/api/objects?type=BOM
供应商管理/app/vendors/*/api/objects?type=Vendor
库存管理/app/inventory/*/api/objects?type=Inventory

4.3 第三阶段:智能功能(1周)

功能文件位置
自然语言处理/app/api/ai/chat/route.ts
对象创建/app/api/ai/create-object/route.ts
BOM智能处理/app/api/ai/bom/*
智能助手界面/app/(chat)/chat/*

五、关键文件位置

功能文件位置
数据库/app/lib/db/index.ts
SCSAI客户端/app/lib/aras/client.ts
AML操作/app/lib/aml/index.ts
大模型调用/app/lib/llm/index.ts
AI代理/app/api/ai-proxy/route.ts
统一对象API/app/api/objects/route.ts
自然语言处理/app/api/ai/chat/route.ts
对象创建/app/api/ai/create-object/route.ts

六、大模型默认配置

| 提供商 | 模型 | API Key |

|--------|------|---------|

| 讯飞星火 | astron-code-latest | SPARK_API_KEY |

| DeepSeek | deepseek-chat | DEEPSEEK_API_KEY |

配置位置:/app/.env.local

SPARK_API_KEY=0508e2d155d689743f9fef6e9fd20400:MDlkZDI1YTU0ZTkyZDMyOTllOWMwMzQ5
DEEPSEEK_API_KEY=your-deepseek-api-key
← 返回案例列表
分享:
🤖 Try Now →
🤖
🎁