Unified Security & AI Ecosystem (appEcosystem)
A robust, offline-first ecosystem combining AI, surveillance, intrusion
detection, and smart displays into a single cohesive home network. appEcosystem
is the control plane: a service registry, event bus, shared-secret/auth layer,
and shared AI profile that ties the apps together — while every app still runs
standalone when the registry is absent.
Architecture
Standalone-first: if the central coordination layer goes offline, every connected app degrades gracefully and keeps working as an independent system. When the registry is present, apps discover each other, share events, and sync their LLM selection.
| Component | Role |
|---|---|
| appEcosystem (this repo) | Service registry + event bus + shared AI profile + shared auth |
| AI-for-Survival | Offline LLM assistant (Ollama + RAG) + cyber triage |
| AegisSIEM (LogAnalysis) | Router syslog SIEM + honeypot + active threat mitigation |
| OpenEye | OpenCV surveillance (face/object recognition, recording, alerts) |
| MagicMirror³ | Visual hub / dashboards for the ecosystem |
Shared packages (path-installed into each app)
ecosystem_auth(auth/python) — HMAC-SHA256 replay-resistant request signing (timestamp + nonce + body digest), fail-closed shared-secret resolution, and the in-app "Ecosystem Setup" secret helpers.ecosystem_client(ecosystem_client/) — discovery cascade (registry → mDNS → static → standalone), self-registration heartbeat, event pub/sub, topology (local|lan) resolution.ecosystem-ai(packages/ecosystem-ai) — provider abstraction (Ollama default- Anthropic/OpenAI/Gemini), hardware capability tiers, syncable AI profile.
Deployment modes (ECOSYSTEM_MODE)
local(default) — everything on one machine; services bind + advertise on loopback. Nothing is exposed on the network.lan— services may live on different devices; they bind on all interfaces and advertise their real LAN IP via self-registration. SetECOSYSTEM_MODE=lanper device.
Quickstart
# 1. Install the registry as a service + provision the shared secret (internal disk)
./scripts/install.sh # macOS launchd / Linux systemd
# 2. Provision / share the HMAC secret (same machine is automatic; joining devices import it)
ecosystem secret generate # primary device
ecosystem secret import <value> # additional devices (value from `ecosystem secret show`)
# 3. Check the ecosystem
ecosystem status # registry + registered services health
ecosystem apps # which apps are installed on THIS device
The ecosystem CLI (or python -m cli.main) controls the registry:
start · stop · restart · start-all · stop-all · status · monitor ·
logs <app> · secret <generate|show|import|path> · apps [--json] ·
install · uninstall.
See usage.md for the registry API, HMAC signing, and per-app integration.
Requirements
- Python 3.10–3.12 (the registry); the shared
ecosystem_authsupports 3.9+ for apps on older runtimes (e.g. OpenEye). - macOS (launchd) or Linux (systemd) for the installed service.
- Ollama (default LLM provider) — optional but recommended.
Metadata
Release files for appecosystem 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| appecosystem-0.3.0.tar.gz | 61.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| appecosystem-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 106.2 kB
Release files / appecosystem-0.3.0.tar.gz
| Download URL | appecosystem-0.3.0.tar.gz |
|---|---|
| Size | 61.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
26e86d3eff684754f9bd64755dc3dca01eefe5786276fc16137cbb41888ac3f5
|
|
BLAKE2b-256 checksum How to use checksums |
d24f8a93d9091c759861a24243064fec95d6243f8fc58b4a3fdfab72759ed5bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency logRelease files / appecosystem-0.3.0-py3-none-any.whl
| Download URL | appecosystem-0.3.0-py3-none-any.whl |
|---|---|
| Size | 44.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6da4246ebca2741e3ae745a8fac1888ea75f5c6968befc76d3c79c03a0339a4d
|
|
BLAKE2b-256 checksum How to use checksums |
ff30447b3d8e4f6a63870c2961bd4d00d6ab648e6a8ac5bd5075f7c6d61cf4bd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 14, 2026.
Transparency log