Spudex

Spudex gives Tater terminal console access with operator controls.

It is a built-in WebUI workbench and Hydra tool bridge for command-line tasks, scripts, local diagnostics, small hosted apps, and workspace automation.

Capabilities

What Spudex adds to Tater.

ChatCommandsContext

Direct Spudex chat

A console-style chat tab bypasses Hydra and talks directly to the Spudex loop, so the model can run commands, write files, inspect output, search when needed, verify work, and keep context across turns.

spudex_runspudex_taskspudex_stop

Hydra terminal tools

When enabled for a platform, Hydra can call spudex_run for one command, spudex_task for multi-step terminal work, spudex_status for live state, and spudex_stop to stop a session.

ManualBackgroundLogs

Manual sessions

Operators can run a command manually, choose background execution, watch the log stream, inspect the working folder, and stop the session from the WebUI.

ProcessesKillDetails

Tracked processes

Model-started sessions are visible in the Spudex header and details drawer so long-running tasks, small servers, and stuck commands can be reviewed or killed.

Agent LabworkspaceFiles

Agent Lab working folder

Spudex resolves its configured working folder under Agent Lab by default, with workspace as the default folder name and file helpers constrained to Agent Lab paths.

ModelsEndpointCoding

Separate model routing

Settings -> Models can define a dedicated Spudex LLM endpoint and model, letting terminal work use a coding-oriented model without changing the normal Hydra model mix.

Runtime flow

There are two ways into the same console layer.

Hydra call

A normal chat, voice, or portal turn can expose Spudex tools only when Spudex is enabled for that platform.

Direct chat

The Spudex tab can talk directly to the Spudex loop, which is useful for iterative command-line work like creating a small website and hosting it.

Operator review

The same tab shows logs, process state, file-change approvals, session details, and stop controls without needing to leave the WebUI.

Policy and settings

Operators can keep it narrow or open it up.

  • Enable or disable Spudex globally, then choose which platforms expose the Hydra-facing terminal tools.
  • Keep the policy layer on for normal use, or tune specific allowances for shells, network commands, installs, containers, host package managers, remote-control tools, host/admin commands, inline eval, and absolute executables.
  • Require approval for Hydra-triggered command runs, and separately require approval before file changes are accepted.
  • Limit max task steps, command timeout, output size, retained log entries, and retained sessions from the Spudex settings tab.
  • The Spudex chat loop receives system information so it can choose Linux, macOS, or Windows-style commands correctly.
false Enabled by default
webui Default platforms
true Policy enabled
true Approval required
false File approval required
workspace Working folder
6 Max task steps
45 Command timeout
Output cap
API surface

The WebUI talks to Spudex through local Tater routes.

GET/api/spudex

Load Spudex state

Returns settings, platform options, sessions, active counts, tracked processes, and current log metadata for the Spudex tab.

POST/api/spudex/settings

Save Spudex settings

Persists enabled state, platform toggles, policy options, approval options, working folder, task limits, timeout, and output limits.

POST/api/spudex/chat/session

Create a Spudex chat

Creates a draft chat session with the configured Agent Lab working folder so users can switch between Spudex chats.

POST/api/spudex/chat

Run a Spudex chat turn

Runs the direct Spudex loop with conversation context, command execution, file writes, web research, verification, and live session logs.

POST/api/spudex/run

Run a manual command

Starts one manual command session from the configured working folder, optionally as a background process.

GET/api/spudex/sessions/{session_id}/logs

Read session logs

Streams terminal, assistant, command, system, and verification entries for the selected session.

POST/api/spudex/sessions/{session_id}/stop

Stop a session

Requests termination for a running Spudex session or model-started process.

DELETE/api/spudex/sessions/{session_id}

Close a session

Removes a retained Spudex session from the visible session list.