Skip to content

instrument

路径:packages/shared/instrument
包名:@xichen-full-stack/instrument

Desktop 仪器设备可选插件 调用本地 C# device-agent 的 TypeScript 客户端。Web / Mobile 不使用此包。

类型

与 C# DeviceAgent.Core 模型对齐,主要包括:

类型说明
DeviceStateDisconnected / Connecting / Ready / Busy / Error
DeviceDescriptor设备 id、name、driver
DeviceStatus状态 + telemetry
CommandRequest / CommandResult命令与结果
AgentHealthAgent 健康信息
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 build

Desktop dev 可通过 Vite alias 直引源码;发布前建议 build 出 dist

相关文档

Xichen Full Stack 内部文档