> ## Documentation Index
> Fetch the complete documentation index at: https://automationlaboratoryprotocol.mimedal.cn/llms.txt
> Use this file to discover all available pages before exploring further.

# 概述

> 说明设备接口如何同时描述对象、操作和系统。

Function State Protocol（FSP，函数状态协议）不定义固定请求 URL、调用命令或传输协议。HTTP、CLI、MCP、RPC 和厂商 SDK 都可以承载符合 FSP 的设备接口。

FSP 规定的是接口语义：每项设备操作的说明、请求和响应都必须完整表达对象、操作和系统三个维度。

<img src="https://mintcdn.com/automationlaboratoryprotocol/Y0quWM9uEjaLp_Cb/images/fsp-protocol-architecture.png?fit=max&auto=format&n=Y0quWM9uEjaLp_Cb&q=85&s=7b318abd4f144f25c6c56cc6e8ae8af4" alt="FSP 函数状态协议架构" width="1672" height="941" data-path="images/fsp-protocol-architecture.png" />

## 三段接口模型

| 维度                                  | 请求必须说明                | 响应必须说明                |
| ----------------------------------- | --------------------- | --------------------- |
| [对象](/specification/fsp/objects)    | 目标容器、当前容器状态、样品状态和容量条件 | 容器实际状态、状态变化和对象修订号     |
| [操作](/specification/fsp/operations) | 操作标识、参数、范围、枚举和操作前置条件  | 是否执行、实际参数、执行结果和诊断     |
| [系统](/specification/fsp/system)     | 设备预期状态、安全围栏、执行模式和任务条件 | 当前设备状态、安全检查、任务进度和注意事项 |

这三段不是独立接口，而是同一操作的完整契约。设备或适配层可以采用任意传输方式，但不得省略任一维度。

## 传输无关的操作契约

```json theme={null}
{
  "device_id": "device-01",
  "operation_id": "add_liquid",
  "object": {},
  "operation": {},
  "system": {}
}
```

同一契约可映射为：

| 承载方式      | 实现形式                            |
| --------- | ------------------------------- |
| HTTP      | 请求体携带三段字段，响应体返回三段事实             |
| CLI       | 命令参数或输入文件表达三段字段，标准输出或结果文件返回三段事实 |
| MCP       | 工具输入 Schema 表达三段字段，工具结果返回三段事实   |
| RPC / SDK | 方法参数对象和返回对象表达三段字段               |

FSP 不规定这些承载方式的路径、方法名、命令名或 SDK 方法名。
