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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

onestep_worker_agent-0.1.4.tar.gz (47.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

onestep_worker_agent-0.1.4-py3-none-any.whl (18.3 kB view details)

Uploaded Python 3

File details

Details for the file onestep_worker_agent-0.1.4.tar.gz.

File metadata

  • Download URL: onestep_worker_agent-0.1.4.tar.gz
  • Upload date:
  • Size: 47.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for onestep_worker_agent-0.1.4.tar.gz
Algorithm Hash digest
SHA256 5afe3eb449bc75cc05d8200bfa705a0935b3dd9ce253b9e362c8c241b08f9828
MD5 cf945721836f1c63f2c70c7b55e98595
BLAKE2b-256 cfd1d9bfb05e8bcc831f065847d280f42b648b011c930eea4c4de70ea57e7d6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for onestep_worker_agent-0.1.4.tar.gz:

Publisher: work-agent.yml on mic1on/onestep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file onestep_worker_agent-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for onestep_worker_agent-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c4961c18f2d866f969b0e819a33686d5f289ec293aaba6a1b63e37c20cb2eded
MD5 fa8802a20b82c5d4049cc1ed4d8338cc
BLAKE2b-256 e7937ef25b877f067a7b8f5f2a09cf512a4618bea5999dc859bff761bfc7259f

See more details on using hashes here.

Provenance

The following attestation bundles were made for onestep_worker_agent-0.1.4-py3-none-any.whl:

Publisher: work-agent.yml on mic1on/onestep

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 files

0.1.3

2 files

0.1.2

2 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