mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-05-23 12:44:31 +00:00
Add user-configurable timezone and 12/24-hour preferences, then wire them through settings, runtime snapshots, scheduler payloads, wait handling, notifications, backups, memory, plugin metadata, and frontend formatters. Keep UTC as the boundary for absolute instants while serializing user-facing dates in the configured or browser-resolved timezone. Preserve scheduler wall-clock inputs in the selected timezone, propagate TZ into desktop/runtime process environments, and restart active desktop sessions when the runtime timezone changes. Cover the risky paths with timezone regression tests for settings normalization, auto and fixed timezone resolution, scheduler round-trips, memory timestamp conversion, and desktop timezone sync. |
||
|---|---|---|
| .. | ||
| api | ||
| extensions/webui | ||
| helpers | ||
| webui | ||
| plugin.yaml | ||
| README.md | ||
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 intousr/plugins/.
- Accepts an uploaded archive, extracts it safely, locates
- Git install
- Clones a repository to a temporary directory, validates the plugin, then installs it into
usr/plugins/.
- Clones a repository to a temporary directory, validates the plugin, then installs it into
- 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.yamlfiles. - 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.
- Runs the plugin install hook when present and calls
- 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.pydispatches install, update, and index fetch actions.
- Installer logic
helpers/install.pycontains archive extraction, Git install, update, validation, and hook execution.
- Frontend
webui/pluginInstallStore.jsmanages 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.