{"id":51067944,"url":"https://github.com/digitizers/siteagent","last_synced_at":"2026-06-23T08:03:03.452Z","repository":{"id":342701140,"uuid":"1174824117","full_name":"Digitizers/SiteAgent","owner":"Digitizers","description":"SiteAgent for Aura — WordPress remote management agent with safe updates, health checks, rollback, MCP tools, and Aura dashboard integration. https://my-aura.app","archived":false,"fork":false,"pushed_at":"2026-06-20T19:19:34.000Z","size":7618,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-20T20:20:14.312Z","etag":null,"topics":["aura","health-checks","mcp","remote-agent","rollback","safe-updates","site-management","wordpress"],"latest_commit_sha":null,"homepage":"https://wordpress.org/plugins/digitizer-site-worker","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Digitizers.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-06T22:07:15.000Z","updated_at":"2026-06-20T19:19:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"6db7f591-2bd9-4a3f-b39b-77c78094129d","html_url":"https://github.com/Digitizers/SiteAgent","commit_stats":null,"previous_names":["digitizers/aurawp","digitizers/auraworker","digitizers/siteagent"],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/Digitizers/SiteAgent","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digitizers%2FSiteAgent","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digitizers%2FSiteAgent/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digitizers%2FSiteAgent/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digitizers%2FSiteAgent/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Digitizers","download_url":"https://codeload.github.com/Digitizers/SiteAgent/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Digitizers%2FSiteAgent/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34680621,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-23T02:00:07.161Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aura","health-checks","mcp","remote-agent","rollback","safe-updates","site-management","wordpress"],"created_at":"2026-06-23T08:03:01.329Z","updated_at":"2026-06-23T08:03:03.447Z","avatar_url":"https://github.com/Digitizers.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/aura_icon.png\" alt=\"Aura\" width=\"120\" /\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/aura_logotype.png\" alt=\"Aura\" width=\"140\" /\u003e\n\u003c/p\u003e\n\n\u003ch3 align=\"center\"\u003eSiteAgent for Aura\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  Official WordPress agent for \u003ca href=\"https://my-aura.app\"\u003e\u003cstrong\u003eAura\u003c/strong\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://wordpress.org/plugins/digitizer-site-worker/\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/WordPress.org-Plugin-blue?logo=wordpress\" alt=\"WordPress.org\" /\u003e\n  \u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/WordPress-6.2%E2%80%937.0-21759b?logo=wordpress\" alt=\"WordPress\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PHP-7.4%2B-777bb4?logo=php\" alt=\"PHP\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Stable-2.0.2-green\" alt=\"Stable\" /\u003e\n\u003c/p\u003e\n\n---\n\n## What is SiteAgent?\n\nSiteAgent is the official remote management agent for the [Aura Infrastructure Hub](https://my-aura.app). It connects your WordPress sites to your Aura dashboard for seamless remote management, monitoring, and updates from a single centralized interface.\n\n---\n\n## Features\n\n| Capability | Description |\n|------------|-------------|\n| **Site Health** | Real-time monitoring of WordPress \u0026 PHP versions, plugins, themes, and server health. |\n| **One-Click Updates** | Update WordPress core, plugins, and themes remotely from the Aura dashboard. |\n| **Safe Update Engine** | Chunked batch updates with health checks and automatic rollback on failure. |\n| **Per-Plugin Rollback** | Zip backups in `wp-content/aura-backups/` with one-shot restore. |\n| **MCP Tools Layer** | `/aura/mcp/` REST namespace exposing AI-agent-friendly tools with JSON schemas. |\n| **Magic Link Onboarding** | One-click connection from wp-admin to the Aura dashboard — HMAC-signed, no token copy/paste. |\n| **Maintenance** | Run database upgrades and translation updates across all sites. |\n| **Hardened Security** | Hashed site tokens, brute-force throttling, signed magic-link connect, and optional IP/domain allowlists. |\n| **Developer API** | Fully exposed via secure REST API endpoints. |\n\n### Zero Frontend Impact\n\nSiteAgent is built for performance. It only registers REST API routes and has **zero impact** on your site's frontend performance — no extra scripts, styles, or queries on page load.\n\n---\n\n## Installation\n\n### Via WordPress.org (Recommended)\n\n1. Go to **Plugins \u003e Add New** in your WordPress admin.\n2. Search for **SiteAgent**.\n3. Click **Install Now** and then **Activate**.\n\n### Via WP-CLI\n\n```bash\nwp plugin install digitizer-site-worker --activate\n```\n\n### Manual upload\n\nDownload the zip from the [latest release](https://github.com/Digitizers/SiteAgent/releases) and upload via **Plugins → Add New → Upload Plugin**.\n\n\u003e The display name is **SiteAgent for Aura**; the WordPress.org slug remains `digitizer-site-worker`.\n\n---\n\n## Security\n\nLayered authentication protects every request:\n\n1. **WordPress Auth:** Application Password with capability checks (`manage_options` / `update_*`).\n2. **Site Token:** Per-site token in the `X-Aura-Token` header, **stored as a SHA-256 hash** (never plaintext) and compared timing-safely. Legacy plaintext tokens migrate automatically on first use.\n3. **Brute-force throttle:** Per-IP failed-attempt limit returns HTTP 429.\n4. **IP / Domain allowlist:** Optional restriction to your Aura instance.\n\nOnboarding via magic link is **HMAC-signed**: the `/connect` callback carries a signature derived from a one-time secret the site issued, plus a timestamp replay window — so the token exchange can't be hijacked or replayed. Rotate the token anytime from **Settings → SiteAgent → Regenerate Token**.\n\n---\n\n## REST API\n\n### v1 namespace — `/wp-json/aura/v1/`\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| `GET` | `/status` | Full site health report |\n| `GET` | `/updates` | Check available core, plugin, and theme updates |\n| `POST` | `/update/core` | Upgrade WordPress core |\n| `POST` | `/update/plugin` | Update a specific plugin |\n| `POST` | `/update/theme` | Update a specific theme |\n| `POST` | `/update/translations` | Bulk update translation packs |\n| `POST` | `/update/database` | Run WordPress database upgrades |\n| `POST` | `/connect` | Magic-link token exchange (public, HMAC-signed, 10-min expiring) |\n\n### v2 namespace — `/wp-json/aura/v2/`\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| `GET` | `/health` | HTTP, PHP fatals, white-screen, and DB connectivity checks |\n| `POST` | `/update/batch` | Chunked batch updates with auto-rollback on health failure |\n| `POST` | `/rollback/{plugin}` | Restore a plugin from its most recent zip backup |\n\n### MCP namespace — `/wp-json/aura/mcp/`\n\n| Method | Endpoint | Description |\n|--------|----------|-------------|\n| `POST` | `/tools/list` | Enumerate available tools with JSON schemas |\n| `POST` | `/tools/execute` | Execute a tool with validated parameters |\n| `GET` | `/context` | Full site context for AI decision-making |\n\nBuilt-in MCP tools: `get_site_context`, `update_plugin_safely`, `cleanup_orphaned_assets`, `check_vulnerabilities`.\n\n---\n\n## Changelog\n\n### 2.0.0 *(stable — live on WordPress.org)*\n\n- **v2 Update Engine:** health checks, per-plugin rollback, chunked batch updates, auto-rollback on failure.\n- **MCP Tools Layer:** `/aura/mcp/` namespace with `tools/list`, `tools/execute`, `context`, plus four built-in tools.\n- **Magic Link Onboarding:** one-click, **HMAC-signed** connection from wp-admin to the Aura dashboard.\n- **Security hardening:** SHA-256 hashed site token (auto-migrates legacy tokens), per-IP brute-force throttle, Regenerate Token UI, timestamp replay protection on `/connect`.\n- **Reliability:** core database upgrade now reports real failures instead of always succeeding.\n- **Compliance:** WordPress.org Plugin Check fixes — `WP_Filesystem`, `wp_json_encode()`, `gmdate()`, `wp_delete_file()`. Tested up to WordPress 7.0.\n\n### 1.3.5\n\n- Security: timing-safe token comparison, optional IP whitelisting, Cloudflare/reverse-proxy header support.\n\n### 1.3.4\n\n- **Branding Update:** New official icons and banners for WordPress.org.\n- **Improved UX:** Updated documentation and installation guides.\n\n### 1.3.3\n\n- **Official WordPress.org Launch:** Now available in the official plugin repository.\n- GitHub Release: [v1.3.3](https://github.com/Digitizers/SiteAgent/releases/tag/v1.3.3)\n\n### 1.3.0\n\n- Rebranded from \"AuraWorker\" to \"Digitizer Site Worker for Aura\"\n- New slug: `digitizer-site-worker`\n\n---\n\nBuilt with ❤️ by [Digitizer](https://www.digitizer.studio) for the [Aura](https://my-aura.app) ecosystem\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitizers%2Fsiteagent","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdigitizers%2Fsiteagent","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdigitizers%2Fsiteagent/lists"}