mirror of
https://github.com/agent0ai/agent-zero.git
synced 2026-05-07 00:41:55 +00:00
Major refactor of plugin and project helper APIs and add a plugin management UI. Key changes: - Rename project meta helpers from get_project_meta_folder -> get_project_meta and update callers across many modules (projects, memory, skills_import, secrets, subagents, skills). - Overhaul python/helpers/plugins.py: introduce PluginMetadata and PluginListItem (Pydantic), new get_plugins_list/get_enhanced_plugins_list, support for reading plugin config (config.json), enable/disable logic (.enabled/.disabled), get_enabled_plugin_paths(), and helpers to find/read/save plugin assets. Plugin discovery now supports webui/main/config detection. - Use enabled-plugin-aware lookups in subagents, extension loading, and other places (plugins.get_enabled_plugin_paths / get_enhanced_plugins_list used instead of previous list_plugins/get_plugin_paths where appropriate). - Add API endpoint python/api/plugins_list.py to return JSON plugin lists. - Add frontend plugin management UI: web components webui/components/plugins/list/plugin-list.html and pluginListStore.js; wire quick-actions button to open the plugins modal. - Add new webui assets and config pages for example_agent and memory plugins; add plugins/plugin.json metadata for example_agent and memory. - Memory plugin fixes: updated calls to use get_project_meta and adjusted memory path helpers to use project meta layout. - File helper: add read_file_json to read JSON files directly. - run_ui: tightened plugin asset serving security (only serve from plugin webui or plugin extensions/webui), added unified _serve_plugin_asset helper, and load plugin API handlers using enhanced plugin list. - Small fixes: adjustments to parse_prompt/read_prompt/tool lookup to use updated subagents.get_paths signature, extension loader now uses enabled plugin paths, and web UI extensions JS updated to expect string paths. These changes centralize project meta handling, improve plugin discovery and enable/disable behavior, and add a basic plugin management UI and API. |
||
|---|---|---|
| .. | ||
| api.py | ||
| attachment_manager.py | ||
| backup.py | ||
| browser.py | ||
| browser_use.py | ||
| browser_use_monkeypatch.py | ||
| call_llm.py | ||
| cloudflare_tunnel._py | ||
| context.py | ||
| crypto.py | ||
| defer.py | ||
| dirty_json.py | ||
| docker.py | ||
| document_query.py | ||
| dotenv.py | ||
| duckduckgo_search.py | ||
| email_client.py | ||
| errors.py | ||
| extension.py | ||
| extract_tools.py | ||
| faiss_monkey_patch.py | ||
| fasta2a_client.py | ||
| fasta2a_server.py | ||
| file_browser.py | ||
| file_tree.py | ||
| files.py | ||
| git.py | ||
| guids.py | ||
| history.py | ||
| images.py | ||
| job_loop.py | ||
| kokoro_tts.py | ||
| localization.py | ||
| log.py | ||
| login.py | ||
| mcp_handler.py | ||
| mcp_server.py | ||
| message_queue.py | ||
| messages.py | ||
| migration.py | ||
| notification.py | ||
| perplexity_search.py | ||
| persist_chat.py | ||
| playwright.py | ||
| plugins.py | ||
| print_catch.py | ||
| print_style.py | ||
| process.py | ||
| projects.py | ||
| providers.py | ||
| rate_limiter.py | ||
| rfc.py | ||
| rfc_exchange.py | ||
| rfc_files.py | ||
| runtime.py | ||
| searxng.py | ||
| secrets.py | ||
| security.py | ||
| settings.py | ||
| shell_local.py | ||
| shell_ssh.py | ||
| skills.py | ||
| skills_cli.py | ||
| skills_import.py | ||
| state_monitor.py | ||
| state_monitor_integration.py | ||
| state_snapshot.py | ||
| strings.py | ||
| subagents.py | ||
| task_scheduler.py | ||
| timed_input.py | ||
| tokens.py | ||
| tool.py | ||
| tty_session.py | ||
| tunnel_manager.py | ||
| update_check.py | ||
| vector_db.py | ||
| wait.py | ||
| websocket.py | ||
| websocket_manager.py | ||
| websocket_namespace_discovery.py | ||
| whisper.py | ||