Skip to content

AGENTWORKSHOP · INDUSTRIAL AGENT RUNTIME

Agent teams×the line×the twin

A configuration-driven industrial agent runtime: agent teams read real telemetry and write setpoints through human approval — every event streaming live into a 3D twin. Protocol-real, and assertion-reproducible.

WHAT是什么A supervisory runtime, SCADA-adjacent · second-level soft real-time
FOR WHOM给谁用Line engineers · process & ops · industrial AI research & teaching · platform builders
WHY凭什么值Real read/write on 6 protocols (incl. serial plugin) · interlock→approval→readback, audited · 14 engines, one contract
FIG.00 · THE DATA PIPELINE — THE PRODUCT IS THIS CHAIN (SCHEMATIC)SAMPLING → STORAGE → STREAM → AGENT
Field devicesPLC / SENSORS
Drivers ×6MODBUS TCP/RTU · OPC UA · MQTT · HTTP · SERIAL (plugin)
QueueINPROC / MQTT · OFFLINE BUFFER
TSDBSQLITE / TIMESCALE
WS HUBAEP v1 · SEQ RESUME
Agent / TwinSAME EVENT STREAM
6field protocols
4entry points
14engines
99runtime settings
124*acceptance checks
7task states

* Full closed-loop E2E on a real protocol stack (124 PASS / 0 FAIL, 2026-09-12, v0.7.36). The rest are countable facts: 6 driver classes (5 built-in + the serial-bridge plugin) / 4 entry points (WS · MCP · A2A · REST) / 14 harnesses (agents/registry.ts) / 99 settings in 16 groups (aw config list) / 7 task states.

Version v0.7.41License PolyForm Noncommercial 1.0.0Runtime Node ≥ 23.4.0 · Nuxt 4 · Vue 3.5 · TypeScript 5.7Docs 简体中文 / English
01

Interface

INTERFACE

Every screen below was recorded from a running instance, not a render. The three share one event bus — a sample written by a DAQ channel is at once the twin's input, a point on the trend curve, and the row an agent reads.

FIG.00-BLIVE DEMO · 4'11" · VOICE-OVER · VOICE-OVERRECORDED · NO CUTS

Watch one video, see the whole system. Dashboard → live DAQ (six protocols) → governed write & read-back (real Modbus PLC) → serial protocol plugin (real COM-port probe) → agent team execution → closed-loop trend (PV tracks the setpoint) → 3D digital-twin orbit. English captions, no cuts, nothing faked.

FIG.01DIGITAL TWIN · LINE OVERVIEWTHREE.JS · LIVE EVENT STREAM

Digital twin control room — line equipment, DAQ channels, trends and device monitoring on one screen

The twin is a render of the same event bus. Equipment ledger, DAQ channels, live trends, alarm strip and device health on one screen; the real render readout sits top-right (129 FPS) and the quality ladder (DPR / shadows / bloom) tracks a wall-clock frame budget, so mid-range machines stay honest too.

FIG.02DAQ CONSOLE · ACQUISITION51 NODES · WS FAN-OUT

DAQ centre — gauge strip, per-node ledger, sampling period and WS fan-out state

The acquisition chain, end to end. Under the gauge strip (nodes / published / consumed / lost / stored) sits the per-node ledger: live value, sampling period, WS fan-out state, driver type — and for control nodes the SET / ACT pair read back through the very calibration path used to write.

FIG.03LINE OPERATIONS · LINE OPSLINES · PRODUCTS · RECIPES

Line operations — line cards, recipe binding, control-node counts and start entry

Starting a line = gating acquisition with its recipe window. From then on every sample carries product / recipe / batch; control nodes only declare classification parameters and process ranges — the actual write still passes interlock and approval.

02

Architecture

ARCHITECTURE

One manager behind every door: four entry points converge into one runtime; the industrial stack and the agent runtime share the same event bus. Every cell below is a real module you can open in the repository.

