agent-zero/plugins/_plugin_installer
frdel e138e33ca9 Add file-level DOX docs & update AGENTS indexes
Add comprehensive file-level DOX documentation across the repo and update directory AGENTS.md indexes. Many new `*.py.dox.md` files were added under api, helpers, tools, plugins, extensions, webui, and other dirs to document endpoint purpose, ownership, runtime contracts, work guidance, and verification. Several AGENTS.md files were created or updated (agents profiles, api, docker, extensions, helpers, plugins, skills, webui components, etc.) to list child DOX files and clarify documentation/work guidance. Also add example and bundled profile DOX files (agent0, default, developer, hacker, researcher) and minor updates to helpers/dirty_json.py and its tests. These changes improve on-disk documentation coverage and establish the convention that each direct runtime file should have a matching `*.dox.md` describing its contracts and verification steps.
2026-06-08 12:41:53 +02:00
..
api Remove force parameter from plugin index fetch in API handler 2026-03-27 10:26:50 +01:00
extensions/webui plugins: rename marketplace to plugin hub 2026-03-16 17:54:54 +01:00
helpers Refactor: use user locale for time displays 2026-05-21 15:26:00 +02:00
webui Refactor: use user locale for time displays 2026-05-21 15:26:00 +02:00
AGENTS.md Add file-level DOX docs & update AGENTS indexes 2026-06-08 12:41:53 +02:00
plugin.yaml refactor - plugin names and builtin plugins 2026-03-10 22:20:53 +01:00
README.md plugins: update docs and skills for extensible refactor 2026-03-23 03:42:10 +01:00

Plugin Installer

Install and update Agent Zero plugins from ZIP uploads, Git repositories, or the community Plugin Index surfaced through the Plugin Hub.

What It Does

This plugin provides the built-in installation workflow for third-party plugins. It validates plugin manifests, prevents naming conflicts, installs plugins into usr/plugins/, optionally updates Git-based plugins, and exposes a UI for browsing and installing community plugins.

Main Behavior

  • ZIP install
    • Accepts an uploaded archive, extracts it safely, locates plugin.yaml, validates metadata, and moves the plugin into usr/plugins/.
  • Git install
    • Clones a repository to a temporary directory, validates the plugin, then installs it into usr/plugins/.
  • Plugin update
    • Updates already installed Git-backed custom plugins and re-runs installation hooks.
  • Safety checks
    • Rejects archives with unsafe paths.
    • Rejects missing or invalid plugin.yaml files.
    • Rejects plugin name conflicts.
  • Install hooks and refresh
    • Runs the plugin install hook when present and calls after_plugin_change(...) so the app refreshes plugin state.
  • Plugin Hub UI
    • The web UI store handles browsing Plugin Index entries, showing README content, prompting about third-party plugin risk, and launching install/update actions.

Key Files

  • API
    • api/plugin_install.py dispatches install, update, and index fetch actions.
  • Installer logic
    • helpers/install.py contains archive extraction, Git install, update, validation, and hook execution.
  • Frontend
    • webui/pluginInstallStore.js manages the installer modal state and community index interactions.

Configuration Scope

  • Settings sections: none
  • Always enabled: true

Plugin Metadata

  • Name: _plugin_installer
  • Title: Plugin Installer
  • Description: Install plugins from ZIP files, Git repositories, or the community index.