Skip to main content

smithy-agent

Unattended worker that runs on a Windows machine, registers itself with a smithy-cloud orchestrator, polls it for commands, and executes deployed process bundles (Python code) in isolated per-process venvs.

One-line install (Windows)

Regular PowerShell (it self-elevates and installs Python 3.12 via winget if missing):

irm https://raw.githubusercontent.com/as-kurosss/smithy-agent/master/install-agent.ps1 | iex

With parameters:

& ([scriptblock]::Create((irm https://raw.githubusercontent.com/as-kurosss/smithy-agent/master/install-agent.ps1))) `
    -Orchestrator https://cloud.example.com -Name prod-1 -JoinToken <TOKEN>

Manual install

pip install smithy-agent

Quick start (manual, foreground)

pip install smithy-agent
smithy-agent --orchestrator http://orch-host:8000 --name my-agent \
    --url http://this-machine:8001

--url must be the address at which the orchestrator can reach this machine (the orchestrator pushes commands and files to it).

Unattended installation (recommended)

UI automation needs an interactive desktop, so the agent runs as a scheduled task inside a user's log-on session — not as a session-0 service. Use a dedicated local user with auto-logon for production agents.

# one command: writes config + creates the scheduled task
smithy-agent-service install \
    --orchestrator http://orch-host:8000 \
    --name prod-1 \
    --join-token <AGENT_JOIN_TOKEN> \
    --user "WORKGROUP\\rpa-bot"     # optional, default: current user

smithy-agent-service start        # launch now
smithy-agent-service status       # task state
smithy-agent-service stop | uninstall

What you get:

  • task trigger at log on of the automation user → agent starts with the desktop, no manual steps after reboots;
  • Task Scheduler restart policy (up to 999 retries, 1-minute interval) and, belt and braces, a crash-restart loop inside the agent with exponential backoff (5 s → 60 s, reset after a stable 5-minute run);
  • config at %LOCALAPPDATA%\smithy_agent\config.json, rolling log at %LOCALAPPDATA%\smithy_agent\agent.log.

Registration honours AGENT_JOIN_TOKEN (pre-shared in the orchestrator settings) or an admin JWT — whichever you pass with --join-token.

Privacy note: failure screenshots

On a failed run the agent (with the [screenshot] extra installed) captures the entire virtual screen — all monitors and every visible window, not just the automated app — and uploads it to the orchestrator. Keep this in mind on shared/multi-user machines: anything on screen at the moment of failure (other apps, browser sessions, passwords) ends up in the cloud.

Deploy with the plain smithy-agent package if screenshots are unwanted; the agent runs fine without the extra and simply skips capture.

Metadata

Release files for smithy-agent 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for smithy-agent 0.3.0
File Size Uploaded
smithy_agent-0.3.0.tar.gz 25.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smithy-agent 0.3.0
File Interpreter ABI Platform
smithy_agent-0.3.0-py3-none-any.whl Python 3 none any Details

Total release size: 49.1 kB

Release files / smithy_agent-0.3.0.tar.gz

Download URL smithy_agent-0.3.0.tar.gz
Size 25.4 kB
Tags Source
SHA-256 checksum
How to use checksums
280ef0bf6af4d52cfb7a44243b541268ee8cbe560bb478938d49216a90de4ebf
BLAKE2b-256 checksum
How to use checksums
cf59615c891cfd1491f9bd957a6f66b0819b72119eb32ea0a98f690c47b2c9c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.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.

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 Sep 9, 2026.

Transparency log

Release files / smithy_agent-0.3.0-py3-none-any.whl

Download URL smithy_agent-0.3.0-py3-none-any.whl
Size 23.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
9e8f36ffdd815d1e8a159ff37d89384d1c6accda7e0911a13fa46478d8c404d1
BLAKE2b-256 checksum
How to use checksums
830c4b4b784e499e3c9ffd4b009baccde23db1e4dfe10e25ea280de5f8341c9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.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.

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 Sep 9, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.2

2 release files

0.3.1

2 release files

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page