EntryENTRY
WSAEP v1 stream · seq resume
MCP~25 in-process tools
A2AJSON-RPC 2.0 + AgentCard
REST/api/workshop/**
RuntimeRUNTIME
AgentChannelManagerchannel & instance orchestration
SchedulerLooplead supervision · rule fallback
TaskEngine7-state task machine
AgentMemoryFTS5 + optional vectors
IndustrialINDUSTRIAL
DAQ gatewayper-node edge runtimes
DCW write controlinterlock → HITL → readback
Queueinproc / MQTT · offline buffer
TSDBSQLite / Timescale
EnginesHARNESS ×14
mockin-process · scripted
claudein-process · Agent SDK
PersistentPERSISTENT · 6
ompstdio RPC
codexapp-server JSON-RPC
dshACP v1
qwenACP (legacy Zed)
hermesACP v1
opencodeserve + HTTP/SSE
Headless CLIHEADLESS · 6
geministream-json
copilotJSONL
cursorstream-json
crushrun -q
goosestream-json
pi-p --mode json

Sampling: driver → queue → consumer three-way fan-out (WS push · TSDB write · twin writeback)  |   Write: interlock → approval → PLC write → readback  |  Storage: SQLite (channels · agents · tasks · messages · events)

03

Design principles

DESIGN PRINCIPLES
01

Server-authoritative

The UI renders facts; it is not their source. Nodes, tasks and grants live server-side — as many DAQ points as the server holds, that is exactly what the screen shows.

02

Enforced in the data plane

Line permissions (none / read-only / operate) are enforced in the data plane: unauthorized line data never leaves the server, rather than being hidden by the frontend.

03

Honest observability

Drop counters, loss metrics and pipeline watermarks are exposed as they are; the ops log attributes every action to "Channel/Member". Even window.__townStats refuses to lie about rendering.

04

Config-driven

config.yml < runtime-settings < env — one descriptor registry drives both the CLI and the Settings UI. 99 settings across 16 groups (32 live / 67 restart), zero hardcoded defaults.

05

Protocol-real verification

E2E suites run on a real Modbus/OPC UA/MQTT/HTTP stack: real PLC writes, real readbacks, real approvals — not mock self-certification. 124 acceptance assertions pass at current head (156 was the v0.7.20 baseline).

06

Human in the loop

Agents propose, humans approve, the system executes, everything is audited. Manual-mode writes pend for review; approving performs a real, readback-verified PLC write.

04

Capabilities

CAPABILITIES
PROTOCOL

Six-protocol DAQ & control

Modbus TCP/RTU · OPC UA · MQTT · HTTP in both directions + the built-in serial plugin (direct RS-232/485) — connection pools, classified errors, per-driver connection tests. Protocols are plugins: newly injected protocols appear in the frontend with zero form changes.

R/W

Read-write control nodes

Every control node reads its PLC value back through the same calibration path it writes with — SET vs ACT side by side, passive and never interlocked.

HITL

Human-approved writes

Safe-range ∩ recipe-window interlock → approval → PLC write → readback → signed history; every decision audited.

RCT

Recipe versioning

Parameter changes versioned with attribution (source + operator + reason); roll back to any revision or last-good batch, non-destructively.

HRN

Multi-harness teams

Fourteen engines behind one contract, in three transport classes (in-process / persistent session / headless CLI); each channel picks harness → provider → model, with availability probing and dispatch-time checks.

TEAM

Team-scoped plugins

Each channel keeps its own plugin switch set — a disabled plugin's tools never enter that team; plugins themselves are hot-managed.

PERM

Line-level permissions

Three-state grants enforced in the data plane; agent bindings validate line grants too.

OPS

Full-operation audit log

User / agent / system actions attributed to "Channel/Member", queryable by line, recipe, source and kind — streamed live.

MEM

Persistent memory

Private + shared domains, FTS5 with CJK segmentation, optional vector hybrid recall; team chronicle and idle reflections accrue.

05

Where it fits

APPLICATIONS
S.1

Line supervision & twin ops

Multi-line equipment, DAQ channels, alarms and trends on one 3D overview — second-level soft real-time, reachable from any browser.

S.2

Agent-assisted optimization

The controlled loop: analyze trends → propose a setpoint → human approval → write & readback → numeric verdict. Auditable and reversible at every step.

S.3

Industrial AI research & teaching

Six-protocol acquisition/write-control (serial as a plugin) and multi-engine orchestration out of the box — an experiment bed with protocol-real verification.

S.4

Platform & ecosystem

Typed REST SDK plus plugins that register drivers, processors and agent tools; four entry points open the platform to external systems.

SCOPE

AgentWorkShop is a supervisory (SCADA-adjacent) layer running at second-level soft real-time. It is not a hard real-time controller: any <10 ms critical loop (interlocks, safety, servo) must live inside the PLC — setpoints written here are advisory and plant-side logic may veto.

06

Up and running in a minute

QUICK START
bash
# install globally, run from any directory (the published tarball ships a prebuilt .output/)
npm i -g agentworkshop
aw start            # → http://localhost:3001 · config root ~/.AgentWorkShop

Go deeper: your first agent × line session (the whole chain in ~2 minutes) · SDK guide · plugin guide · aw CLI manual

Put an agent team on a real production line

14 engines, 6 field protocols, 99 runtime settings and 124 re-runnable acceptance assertions are already in the repository. Supervisory by design, second-level soft real-time; protocol-real, assertion-reproducible.

依据 PolyForm Noncommercial 1.0.0 开源 · Source-available, noncommercial