Appearance
instrument
路径:packages/shared/instrument
包名:@xichen-full-stack/instrument
Desktop 仪器设备可选插件 调用本地 C# device-agent 的 TypeScript 客户端。Web / Mobile 不使用此包。
类型
与 C# DeviceAgent.Core 模型对齐,主要包括:
| 类型 | 说明 |
|---|---|
DeviceState | Disconnected / Connecting / Ready / Busy / Error |
DeviceDescriptor | 设备 id、name、driver |
DeviceStatus | 状态 + telemetry |
CommandRequest / CommandResult | 命令与结果 |
AgentHealth | Agent 健康信息 |
DEFAULT_DEVICE_AGENT_URL | 默认 http://127.0.0.1:19721 |
使用
typescript
import { createDeviceAgentClient, DEFAULT_DEVICE_AGENT_URL } from '@xichen-full-stack/instrument'
const client = createDeviceAgentClient({
baseURL: import.meta.env.VITE_DEVICE_AGENT_URL ?? DEFAULT_DEVICE_AGENT_URL,
})
const health = await client.health()
const devices = await client.listDevices()
await client.connect('mock-pump-1', { connectionString: 'mock://local' })
const status = await client.getStatus('mock-pump-1')
const result = await client.execute('mock-pump-1', { command: 'ping' })
await client.disconnect('mock-pump-1')失败时抛出 InstrumentError(含 HTTP 状态与业务 code)。
构建
bash
pnpm --filter @xichen-full-stack/instrument buildDesktop dev 可通过 Vite alias 直引源码;发布前建议 build 出 dist。