AutoSwarm-Shadow-Adapter is a free, open source orchestration & scheduling project written in Python and released under MIT. It has 2,190 GitHub stars, 2 forks and 1 open issues, and was last pushed 24 hours ago. On this registry it ranks #55 of 128 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available.

What is AutoSwarm-Shadow-Adapter?

AutoSwarm-Shadow-Adapter is an MIT-licensed Python adapter that adds non-blocking human-in-the-loop review and bring-your-own-compute workers to OpenOPC's AutoSwarm agentic DAG runtime, for teams whose AI-agent workflows need real people or remote machines as first-class participants.

What it is

AutoSwarm-Shadow-Adapter is a high-concurrency Temporal Bridge for the AutoSwarm ecosystem. It runs as an external adapter around OpenOPC's agentic DAG runtime and intercepts tasks that require human sign-off, called Carbon in the README, or remote GPU execution, called Silicon BYOC. Rather than holding an engine thread while a person reviews a deliverable, it parks the task record, returns AWAITING_HUMAN, and releases the thread so other DAG branches continue. A FastAPI backend, a React 19 and Tailwind review portal, JWT and bcrypt authentication, and a SQLite WAL store support the review queue and persistence.

The concrete problem is the default handling of human-backed task seats in AutoSwarm. The README contrasts its approach with engine blockage until a 900-second timeout and a timeout failure, state loss on restart, local-user-only access, text-only review, a basic engine log, and manual intervention for rework. The adapter replaces that pattern for human-backed tasks with a non-blocking queue, persisted task records, multi-user access control, file attachments up to 5 files and 50MB payload, an immutable timeline with user attribution, and a built-in rework_requested state transition. It is aimed at AutoSwarm deployments that would otherwise stall parallel agent work whenever a role seat needs a human or a remote machine.

Key capabilities

  • A non-blocking Temporal Bridge intercepts AutoSwarm task execution, returns AWAITING_HUMAN, and releases the engine thread so parallel DAG branches are not stalled.
  • Parked task records persist in an isolated SQLite WAL database, which the README presents as restart-resilient.
  • A FastAPI backend and a React 19 plus Tailwind portal provide the review interface, with JWT and bcrypt authentication and a multi-user queue.
  • Human reviewers can attach up to 5 files with a 50MB payload and leave an immutable timeline with user attribution.
  • The adapter implements a rework_requested state transition for iterative rework and writes Phase.APPROVED to the store so native phase hooks can unblock the DAG node.
  • The shadow-worker command attaches a worker with --server-url, --username, --password, --role, --provider, and --model; README examples use Ollama with llama3.3:70b for senior_developer and Enterprise Claude API for legal_counsel.
  • The BYOC Silicon path treats remote GPU execution as a first-class worker, while the Carbon path handles human sign-off.

Who uses it and how

  • Teams running AutoSwarm company-mode sessions such as opc chat --mode company "Build feature X" use it when the Manager AI assigns work to role seats like senior_developer and legal_counsel and those seats need human or remote-PC execution.
  • An enterprise can run a remote server with a legal_counsel worker on the Enterprise Claude API while a separate local node runs senior_developer on Ollama at localhost:11434, as shown in the README examples.
  • Multi-user operations use the JWT-authenticated queue rather than the local-user-only access described in the comparison table.
  • Compliance-oriented workflows use the immutable audit timeline, user attribution, and file attachments to record review decisions.
  • High-concurrency agent DAGs use the adapter to avoid engine timeouts while human sign-off and remote GPU work happen outside the engine thread.

Getting started

The package is published on PyPI as AutoSwarm-shadow-adapter, and the README shows attaching a worker with the shadow-worker command using --server-url, --username, --password, --role, --provider, and --model.

How it compares

No list of paid products that this project replaces is provided in the facts, and no direct comparable tool is named. It therefore stands alone in this registry as an adapter specifically for the OpenOPC and AutoSwarm agentic DAG runtime.

When to use it — and when not

Use it when human sign-off or remote GPU execution must not block AutoSwarm DAGs and when a self-hosted FastAPI service, React portal, and SQLite WAL store fit the operational model. A self-hoster must run those components and manage JWT and bcrypt authentication plus worker credentials. Teams that do not want to operate that stack, or that need to validate a v0.1.0 release whose README excerpt is truncated before adoption, should not pick it without further review.

