Skip to main content

One panel for every EvolutionDB sync connector and AI memory client. Web UI and terminal share the same controls.

Project description

evolutiondb-hub

One panel for every EvolutionDB sync connector and AI memory client. The web UI and the terminal share the same controls; whatever you click in the browser you can also do from a shell script.

What the hub does

  • Shows every sync connector (teams, gmail, slack, github, calendar) on one page with current state, last run, the binary's install status, and a free-form "agent owner" label so you can record which AI assistant you mentally assigned to that source.
  • Starts and stops connectors as detached background processes. Existing launchd / systemd runs are detected and marked as "externally managed" — the hub will not double-spawn or interfere.
  • Wires the same evolutiondb-memory block into Claude Desktop, ChatGPT Desktop, and Gemini CLI config files, or removes it. All three AI hosts read from the same memory store, so anything one connector writes is searchable from any of them.
  • Same operations are available from the terminal for headless setups and shell automation.

Install

pip install evolutiondb-hub mcp-server-evolutiondb

You also need the connector packages you actually plan to use — each is its own PyPI release:

pip install evolutiondb-teams-sync   evolutiondb-gmail-sync \
            evolutiondb-slack-sync   evolutiondb-github-sync \
            evolutiondb-calendar-sync

Web UI

evolutiondb-hub web
# → http://127.0.0.1:8771

Five source cards on top (one per connector), three client cards below (Claude / ChatGPT / Gemini). Buttons drive the same operations as the CLI. Auto-refreshes every 10 seconds so a connector that crashes is visible quickly.

The UI binds to 127.0.0.1 only and has no auth — it is a personal local panel, not a shared dashboard.

Terminal

# Table of every source.
evolutiondb-hub status

# Spawn / kill one source.
evolutiondb-hub start  gmail
evolutiondb-hub stop   gmail

# Tag a source with the AI agent you assigned to it.
evolutiondb-hub set-agent gmail   gemini
evolutiondb-hub set-agent teams   claude
evolutiondb-hub set-agent slack   chatgpt
evolutiondb-hub set-agent github  claude
evolutiondb-hub set-agent calendar gemini

# Wire / unwire one AI host's MCP config.
evolutiondb-hub client claude-desktop  enable
evolutiondb-hub client gemini-cli      enable
evolutiondb-hub client chatgpt-desktop disable

# Same status JSON the web UI uses.
evolutiondb-hub status --json

Subcommand reference:

Command What it does
status [--json] Per-connector state table
start <name> [--interval N] Spawn the connector in the background
stop <name> SIGTERM the hub-managed pid (then SIGKILL after 5s)
set-agent <name> <agent> Label the source with an owner agent (or none)
client <name> enable|disable|status Manage AI host config
web [--port 8771] [--host …] Launch the web UI

Source names: teams, gmail, slack, github, calendar. Client names: claude-desktop, chatgpt-desktop, gemini-cli.

How the agent-owner label works

The label is a local annotation, not data. Connectors do not know or care which agent owns them; every record they write still lands in the same memory store and is searchable from every AI host. The label is there so you can answer "which agent is supposed to keep an eye on my Gmail this week?" by reading the panel.

State on disk

~/.evosql/orchestrator.json    hub state (pids, labels, intervals)
~/.evosql/logs/<source>.log    stdout + stderr of each hub-spawned connector

The state file is mode 0600 and contains no secrets — auth tokens remain in their own per-connector caches under ~/.evosql/.

Project details


Download files

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

Source Distribution

evolutiondb_hub-0.5.0.tar.gz (26.1 kB view details)

Uploaded Source

Built Distribution

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

evolutiondb_hub-0.5.0-py3-none-any.whl (28.2 kB view details)

Uploaded Python 3

File details

Details for the file evolutiondb_hub-0.5.0.tar.gz.

File metadata

  • Download URL: evolutiondb_hub-0.5.0.tar.gz
  • Upload date:
  • Size: 26.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evolutiondb_hub-0.5.0.tar.gz
Algorithm Hash digest
SHA256 1ef976804a49d1bcea6c97dcfcaac7cd74425161b2fb9337d93184970b946557
MD5 467fe67ca83030b878e252d6b825e995
BLAKE2b-256 e53dbbc7e7fcb5409cb416cce30727779bf60cee476548b214342f51d9660b25

See more details on using hashes here.

Provenance

The following attestation bundles were made for evolutiondb_hub-0.5.0.tar.gz:

Publisher: hub-release.yml on alptekin/evolutiondb

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

File details

Details for the file evolutiondb_hub-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: evolutiondb_hub-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 28.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for evolutiondb_hub-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 105a603a851f741ed787b8243c6f6d495c6981b03d9ecbc52be501fcc59da255
MD5 d5b482976047dec8d331a1533e8a145b
BLAKE2b-256 03344e6aa6394e63a891fa2c65f66dbb3b1fda840a57abdc896861c536e2c47c

See more details on using hashes here.

Provenance

The following attestation bundles were made for evolutiondb_hub-0.5.0-py3-none-any.whl:

Publisher: hub-release.yml on alptekin/evolutiondb

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