DevAgent
AI-assisted industrial HMI engineering for Ignition Perspective
DevAgent turns customer plant information into reviewable 2D/3D HMI concepts, validated industrial engineering models, and reproducible native Ignition Perspective candidates.
Quick start · Architecture · Creator workflow · Ignition handoff · Verification
Current scope: engineering and isolated-lab candidates. Authenticated Gateway import, native Perspective runtime FAT, real OPC UA/PLC mapping validation, and production release have not been qualified. Production is HOLD.
Capabilities
| Area | What it provides |
|---|---|
| AI-first Creator | Connect your own supported cloud or local model (BYOM); review proposals before applying them. |
| Engineering validation | Check equipment identities, signal roles, topology, provenance, and requirements using deterministic rules. |
| 2D + 3D design | Explore Original V8 2D Flow and Original R9 Four Spirals demos, or generate a customer-specific preview. |
| Equipment diagnostics | Inspect declared motor, VFD, photoeye, fault, quality, and timestamp fields. Missing mappings remain explicit. |
| Ignition handoff | Generate a guarded, read-only native Perspective project candidate from a genuine authorized reference export. |
| Simulation + FAT | Run isolated synthetic OPC UA tests and generate traceable engineering evidence. |
Architecture
CUSTOMER INPUTS
Requirements | Equipment | Connections | PLC / tag exports
|
v
BYOM AI AGENT
Proposal + review
|
v
ENGINEERING VALIDATION
Equipment | Signals | Topology | Safety
|
+--------------+---------------+
| | |
v v v
2D HMI 3D HMI Native Ignition
preview preview project candidate
| | |
+--------------+---------------+
|
v
ISOLATED LAB + OFFLINE FAT
|
Gateway import
and runtime tests
[NOT YET QUALIFIED]
|
v
Real OPC UA source validation
Independent FAT / site approval
|
v
APPROVED PRODUCTION RELEASE
[HOLD]
Engineering rule: AI proposes; deterministic checks validate; simulation and a real test Gateway supply separate evidence; an authorized engineer approves. A synthetic PASS cannot establish physical PLC correctness.
Quick start
Install and run (Ubuntu / Linux)
Requires Python 3.13. Install the published package from PyPI, then launch the local Creator:
python3.13 -m pip install --no-cache-dir --index-url https://pypi.org/simple/ devagent-ignition==0.1.1
devagent start
Open http://127.0.0.1:8895/ in your browser. No GitHub clone is required. If port 8895 is in use, run devagent start --port 8962 and open http://127.0.0.1:8962/.
If devagent is not found, make sure the Python 3.13 environment you installed into is activated and its bin directory is on your PATH. Use a dedicated virtual environment if you also have devagent-ai installed, since both packages provide a devagent executable.
Develop or verify from source
Requirements: Linux/Ubuntu, Git, and Python 3.13. Optional browser and OPC UA tests have additional dependencies.
git clone https://github.com/tomha85/devagent-ignition.git
cd devagent-ignition
sha256sum -c SHA256SUMS.txt
python3 -m unittest discover -s tests -q
python3 devagent_hmi.py preflight
# Start the local HMI Creator on port 8895.
./start.sh
Open http://127.0.0.1:8895/ on the same computer.
Choose another local port if 8895 is occupied:
DEVAGENT_SPATIAL_PORT=8962 ./start.sh
The local Creator does not automatically connect to an Ignition Gateway or modify PLCs. Use python3 devagent_hmi.py --help to explore CLI commands.
Creator workflow
- Connect AI (optional). Choose your own supported provider/model and test the connection. Review all generated drafts; AI responses are not verified engineering facts.
- Describe the site. Enter plant requirements and provide available equipment, tag, and connection files. See sample customer inputs.
- Choose a starting point. Select 2D Flow, 3D Flow, or New Project. The Original V8/R9 options are source-backed demos, not a representation of your plant.
- Analyze and validate. Resolve contract errors and review any inferred or missing equipment and signal relationships.
- Generate a preview. Navigate floors, select equipment, and inspect only available diagnostics.
- Review evidence. Keep synthetic testing separate from real PLC data and qualify the application in an isolated Gateway before production consideration.
Validate a model without launching the UI:
python3 devagent_hmi.py validate --model examples/warehouse.json
Other included samples: single floor, warehouse, and water treatment.
BYOM and data handling
DevAgent supports multiple cloud and local provider adapters, including compatible Ollama/vLLM endpoints. A successful model connection test establishes connectivity, not engineering correctness. Follow your organization's rules before sending plant documents, tag exports, or operational data to an external provider.
See AI provider setup for connection details and security limitations.
Native Ignition handoff
The Native Ignition Perspective compiler generates an offline, read-only Perspective candidate. Not implemented: qualified one-click customer deployment and automatic creation of real OPC UA connections and Gateway tag providers. Gateway import and runtime behavior still require isolated qualification.
The engineering handoff is:
- Obtain an authorized, genuine Ignition Perspective project export for the template envelope.
- Validate the customer model and prepare an engineer-reviewed, lab-scoped binding manifest.
- Compile and verify the native candidate against the reference ZIP and source hashes.
- Import only into an approved, backed-up isolated test Gateway.
- Verify actual Perspective rendering, floor/equipment interactions, tag quality, and OPC-to-HMI FAT.
- Validate real source identity and site behavior independently before requesting production approval.
Create a pending binding manifest (tag paths are intentionally empty):
python3 devagent_hmi.py v07-binding-skeleton \
--model examples/warehouse.json \
--out /tmp/devagent-pending-lab-bindings.json
The manifest is not preapproved. An engineer must review its model identity, decisions, and any lab paths before compilation. Discover the exact compiler flags with:
python3 devagent_hmi.py v083-native-compile --help
python3 devagent_hmi.py v083-native-verify --help
Never infer OPC UA NodeIds, motor/VFD associations, PE IN/OUT semantics, speeds, fault states, or operating quality from a demo.
Read the native operator/deployment notes and native binding/FAT guide.
Verification
sha256sum -c SHA256SUMS.txt
python3 -m compileall -q devagent_spatial devagent_hmi.py tests
python3 -m unittest discover -s tests -q
python3 devagent_hmi.py preflight
GitHub Actions: .github/workflows/offline-ci.yml. Its CI jobs cover offline tests, static checks, a browser workflow, and isolated synthetic OPC UA tests. CI PASS is not a live Gateway FAT or site-acceptance result.
Current qualification boundaries
| Gate | State |
|---|---|
| Creator 2D/3D reference previews | Implemented; local/browser validation |
| Native Perspective candidate and offline vendor parsing | Offline PASS |
| Isolated synthetic OPC UA protocol checks | Lab-only evidence |
| Authenticated Gateway project import and native rendering | HOLD |
| Gateway-connected OPC -> tag -> HMI FAT | HOLD |
| Real customer PLC mappings and SAT | HOLD |
| Production release | HOLD |
Unavailable values must show NOT MAPPED, UNKNOWN, or a clear BAD/STALE quality indication, not fabricated operating states. START/STOP/RESET actions remain disabled in the unqualified native operator candidate.
Repository guide
| Path | Purpose |
|---|---|
devagent_hmi.py, start.sh |
CLI and local Creator entry points |
devagent_spatial/ |
Models, validators, native compiler, simulator, FAT infrastructure |
assets/ |
Creator UI and HMI visualization |
reference/ |
Preserved Original V8 and R9 reference sources |
examples/, templates/, sample_customer_inputs/ |
Starter plant inputs |
tests/, scripts/ |
Regression and engineering verification |
.github/workflows/ |
Offline CI automation |
For engineering detail, see the qualification record, native import milestone, and production acceptance gates. Historical milestones remain in separate documentation; this README is the starting point.
DevAgent's purpose: faster, more repeatable industrial HMI engineering with explicit signal provenance, deterministic verification, and evidence-based commissioning.
Metadata
Release files for devagent-ignition 0.1.14
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| devagent_ignition-0.1.14.tar.gz | 838.1 kB | With provenance | Details for devagent_ignition-0.1.14.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| devagent_ignition-0.1.14-py3-none-any.whl | Python 3 | none | any | Details for devagent_ignition-0.1.14-py3-none-any.whl |
Total release size: 1.8 MB
Release files / devagent_ignition-0.1.14.tar.gz
| Download URL | devagent_ignition-0.1.14.tar.gz |
|---|---|
| Size | 838.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5d87a672284adce4468d0522c82a31db75ac5c34afdc06c0c3a164ef3b3ee341
|
|
BLAKE2b-256 checksum How to use checksums |
5c812e609d1ba68a003238d6370d07b81dfce14a9ec9965a319836a24ccad622
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logRelease files / devagent_ignition-0.1.14-py3-none-any.whl
| Download URL | devagent_ignition-0.1.14-py3-none-any.whl |
|---|---|
| Size | 933.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0d4b7d1a3a83daa0bbe937785e79f05e35d4945a68d2d16262614b5cdf2e1a02
|
|
BLAKE2b-256 checksum How to use checksums |
c474bd979e22f6e6224af53e09492f70ecfeb3a096b8d28f22bcad2d9b34a030
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logSecurity for devagent-ignition 0.1.14
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for devagent_ignition-0.1.14.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 29, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.