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.1

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.1
File Size Uploaded
smithy_agent-0.3.1.tar.gz 31.0 kB Details

Built distribution (wheel)

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

Total release size: 58.4 kB

Release files / smithy_agent-0.3.1.tar.gz

Download URL smithy_agent-0.3.1.tar.gz
Size 31.0 kB
Tags Source
SHA-256 checksum
How to use checksums
de40885dc5683bbbe02b2d51ee3258bab4e01be8c198b9a19d13c4e173524b74
BLAKE2b-256 checksum
How to use checksums
2661ac3e3644f6e74998b893f7e21b6a36327b54ce82d0ffaabd84833f5eeef0
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 10, 2026.

Transparency log

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

Download URL smithy_agent-0.3.1-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
07899d10c619c3f37244d1f9df0ef7a22aa51e6cf048b19b70e4d959eb855141
BLAKE2b-256 checksum
How to use checksums
f5dede038f644236419ec4e18b9aa4fb2bc49dc8fa5e79a2db0b8cfa879c9c83
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 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.2

2 release files

This release

0.3.1 This release

2 release files

0.3.0

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