Skip to main content

EdgeCitadel

EdgeCitadel connects AI Agents across a Core and enrolled Edge hosts. It runs complete Managed Agents such as Gemma and Home Assistant adapters, and connects active Pi, Claude Code, and Codex sessions through their native plugin systems.

Install

Choose one method:

pip install edgecitadel
# or
brew install edgecitadel

Verify it with edgecitadel --version.

Create a Core

Start Docker, then choose a hostname or IP that Edge hosts can reach:

edgecitadel create --host core.example.internal
edgecitadel doctor

The command checks local requirements and prints the dashboard URL.

Join an Edge

Create a one-time invitation on the Core:

edgecitadel invite --node-id studio-macmini --host core.example.internal

Run the returned edgecitadel join command on the Edge. The default single-client mode connects the EdgeCitadel service directly to Core NATS:

edgecitadel join 'ecjoin://...'

Use nats_leaf when Agents on this host must keep communicating while the Core connection is unavailable:

brew install nats-server  # macOS; use your system package manager elsewhere
edgecitadel join 'ecjoin://...' --messaging-mode nats_leaf

In both modes, Agent integrations talk to the host-local EdgeCitadel service. Only nats_leaf needs a local NATS server; it is the durable local message bus and maintains the outbound Leaf connection to Core.

Install a Managed Agent

Managed Agents are complete runtimes operated by EdgeCitadel:

edgecitadel agent install gemma
edgecitadel agent list
edgecitadel agent status edgecitadel.gemma

Home Assistant is installed the same way after its URL, token, and allowlist are configured. EdgeCitadel operates the adapter and never installs or removes Home Assistant itself. See the Gemma guide and Home Assistant guide.

Connect an existing Agent

These plugins add Agent discovery, delegation, inbox, task-state, trace, and diagnostic tools to an active host session. They do not start the host in the background, and EdgeCitadel does not pass NATS credentials through the plugin protocol.

# Pi
pi install "$(edgecitadel connector path pi)"

# Claude Code
claude plugin marketplace add "$(edgecitadel connector path claude-code)"
claude plugin install edgecitadel@edgecitadel

# Codex
codex plugin marketplace add "$(edgecitadel connector path codex)"
codex plugin add edgecitadel@edgecitadel

Start a new host session, then use its edgecitadel_* tools. Inspect active connections with edgecitadel connector list and edgecitadel connector status <connector-id>.

Operate

edgecitadel status
edgecitadel doctor
edgecitadel service status
edgecitadel task list --connector-id <connector-id>
edgecitadel trace list --connector-id <connector-id>

Stop a Core without deleting its data with edgecitadel down.

Upgrade or uninstall

Use the package manager that installed EdgeCitadel:

pip install --upgrade edgecitadel
pip uninstall edgecitadel

brew upgrade edgecitadel
brew uninstall edgecitadel

Before uninstalling an Edge, run edgecitadel service stop; in nats_leaf mode also run edgecitadel messaging stop. Uninstall preserves local state in ~/.edgecitadel.

More detail: onboarding and troubleshooting and contributing.

License

MIT

Download files

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

Source Distribution

edgecitadel-0.1.0.tar.gz (243.8 kB view details)

Uploaded Source

Built Distribution

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

edgecitadel-0.1.0-py3-none-any.whl (356.0 kB view details)

Uploaded Python 3

File details

Details for the file edgecitadel-0.1.0.tar.gz.

File metadata

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

File hashes

Hashes for edgecitadel-0.1.0.tar.gz
Algorithm Hash digest
SHA256 96d2b3f1716d73d9d4e3c55c7c08be02e235e2f5d3753d2886e6c4209e93dbed
MD5 7afbf2d91b75eb2e558a1d94f4aea4bc
BLAKE2b-256 70a18e06037f4be70a1b1f7d3da556f1d6e4a908e6566f373e81c26e5f899e1a

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgecitadel-0.1.0.tar.gz:

Publisher: publish-pypi.yml on EdgeCitadelTeam/EdgeCitadel

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

File details

Details for the file edgecitadel-0.1.0-py3-none-any.whl.

File metadata

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

File hashes

Hashes for edgecitadel-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 60d986da58d17e92af8127e29b257fbffffadc6b54e8c253b3e21d1144b2ed89
MD5 9328b8982a2b63f1c3f1657f66e084f7
BLAKE2b-256 6ee6c7ef6a3a2d3cffe5751f4e5e9aea7f5d8d5d6be22af431a43742a484d4b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for edgecitadel-0.1.0-py3-none-any.whl:

Publisher: publish-pypi.yml on EdgeCitadelTeam/EdgeCitadel

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

Release history Release notifications | RSS feed

0.4.0

2 files

0.3.0

2 files

0.2.0

2 files

This release

0.1.0 This release

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