Skip to main content

blobhub-worker

External worker process that runs coding agents (Claude Code, Codex) against BlobHub session threads. It connects to api.blobhub.io over HTTPS + WebSocket, attaches to one or more sessions, and drives the configured agent through each thread's conversation — posting agent emissions back as thread items in real time.

Install

pipx install blobhub-worker

Requires Python 3.12+.

Use

blobhub-worker login                     # stores a profile in ~/.blobhub/credentials.yaml
blobhub-worker start                     # run headless (structured JSON logs, for systemd/containers)
blobhub-worker start --tui               # run with the live Textual dashboard
blobhub-worker whoami                    # which credential a start would use, and where its state lives
blobhub-worker profile ls                # stored profiles, annotated with this machine's worker state

Profiles

A profile is a named API key plus the API URL it belongs to, kept in ~/.blobhub/credentials.yaml — the same file blobhub-cli reads and writes, so one login serves both. Select one with --profile, BLOBHUB_PROFILE, or the file's default:; --api-key / BLOBHUB_API_KEY and --api-url / BLOBHUB_API_URL outrank it, exactly as in the CLI.

Each profile also owns a state tree — its own config.yaml, identity.yaml, jobs/ cursors, logs and single-instance lock — so several workers run side by side on one machine, one per profile:

blobhub-worker start --profile prod &
blobhub-worker start --profile staging &     # different tree, different lock, different sessions

A tree is named after wherever its key came from: ~/.blobhub-worker/profiles/<name>/ for a stored profile, ~/.blobhub-worker/keys/<digest>/ for a key supplied by flag or environment. Two credentials therefore never share one. Run blobhub-worker whoami to see which tree a given invocation resolves to — you need that path to author its config.yaml, and a key-derived one cannot be guessed.

Upgrading from a pre-profiles install migrates automatically on first login or start: the flat ~/.blobhub-worker/ files move into profiles/default/ and the credential moves into the shared store.

Configure the sections you want the worker to attach to in that tree's config.yaml. See the documentation for the config schema and the per-section / per-thread state files written alongside it.

The worker executes coding agents per thread metadata; see AGENTS.md "Trust boundary" for the autonomous/approval security model and the agents config keys (executable, model, effort, permissions).

What it does

  • Attaches to BlobHub sessions, claiming a per-session worker object owned by your user.
  • Polls session events; for each thread it discovers, drives a turn loop that coalesces user messages, runs one agent turn at a time, and posts the agent's emissions back as thread items.
  • Supports interactive prompts: when the agent asks a question, the worker posts a pending_prompt item; the user replies with plain text and the worker resolves the answer to the agent.
  • Resumes cleanly after a worker restart (replays missed items, cancels stale prompts).

License

MIT. See LICENSE.

Download files

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

Source Distribution

blobhub_worker-0.5.0.tar.gz (98.3 kB view details)

Uploaded Source

Built Distribution

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

blobhub_worker-0.5.0-py3-none-any.whl (131.1 kB view details)

Uploaded Python 3

File details

Details for the file blobhub_worker-0.5.0.tar.gz.

File metadata

  • Download URL: blobhub_worker-0.5.0.tar.gz
  • Upload date:
  • Size: 98.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for blobhub_worker-0.5.0.tar.gz
Algorithm Hash digest
SHA256 9ae1e84709abbeabb2bc9f97c05c8d63d25acc7a712edeb53ab37ee2c0742fab
MD5 4bf676f014c7814d084cc7fc3e48a9b3
BLAKE2b-256 639f07581ad6d4ca22cff705fd280234b82bae9e7b1061d7f1d6544921d3c5e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for blobhub_worker-0.5.0.tar.gz:

Publisher: publish.yml on blobhubio/blobhub-worker

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

File details

Details for the file blobhub_worker-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: blobhub_worker-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 131.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for blobhub_worker-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cc63719040e2c25a4e6afc30bbcacaf81880bed86ada804bb9874a62271f07c6
MD5 fbbc6414e5b4514b0495a34d206db571
BLAKE2b-256 d298a73b313f851ea71724c4150f093dae1f68c4828b05004cf63c9c1ef9c705

See more details on using hashes here.

Provenance

The following attestation bundles were made for blobhub_worker-0.5.0-py3-none-any.whl:

Publisher: publish.yml on blobhubio/blobhub-worker

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

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page