agent-zero/plugins
Alessandro c327701c83 Fix Agent Editor profile lifecycle state
Base reset visibility on the sparse removal plan, preserve unrelated profile files, and surface completion feedback without waiting for model-profile refreshes.

Keep saved preset controls and fresh-chat selection synchronized across global and project scopes, including the shared sidebar context race, with focused regressions and updated DOX.
2026-08-12 14:34:15 +02:00
..
_a0_connector Hide the utility agent from profile selectors 2026-08-12 14:34:15 +02:00
_agent_editor Fix Agent Editor profile lifecycle state 2026-08-12 14:34:15 +02:00
_browser Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_chat_branching Add file-level DOX docs & update AGENTS indexes 2026-06-08 12:41:53 +02:00
_chat_compaction Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_chat_naming Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_code_execution Harden scoped tool policy enforcement 2026-08-12 14:34:15 +02:00
_commands Add reusable agent profile commands 2026-08-12 14:34:15 +02:00
_desktop Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_discovery Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_document_query Refine document query image routing 2026-06-19 01:49:50 +02:00
_editor Merge pull request #1710 from alogotron/feat/editor-open-button-in-tab-bar 2026-08-12 05:49:25 +02:00
_email_integration Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_error_retry Add file-level DOX docs & update AGENTS indexes 2026-06-08 12:41:53 +02:00
_goal Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_infection_check Add file-level DOX docs & update AGENTS indexes 2026-06-08 12:41:53 +02:00
_kokoro_tts Add file-level DOX docs & update AGENTS indexes 2026-06-08 12:41:53 +02:00
_memory Harden scoped tool policy enforcement 2026-08-12 14:34:15 +02:00
_model_config Hide the utility agent from profile selectors 2026-08-12 14:34:15 +02:00
_oauth Default chat-only providers to Chat Completions 2026-07-31 18:17:31 +02:00
_office Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_onboarding Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_orchestrator Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_pin_to_top Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_plugin_installer Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_plugin_scan Add file-level DOX docs & update AGENTS indexes 2026-06-08 12:41:53 +02:00
_plugin_validator Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_promptinclude Add file-level DOX docs & update AGENTS indexes 2026-06-08 12:41:53 +02:00
_skills Add profile skill visibility policies 2026-08-12 14:34:15 +02:00
_telegram_integration Hide the utility agent from profile selectors 2026-08-12 14:34:15 +02:00
_text_editor feat: add tiny local tool-use profile 2026-06-24 03:59:21 -04:00
_time_travel Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_tool_access Unify Agent Editor capability and prompt controls 2026-08-12 14:34:15 +02:00
_whats_new Disable What's New cards 2026-07-02 17:29:40 +02:00
_whatsapp_integration Unify WebUI icons and fix message collapsing 2026-07-31 13:32:41 +00:00
_whisper_stt Refresh welcome screen and composer 2026-06-22 15:12:20 +02:00
AGENTS.md Add deterministic sparse Agent Editor backend 2026-08-12 14:34:15 +02:00
README.md Add AGENTS.md DOX files and migrate docs 2026-06-01 13:55:07 +02:00

Agent Zero - Core Plugins

This directory contains the system-level plugins bundled with Agent Zero.

Directory Structure

  • plugins/: Core system plugins. Reserved for framework updates — do not place custom plugins here.
  • usr/plugins/: The correct location for all user-developed and custom plugins. This directory is gitignored.

Documentation

For detailed guides on how to create, extend, or configure plugins, refer to:

What a Plugin Can Provide

Plugins are automatically discovered based on the presence of a plugin.yaml file. Each plugin can contribute:

  • Backend: API handlers, tools, helpers, named lifecycle extensions, and implicit @extensible hooks under extensions/python/_functions/...
  • Frontend: HTML/JS UI contributions via core extension breakpoints
  • Settings: Isolated configuration scoped per-project and per-agent profile
  • Activation: Global and scoped ON/OFF rules via .toggle-1 and .toggle-0 files, including advanced per-scope switching in the WebUI
  • Agent profiles: Plugin-distributed subagent definitions under agents/<profile>/agent.yaml

Backend extension layouts:

  • extensions/python/<point>/ for named lifecycle hooks
  • extensions/python/_functions/<module>/<qualname>/<start|end>/ for implicit @extensible hooks

Do not use the retired flattened extensions/python/<module>_<qualname>_<start|end>/ form.

Plugin Manifest

Every plugin requires a plugin.yaml at its root:

name: my_plugin              # required for community plugins
title: My Plugin
description: What this plugin does.
version: 1.0.0
settings_sections:
  - agent
per_project_config: false
per_agent_config: false
always_enabled: false

Plugin Script (execute.py)

Plugins can include an optional execute.py at the plugin root for user-triggered operations such as setup, post-install steps, maintenance, repairs, migrations, or resource refreshes. Users trigger it from the Plugin List UI.

Guidelines:

  • Treat it as a manual plugin script, not as the primary way to use the plugin
  • Prefer making it safe to rerun, or detect state and explain why a rerun is not appropriate
  • Return 0 on success and print progress messages for user feedback
  • Use hooks.py instead when the behavior is framework-internal or should happen automatically

Runtime Hooks (hooks.py)

Plugins can also include an optional hooks.py at the plugin root. The framework loads it on demand and can call exported hook functions by name through helpers.plugins.call_plugin_hook(...).

  • hooks.py runs inside the Agent Zero framework runtime and Python environment.
  • Use it for framework-internal work such as install hooks, cache preparation, registration, or filesystem setup.
  • If it runs sys.executable -m pip install ..., packages are installed into the same Python environment that runs Agent Zero.
  • If you need to install into the separate agent runtime or into the system environment, explicitly target that environment from a subprocess by selecting the correct interpreter, virtualenv, or package manager.

In Docker, hooks.py normally affects /opt/venv-a0; the agent execution runtime is /opt/venv.

Plugin Index & Community Sharing

The Plugin Index at https://github.com/agent0ai/a0-plugins is the community-maintained registry of plugins available to all Agent Zero users.

To share a plugin with the community:

  1. Create a standalone GitHub repository with the plugin contents at the repo root. The runtime plugin.yaml must include a name field matching the intended index folder name. Add a LICENSE file at the repo root (required for Plugin Index listings so users have explicit terms of use).
  2. Fork https://github.com/agent0ai/a0-plugins and add a folder plugins/<your_plugin_name>/ containing a separate index manifest named index.yaml (not plugin.yaml):
title: My Plugin
description: What this plugin does.
github: https://github.com/yourname/your-plugin-repo
tags:
  - tools

Optional additional fields: screenshots (up to 5 image URLs).

  1. Open a Pull Request. CI validates the submission; a maintainer reviews and merges.

Note: The index index.yaml is a different file with a different schema from the runtime plugin.yaml. Folder names use ^[a-z0-9_]+$ (underscores, no hyphens) and must match the name field in the remote plugin.yaml exactly.

Plugin Hub

Agent Zero now includes a built-in Plugin Hub flow through the always-enabled Plugin Installer plugin. From the Plugins dialog, users can either open the Browse tab or click Install, which opens the installer modal on its own Browse tab.

The Plugin Hub surfaces Plugin Index entries directly in the UI and lets users search, filter, inspect, and install community plugins without leaving Agent Zero.