Edgematic Studio 2.1.3.1
Released 2026-10-09 · Requires DevKit 2.1.3 · Neat SDK 2.1.3.x
This release adds a searchable model library with a built-in graph viewer, turns the File Explorer into a full file manager, and hands build, deploy and run to the agent.
Highlights
A model library you can search and inspect
The model catalogue now opens as a Models panel beside the chat, so a model can be read without leaving the conversation that asked about it. Your own uploads lead the list under "Your models".
- Search the catalogue by name, category or id, and filter by downloaded, verified or board-compatible. The first read still takes a few seconds; later ones take milliseconds.
- Each model carries its Model Zoo details — metric, dataset, accuracy and calibration splits, paper and source links, and quantization settings — the same facts
sima-cli modelzoo describeshows. - A model card offers three actions, each sent to the agent as a prompt: run and report KPI, create a sample project, and show in Netron. There is no Download control, because fetching a missing model is the agent's first step inside the run.
- Studio now ships the Netron model viewer. Right-click an
.onnxin the File Explorer, or ask the agent — by file name, by model name, or for the model attached to the conversation. A.tar.gzupload cannot be opened, because Netron cannot read one. - Installing an already-downloaded model no longer fails when the catalogue is unreachable or you are signed out.
- Fixed the agent ignoring a model you attached in chat and using a Model Zoo model instead. It is now given the attached file's full path, and reports the exact path it tried rather than substituting another model.
EDGEMATIC_MODEL_CATALOGUE_TTL_SECS(default 300) sets how long the catalogue is held in memory;0disables caching. If the catalogue cannot be read, the last good copy is served and marked stale.
Real file management in the File Explorer
- Create a new file or a new folder, from the toolbar or the right-click menu.
- Rename anything, and move it either by Cut and Paste or by dragging it onto a folder row — both drive the same move.
- Copy, Duplicate and Paste share one clipboard, so a single Paste moves a cut item and copies a copied one. A duplicate is named
report_1.pyrather thanreport (1).py, so the part of the name you did not choose needs no quoting in a shell. - Upload files into a project, and download them back out: right-click a file to save it, or a folder to download it as a zip. The archive is streamed as it is built, so an arbitrarily large folder works — the browser shows an indeterminate download with no progress bar.
- A file with unsaved work carries a teal dot, and the explorer highlights the file you are editing rather than the last row you clicked.
- A move that would collide with an existing name is refused — never overwriting, never quietly renaming — and the Move dialog checks the destination before you confirm. Uploading onto an existing name asks first, with Replace overwriting and Cancel doing nothing.
- Fixed files written into a folder created after the project was opened never appearing. On network and virtual mounts a periodic re-check now catches changes the filesystem fails to report:
EDGEMATIC_FILE_EVENTS_RECONCILE(auto|on|off) andEDGEMATIC_FILE_EVENTS_RECONCILE_INTERVAL_MS(default 1500). EDGEMATIC_FILE_ARCHIVE_MAX_CONCURRENT(default 4) caps concurrent folder downloads; a request past the cap is refused rather than queued. Single-file downloads are uncapped.
The agent does the work
The Studio header no longer has a Run/Stop button. You build, deploy, run and stop a project by asking the agent, and stopping is still available from the publish card in chat.
- Fixed Build & run on DevKit aborting with "config.yaml is not a recognized pipeline config" before anything ran. The header Run button and the publish card's Retry were dead in the same way.
- Fixed the agent going unresponsive after a long conversation, which only restarting Studio cleared. A conversation past the budget now drops its oldest turns instead of failing —
EDGEMATIC_CLAUDE_PROMPT_MAX_BYTES, default 256 KiB. - The agent asks before copying an example into the workspace, downloading an application or running a benchmark; and the read-only posture no longer lets it create a project without asking.
- Attach an image or a source file to a chat message, not just a model. The "+" button works while the agent is busy, and removing an attachment also removes the sentence it added to your message.
- Board power readings render as a card showing totals above a per-rail breakdown, instead of being typed out as text.
- The session panel gained a Skills section, showing which skills the agent consulted and letting you read one, and a Subagents section listing active helpers with a paged history of finished ones.
- The agent refers to a device by the name you gave it at pairing instead of its UUID, and sees a device paired mid-conversation instead of repeating "pair a device".
- Answers arrive faster and cost far fewer tokens — a question about available skills went from 3 rounds and 128,733 input tokens to 1 round and 35,570. Separately, token usage was being reported at twice the real figure for Claude Code turns, and turns that ended without a final result were recorded as free.
- Dollar cost figures no longer appear anywhere in Studio. Token counts are unaffected, and session cost moved out of the sessions rail into an on-demand Usage tab.
Robotics
- The agent can run the SiMa Neat
yolov8_segsegmentation pipeline on a paired Modalix DevKit — starting and stopping the board-side pipeline and listing its topics and nodes. - An Open in Flora action in the header shows the pipeline's live output over the detections-overlay, detections and raw-image topics. The Flora files are packaged with the release again, so it works out of the box.
- Studio finds the ROS build container on its own by reading an address the container publishes, instead of needing environment variables set before launch.
EDGEMATIC_ROS_BUILD_URLis now an override. - Starting the pipeline on a stream it was not built for is refused with a message naming both sizes and an
ffmpegcommand to re-serve the source, instead of stalling with half the nodes up. - Settings › Robotics gained a Legacy vdp-simaai-ros2 repository switch, on by default (
EDGEMATIC_ROS_LEGACY_REPO_ENABLED). Turning it off moves the deployment to the repo-independent ROS 2 path. - The installer can set up the ROS 2 SDK in the same run, via
--ros2or an "Also set up the ROS 2 SDK" checkbox. It is arm64-only; on other hosts the checkbox is shown disabled with the reason.
Install, setup and upgrade
- Fixed the install one-liner pulling the newest development build instead of the current release. Upgrading from inside Studio runs that same one-liner, so it lands on the release build too.
- Fixed the installer freezing partway through with no error when a step needed your sudo password. The prompt now appears as a password box in the Installing pane, carrying the host's own wording, and is remembered for the rest of the run.
- Fixed the installer aborting when
sima-clioffered to update itself, and a failed dependency step now prints the last 20 lines of apt's own output instead of only naming the missing packages. - Setup retries without the Model Compiler when its directory belongs to another account, rather than dead-ending on a step Studio does not need.
- Fixed Codex sign-in failing after installing Studio into a Neat SDK container that did not already carry the Codex CLI. A missing CLI is now reported as not installed, rather than as a signed-out or expired session.
EDGEMATIC_SKIP_CODEX_CLIskips the provisioning step. - Studio's agent skills now install from a public playbooks repository, so no credentials reach your container, and the upstream Neat skills install for real — six curated skills where installs previously reported success and delivered none. The override is
EDGEMATIC_SKILLS_SOURCE, withEDGEMATIC_SKILLS_URLkept as an alias. - Fixed pairing failing with "Host key verification failed." on a DevKit that was reflashed after it had been paired; deploys and runs against the re-paired board no longer hit the same error.
- Neat packages are chosen from the board's own platform version instead of one fixed version, with
EDGEMATIC_NEAT_ARTIFACT_REFSsetting the fallback chain so a released board is never handed a pre-release package. A blocked install now names both platform versions up front instead of offering a Retry that cannot work, and a failure shows the installer's own output with the password stripped out. EDGEMATIC_WEB_UI_DISTsets the folder Studio serves its web interface from, defaulting to the path the installer already uses.- Fixed every API call failing when
VITE_API_BASE_URLcarried stray whitespace or a trailing slash. - Edgematic Studio now has external developer documentation written for SiMa's Developer Center, covering install, activation and upgrade via
sima-cli, building and running a first app, and connecting a DevKit to deploy. The install page's prerequisites were corrected —sima-cli loginis not one — and it now says where to get the Installer.
Smaller fixes
- The code editor no longer floods agent-generated projects with errors for device-only libraries in Python and C++, and nothing is written into your project folder to achieve it. A typo'd import or include is still an error.
- Fixed the editor wiping the on-screen file's error markers when another document's were cleared, and the footer now says when type-checking is switched off.
- The agent's change review opens in the editor panel rather than a dialog covering it.
- Studio has a local terminal, an update notification dialog, and About has moved out of Settings into its own item in the header.
- Agent sessions can be renamed, and deleted as well as closed — including the default session, which stays gone instead of reappearing.
- Fixed a session's menu snapping shut, and a rename or close confirmation being lost, just after the sessions list appeared.
- Fixed the Workspace rename dialog silently doing nothing when the server refused the name; the reason now shows under the input.
- Fixed a floated Code Editors group docking back one slot to the right and losing its label.
- The sign-in link now sits above the login terminal with buttons to open it in a new tab and copy it, instead of scrolling out of view.
- A tail of display fixes across chat, the sessions rail, the device panel, the setup wizard and About — including a chat input that grows as text wraps, one progress mark shared by chat and rail, a device dropdown that no longer renders a blank Neat row, the Devices back button naming Studio, and About explaining "custom build" instead of showing a bare "not comparable".
Before upgrading
- Studio now targets DevKit 2.1.3. The previous release targeted 2.1.2, so update your board before installing this bundle.
- The ROS 2 pipeline tools ship off. Set
EDGEMATIC_ROS_PIPELINES_ENABLED=1before startup for the durable setting, or turn on Settings › Robotics and start a new chat — a running session never sees the flip. - A permission posture saved as read-only before this release makes
instantiate_example,download_applicationandcollect_run_metricsask rather than deny, until you re-pick the posture. - Bundles published before this release keep pointing at the old skills URL and lose their pre-installed skills when it is retired. Reinstall them:
sima-cli playbooks install gh:sima-vertical-solutions/edgematic-playbooks
Installation
Two ways in. Both install the same bundle.
The Installer walks through the whole setup — SiMa CLI, sign-in, the Neat SDK, then Studio — and sets up browser access on port 8088. Run it on the host:
curl -fsSL https://studio.dev.vdp.sima.ai/install.sh | bash
That installs the current release. To pin this one:
curl -fsSL https://studio.dev.vdp.sima.ai/install.sh | EDGEMATIC_STUDIO_REF=v2.1.3.1 bash
The Installer is published for Linux x86_64, natively or under WSL2 on Windows. On macOS, use sima-cli.
sima-cli, into an SDK container that is already running:
sima-cli neat install edgematic-studio/<arch>@v2.1.3.1
<arch>is the architecture of the SDK container Studio installs into —amd64orarm64— not the host's. On a Mac that is usuallyarm64.@maininstalls whatever the current release is, so it moves on each release;@v2.1.3.1stays on this one.--envdefaults toprodand can be omitted for a released build. Pass--env stgonly for a staging build.
Full instructions, including activation and upgrading, are in the install guide.