Skip to main content

AI agents that know when to act and when to ask — autonomous by default, human-supervised when it counts.

Project description

Everstaff

AI agents that know when to act and when to ask — autonomous by default, human-supervised when it counts.

Everstaff is an open-source platform for running AI agents that work around the clock. Agents operate autonomously, but pause and request human approval at critical decisions. Every step is observable, every action is permissioned.


Features

Core Runtime

  • Multi-LLM support — OpenAI, Anthropic, Gemini, and 100+ providers via LiteLLM
  • Streaming — real-time WebSocket streaming with a built-in web UI
  • Session persistence — resume any session from where it left off
  • Tool permissions — fine-grained allow/deny rules with wildcard matching

Human-in-the-Loop (HITL)

  • Agents pause mid-run and request human approval before critical actions
  • Approve, reject, or comment directly from the web UI
  • Configurable: block on every tool call, only on request, or never
  • Async — agents queue HITL requests and wait without blocking other work

Multi-Agent

  • Delegate subtasks to specialized child agents
  • DAG-based workflow engine with parallel execution and automatic replanning
  • Child agent results flow back to the parent agent transparently

Autonomous Daemon

  • Schedule agents on cron, webhooks, or custom events
  • Agents run unattended and escalate to humans when needed
  • Per-trigger HITL channels — each trigger gets its own approval queue

Extensibility

  • Skills — composable instruction modules agents load on demand
  • Tools — Python functions exposed to agents with typed schemas
  • Knowledge base — attach document directories for context injection
  • MCP servers — connect any Model Context Protocol server

Self-Hosted

  • OIDC authentication with email whitelist
  • OpenTelemetry and Langfuse tracing
  • S3 or local storage for session data
  • Docker image included

Quick Start

pip install everstaff

mkdir my-agents && cd my-agents
everstaff init          # scaffold config, agent dirs, Dockerfile, .env.example

init creates:

.agent/config.yaml    # LLM models, storage, auth, HITL channels
agents/               # drop agent definitions here
skills/               # custom skills
tools/                # custom Python tools
main.py               # server entry point
.env.example          # API key template

Set your API key and start:

cp .env.example .env
# edit .env: ANTHROPIC_API_KEY=sk-...

python main.py

Open http://localhost:8000 — the web UI is bundled.

Docker

docker run -p 8000:8000 \
  -v $(pwd)/.agent:/app/.agent \
  -e ANTHROPIC_API_KEY=sk-... \
  ghcr.io/your-org/everstaff

How It Works

Agents are defined in a config file. Drop one in your .agent/agents/ directory and it appears in the UI immediately.

agent_name: Code Reviewer
instructions: |
  Review pull requests for bugs, security issues, and style violations.
  When you find a critical issue, request human approval before proceeding.

tools: [Bash, Read, Glob, Grep]

hitl_mode: on_request   # pause and ask when uncertain

autonomy:
  triggers:
    - type: webhook
      path: /hooks/github

Documentation


Development

# Install dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Start dev server (API + frontend separately)
uvicorn everstaff.server:app --reload
cd web && npm install && npm run dev

License

MIT

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

everstaff-0.1.10-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

Details for the file everstaff-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: everstaff-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for everstaff-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 742c7f7f2af7b5f2a10a77fdd2fa2983a9d56cfc1e5d89f26689922ee9ea603f
MD5 587c47a6d7fb3a4a8823c3ec1f1298ef
BLAKE2b-256 b70a373fab7b773debfdb27b679840876cd6207fc3fe25ddbf0682a323fd39b6

See more details on using hashes here.

Provenance

The following attestation bundles were made for everstaff-0.1.10-py3-none-any.whl:

Publisher: publish.yml on yuriiiz/everstaff

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