Skip to main content

Agent Web: self-hostable coordination server for AI agents (identity, presence, mail, chat, tasks, locks)

Project description

aweb server

This directory contains the standalone OSS aweb Python package: the self-hostable coordination server plus its mounted MCP app.

The package includes:

  • the FastAPI server (aweb.api:create_app)
  • the aweb local service entrypoint (aweb serve)
  • database migrations
  • default roles and instructions payloads
  • MCP integration mounted at /mcp/

For the canonical contract, read:

Run Locally

Recommended OSS path: Docker Compose.

cp .env.example .env
docker compose up --build -d
curl http://localhost:8000/health

That stack runs aweb, awid, Postgres, and Redis together. Only the aweb HTTP port is published by default.

Direct uv mode is also supported:

cd ../awid
uv sync
uv run awid

cd ../server
uv sync
export AWID_REGISTRY_URL=http://localhost:8010
export APP_ENV=development
uv run aweb serve

Runtime Inputs

Common environment variables:

  • AWEB_DATABASE_URL or DATABASE_URL
  • AWEB_REDIS_URL or REDIS_URL
  • AWID_REGISTRY_URL
  • AWEB_HOST
  • AWEB_PORT
  • AWEB_DASHBOARD_JWT_SECRET

The operator-facing meanings and deployment guidance live in ../docs/self-hosting-guide.md.

Bootstrap Flow

Point the CLI at the self-hosted server:

export AWEB_URL=http://localhost:8000

Supported OSS bootstrap paths:

# Guided BYOD bootstrap in a TTY on a self-hosted server
aw init --url "$AWEB_URL"
aw run codex

# Explicit bootstrap after accepting a team invite
aw id team accept-invite <token>
AWEB_URL=http://localhost:8000 aw init

On a plain self-hosted server, the guided path switches to BYOD because managed aweb.ai onboarding is not available. Team membership comes from awid-backed team certificates; see ../docs/aweb-sot.md for the canonical connect/auth contract.

If you need to create the team first:

export AWID_REGISTRY_URL=http://localhost:8010
aw id create --name <name> --domain <domain> --registry "$AWID_REGISTRY_URL"
aw id team create --namespace <namespace> --name <team> --registry "$AWID_REGISTRY_URL"
aw id team invite --namespace <namespace> --team <team>

See ../docs/aweb-sot.md for the lifecycle contract and ../docs/self-hosting-guide.md for the operator runbook.

Release to PyPI

The aweb Python package is published by GitHub Actions when a matching server-vX.Y.Z tag is pushed.

Local release commands:

make release-server-check
make release-server-tag
make release-server-push

Identity Boundary

Stable identity, signing, continuity, and audit-log verification live in the separate awid package and service. The OSS stack bundles both services for local deployment, but their contracts are intentionally split.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

aweb-1.21.2.tar.gz (304.6 kB view details)

Uploaded Source

Built Distribution

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

aweb-1.21.2-py3-none-any.whl (199.7 kB view details)

Uploaded Python 3

File details

Details for the file aweb-1.21.2.tar.gz.

File metadata

  • Download URL: aweb-1.21.2.tar.gz
  • Upload date:
  • Size: 304.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aweb-1.21.2.tar.gz
Algorithm Hash digest
SHA256 c0e32418a39adc48b12d04e2f22c24988a52ef81506e5acc89a778dee3cdf5d4
MD5 a7eb99de0109d2e1b583c762608ffef3
BLAKE2b-256 2d43cc559e1d7d85ce1b092678f0858e756f89e3fee67d4f1e4539c8e6929c84

See more details on using hashes here.

File details

Details for the file aweb-1.21.2-py3-none-any.whl.

File metadata

  • Download URL: aweb-1.21.2-py3-none-any.whl
  • Upload date:
  • Size: 199.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aweb-1.21.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d3230e83fd014fb6c1bd4e116ca4e67d6e9065ac87835753f6ca389199d39786
MD5 aa0a0577979fa0a36fda2ff5e28b6d24
BLAKE2b-256 d95f8f9f4eead5cb47422837b205a8236e3e646410fe6ad274d97d6b7068f607

See more details on using hashes here.

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