Skip to main content

onestep-worker-agent

Execution host agent for OneStep Control Plane deployments.

Setup

onestep-agent setup

If the config file does not exist, setup prompts for the Control Plane URL, registration token, agent name, worker-agent directory, and max concurrency. It writes:

~/.onestep/worker-agent/config.json

For non-interactive deployment:

onestep-agent setup \
  --plane-url http://localhost:8000 \
  --registration-token dev-token \
  --name worker-agent \
  --max-concurrency 2 \
  --no-start

Then start the agent in the background:

onestep-agent start

For foreground debugging, use run instead:

onestep-agent run

run keeps the control loop attached to the current terminal. start launches the same control loop in the background and writes logs to <worker-agent-dir>/agent.log.

onestep-worker-agent remains available as a compatibility alias.

Use --config-dir <dir> with either command to store/read config elsewhere. Environment variables still override config-file values:

  • ONESTEP_PLANE_URL
  • ONESTEP_AGENT_REGISTRATION_TOKEN
  • ONESTEP_WORKER_AGENT_DIR
  • ONESTEP_WORKER_AGENT_NAME
  • ONESTEP_WORKER_AGENT_MAX_CONCURRENCY

The agent registers once, stores its identity under the worker-agent directory, connects to the control plane, and runs assigned workflow packages with onestep check worker.yaml followed by onestep run worker.yaml.

Runtime state is also stored under the worker-agent directory:

  • identity.json: stable worker-agent identity and connection credential.
  • deployments.json: locally running deployments, including runtime identity, package directory, entrypoint, environment, and child process PID.

On restart, the agent restores deployments whose recorded PID is still alive, reports them in the next control-plane hello/heartbeat, and can stop them by PID. Stale records whose PID no longer exists are removed during startup.

Development

From the monorepo root:

uv sync --project apps/work-agent --frozen --extra dev
uv run --project apps/work-agent pytest apps/work-agent/tests
uv run --project apps/work-agent ruff check \
  apps/work-agent/src apps/work-agent/tests apps/work-agent/scripts

The worker-agent project keeps its own pyproject.toml and uv.lock; it is not part of the root uv workspace.

End-to-End Smoke

Run a real local deployment smoke against apps/control-plane:

uv run --project apps/work-agent python apps/work-agent/scripts/run_smoke.py

Pass --control-plane-dir <path> only when testing against another checkout.

The smoke starts a temporary SQLite-backed control plane, starts this worker agent, uploads a minimal workflow package, creates a deployment, waits for the running event, stops it, and waits for stopped.

Release

The root Worker Agent workflow tests and builds changes under apps/work-agent. An annotated worker-agent-vX.Y.Z tag publishes the matching package version after the PyPI Trusted Publisher is configured for mic1on/onestep and .github/workflows/work-agent.yml. The workflow can also be run manually without publishing.

Metadata

Release files for onestep-worker-agent 0.1.4

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

Source distribution (sdist)

Source distribution for onestep-worker-agent 0.1.4
File Size Uploaded Provenance
onestep_worker_agent-0.1.4.tar.gz 47.7 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for onestep-worker-agent 0.1.4
File Interpreter ABI Platform
onestep_worker_agent-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 65.9 kB

Release files / onestep_worker_agent-0.1.4.tar.gz

Download URL onestep_worker_agent-0.1.4.tar.gz
Size 47.7 kB
Tags Source
SHA-256 checksum
How to use checksums
5afe3eb449bc75cc05d8200bfa705a0935b3dd9ce253b9e362c8c241b08f9828
BLAKE2b-256 checksum
How to use checksums
cfd1d9bfb05e8bcc831f065847d280f42b648b011c930eea4c4de70ea57e7d6b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 24, 2026.

Transparency log

Release files / onestep_worker_agent-0.1.4-py3-none-any.whl

Download URL onestep_worker_agent-0.1.4-py3-none-any.whl
Size 18.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c4961c18f2d866f969b0e819a33686d5f289ec293aaba6a1b63e37c20cb2eded
BLAKE2b-256 checksum
How to use checksums
e7937ef25b877f067a7b8f5f2a09cf512a4618bea5999dc859bff761bfc7259f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.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 Jul 24, 2026.

Transparency log

Security for onestep-worker-agent 0.1.4

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.

Select from 2 files

Attestation for onestep_worker_agent-0.1.4.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 Jul 24, 2026.

Transparency log

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

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