project readme (upstream, from github) — read inline

AutoSwarm-Shadow-Adapter

Non-Blocking Human-in-the-Loop (HITL) & BYOC Infrastructure for AutoSwarm

AI Agent Employees For Your Compan -- The Carbon-Silicon Continuum: Real Humans & Remote PCs as First-Class AutoSwarm Employees

Python 3.10+ PyPI Package MIT License

FastAPI React 19 SQLite WAL JWT Auth Zero Core Modifications AutoSwarm Ecosystem


Built for AutoSwarm | Zero Core Modifications | Production Release v0.1.0


What is AutoSwarm-Shadow-Adapter?

AutoSwarm-shadow-adapter is a high-concurrency Temporal Bridge for AutoSwarm. It allows AutoSwarm agentic DAGs to pause non-blockingly when a role requires human sign-off (Carbon) or remote GPU execution (Silicon BYOC), without causing engine timeouts or stalling parallel branches.

  1. Non-Blocking Intercept: Intercepts AutoSwarm task execution in 900s** | Engine crash (timeout failure) | **Zero timeouts (unlimited duration)** | | **System restart resilience** | State lost | **Persisted in isolated SQLite WAL DB** | | **Multi-user access control** | Local user only | **Multi-user queue with JWT auth** | | **File attachments** | Text only | **Up to 5 files, 50MB payload** | | **Audit log compliance** | Basic engine log | **Immutable timeline with user attribution** | | **Iterative rework loop** | Manual intervention | **Built-inrework_requested` state transition** |

How It Works

flowchart LR
    subgraph Engine ["AutoSwarm Agentic DAG Engine"]
        DAG["Multi-Agent DAG Execution\n(Parallel AI Tasks)"]
    end

    subgraph Adapter ["Shadow Mode Plugin"]
        SA["ShadowModeAdapter\n(Non-blocking Intercept < 50ms)"]
    end

    subgraph Store ["Isolated Persistence"]
        DB[("SQLite WAL Store\nshadow_tasks.db")]
    end

    subgraph Portal ["Human Operations"]
        ReactApp["React 19 Human Portal\n(JWT Authenticated)"]
        HumanReviewer["Human Contractor / Reviewer"]
    end

    subgraph ResumeLayer ["DAG Unblock & Resume"]
        OPCStore[("AutoSwarm Engine Store\nstore.db (WAL Mode)")]
        UnblockNode(["Downstream DAG Nodes\nResume Automatically"])
    end

    DAG -->|1. Intercept human-backed task| SA
    SA -->|2. Park task record| DB
    SA -->|3. Return AWAITING_HUMAN and release thread| DAG
    DB <-->|4. Query pending queue & Submit deliverable| ReactApp
    HumanReviewer <-->|5. Review brief & attach files| ReactApp
    ReactApp -->|6. Submit deliverable via REST API| SA
    SA -->|7. Write Phase.APPROVED to store| OPCStore
    OPCStore -->|8. Native Phase Hooks Trigger| UnblockNode

User Workflow & Execution Pipeline

  1. Task Decomposing & Assignment: When a user launches an AutoSwarm session (e.g. opc chat --mode company "Build feature X"), AutoSwarm's Manager AI creates work items and assigns them to configured role seats (e.g., senior_developer, legal_counsel).
  2. **Shadow Intercept ( Local Ollama)
export OLLAMA_HOST="http://localhost:11434"
shadow-worker \
  --server-url "[http://192.168.1.100:8800](http://192.168.1.100:8800)" \
  --username "dev_node_1" \
  --password "secure_pass_1" \
  --role "senior_developer" \
  --provider "ollama" \
  --model "llama3.3:70b"
2. Remote Enterprise Server (Role: Legal Counsel -> Enterprise Claude API)
export LOCAL_ANTHROPIC_KEY="sk-ant-api03-enterprise-key..."
shadow-worker \
  --server-url "[http://192.168.1.100:8800](http://192.168.1.100:8800)" \
  --username "legal_node_2" \
  --password "secure_pass_2" \
  --role "legal_counsel" \
  --provider "anthropic" \
  --model "claude-3-5-sonnet-20241022"
3. Remote Tester Machine (Role: QA Tester -> OpenAI GPT-4o)
export LOCAL_OPENAI_API_KEY="sk-proj-openai-key..."
shadow-worker \
  --server-url "[http://192.168.1.100:8800](http://192.168.1.100:8800)" \
  --username "qa_node_3" \
  --password "secure_pass_3" \
  --role "qa_tester" \
  --provider "openai" \
  --model "gpt-4o"

Programmatic Python SDK Usage

You can also embed ShadowWorker into custom Python pipelines on remote nodes:

import asyncio
from shadow_adapter import ShadowWorker

# Custom task handler executing local agent pipeline
async def my_local_agent(task: dict) -> str:
    # Query your local GPU, private database, or custom agent model
    return f"Processed task '{task['title']}' on local node."

worker = ShadowWorker(
    server_url="[http://192.168.1.100:8800](http://192.168.1.100:8800)",
    username="custom_node_01",
    password="password123",
    role="legal_counsel",
    custom_handler=my_local_agent,
)

asyncio.run(worker.run_forever())

The Consolidated Corporate Brain (Knowledge Graph)

A real company doesn't just pass text strings—employees share documents, reports, and data. AutoSwarm-shadow-adapter acts as the Central Nervous System for your AI and Human workforce by maintaining a centralized artifact registry.

1. The Shared Artifact Registry

When a Silicon or Carbon employee finishes a task, their deliverables (PDFs, CSVs, code files) are saved to the centralized CorporateArtifacts registry. This creates an indexed, searchable corporate memory for your entire DAG.

2. Hierarchical Context Injection

The adapter dynamically parses your AutoSwarm company_config.yaml to understand your corporate hierarchy. When a downstream Manager receives a task to "Review the Analyst's work," the adapter automatically packages and injects the Analyst's upstream artifacts directly into the Manager's workspace (via the React Portal or the ShadowWorker API payload).

3. Role-Based Inheritance

Employees natively inherit the context of the workers below them. A Human Legal Director reviewing a contract doesn't just get a text summary—they are handed the exact .docx file the remote AI Drafter uploaded 5 minutes prior.


Architecture Deep-Dive

All detailed technical specifications are decoupled from this overview:


Configuration Reference

Variable Default Value Required Description
SHADOW_JWT_SECRET None Yes Secret key for signing JWT tokens (min 32 chars).
SHADOW_DB_PATH ./shadow_tasks.db No Path for the isolated Shadow SQLite database.
SHADOW_OPC_STORE_PATH .opc/projects/default/store.db No Path to AutoSwarm's store.db for WAL resume writes.
SHADOW_UPLOAD_DIR ./shadow_uploads No Directory for storing deliverable attachments.
SHADOW_MAX_FILES_PER_SUBMISSION 5 No Max files permitted per submission.
SHADOW_MAX_FILE_SIZE_MB 10 No Max allowed size per file in MB.
SHADOW_MAX_TOTAL_UPLOAD_SIZE_MB 50 No Max total upload payload per submission in MB.
SHADOW_API_PORT 8800 No Network port for FastAPI server and React SPA.

Development & Testing

# Run full anti-fragility & host integration test suite (55 tests)
# Enforces Concurrency, Property-Based Fuzzing, Black Hole Exception Trapping, and AutoSwarm Host Mutation Survival
pytest tests/ -v --cov=shadow_adapter --cov-report=term-missing

# Run engine simulator demo
python tests/mock_AutoSwarm_engine.py

AutoSwarm-Shadow-Adapter | Non-Blocking Human-in-the-Loop Layer for AutoSwarm

GitHub Repository | PyPI Package | Issue Tracker | Architecture Spec


Thanks for visiting 🖤 Build for AutoSwarm Community

Views

Frequently asked questions

Is AutoSwarm-Shadow-Adapter free to use?

AutoSwarm-Shadow-Adapter is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does AutoSwarm-Shadow-Adapter do?

Zero-modification Human-in-the-Loop adapter for OpenOPC's agentic DAG runtime.

What is AutoSwarm-Shadow-Adapter written in?

AutoSwarm-Shadow-Adapter is primarily written in Python. Its source is publicly available at https://github.com/AhmadHassan-BTed/AutoSwarm-Shadow-Adapter, and it has 2,190 GitHub stars.