Commit graph

25 commits

Author SHA1 Message Date
Alessandro
a972f870b0 Delete model-efficiency-scorecard.md
Some checks failed
Build And Publish Docker Images / plan (push) Has been cancelled
Build And Publish Docker Images / build (push) Has been cancelled
2026-05-11 11:51:58 +02:00
Alessandro
79fe46cd7b docs: add model efficiency scorecard
Summarize the provider evidence sweeps into a scored Agent Zero tool-efficiency chart.\n\nDocument the scoring rubric, ranked provider/model results, recurring failure clusters, applied prompt/skill improvements, and follow-up candidates while keeping the raw EVIDENCE files untracked.
2026-05-10 07:12:53 +02:00
Alessandro
58b161e5d3 docs: make Agent Zero guides more human
Refresh README, quickstart, and the docs index around Browser, Desktop, A0 CLI, projects, memory, skills, profiles, and model presets.

Add optimized scoped screenshots for Web UI, Browser, Desktop, and CLI workflows.

Trim architecture-heavy developer pages toward DeepWiki handoffs so local docs stay focused on practical user guidance.
2026-05-09 00:02:11 +02:00
Alessandro
c06e4f497d docs: update Browser README notes 2026-05-08 19:56:32 +02:00
Alessandro
2d389af727 Defer Office desktop startup
Some checks failed
Build And Publish Docker Images / plan (push) Has been cancelled
Build And Publish Docker Images / build (push) Has been cancelled
Make the Office canvas mount passive so Xpra starts only when the Desktop surface is opened or an official Office document is created/opened.

Track Desktop host visibility to unload hidden frames, stop monitors, dedupe viewport resize work, and set Xpra offscreen mode according to HTTPS support. Add a near-future note for the tunnel memory footprint.

Show Office desktop startup progress

Display a loading message while the Agent Zero Desktop environment is starting or restarting, so the right-canvas Desktop button gives immediate feedback before Xpra finishes waking up.
2026-05-03 03:26:04 +02:00
Alessandro
983d431a5e browser: replace browser-use agent with native browser
Introduce the new built-in Browser plugin for Agent Zero, replacing the legacy
browser-use-based browser agent with a direct Playwright-powered browser tool,
live WebUI viewer, browser session controls, status APIs, configuration, and
extension-management support.

Add browser-specific modal behavior so the browser can run as a floating,
resizable, no-backdrop window, including modal focus, toggle, and idempotent
open helpers for richer WebUI surfaces.

Remove the old `_browser_agent` core plugin and the `browser-use` dependency,
then clean up stale browser-model wiring and references across agent code,
model configuration docs, setup guides, troubleshooting docs, skills, and
Agent Zero knowledge.

Update regression and WebUI extension-surface coverage for the new browser
architecture and modal behavior.

The legacy browser-use implementation has been extracted from core so it can
continue separately as a community plugin published through the A0 Plugin Index for any user or professional that were relying on it for workflow.
2026-04-24 15:43:52 +02:00
Alessandro
5dd40db386 add banners agentic docs 2026-03-31 21:23:58 +02:00
Jan Tomášek
fe278e9495
Merge branch 'development' into browse-extract 2026-03-23 21:35:46 +01:00
frdel
790bd64daa Merge branch 'development' of https://github.com/agent0ai/agent-zero into development 2026-03-23 21:14:48 +01:00
frdel
89d4b8913f refactor: consolidate module loading utilities and add plugin lifecycle improvements
- Move load_classes_from_file and load_classes_from_folder from extract_tools to new modules helper
- Update all imports across api, extension, files, and plugins to use helpers.modules
- Add namespace purging to refresh_plugin_modules for selective plugin reload on Python changes
- Implement embed trimming in history based on model config max_embeds and vision support
- Add pre_update hook documentation to plugin
2026-03-23 21:13:25 +01:00
Alessandro
338c86a058 upgrade tool extension hook to generic get_tool_message_handler
Replace the restrictive `get_tool_message_badge` extension hook with a generic `get_tool_message_handler` hook. This allows plugins to provide a full handler function for their specific `type === "tool"` rows.

Plugins can now completely take over rendering of their tool rows, or they can import and delegate to `drawMessageToolSimple` if they simply want the standard UI with a custom badge. Updated the `_browser_agent` plugin to use the new hook and documented the change in `AGENTS.plugins.md`.

feat: add get_tool_message_badge plugin hook

Add a WebUI extension point `get_tool_message_badge` so plugins can set short tool-row badge codes (`code`) and optional `displayKvps` after core handling for built-in tools (skills, vision, search, memory). Core `drawMessageTool` is now async and calls `callJsExtensions("get_tool_message_badge", …)` on the fallback path.

Remove the hardcoded `browser_agent` → `WWW` branch from `messages.js`. The `_browser_agent` plugin registers `WWW` via `extensions/webui/get_tool_message_badge/browser-tool-badge.js`.

Document the hook in `docs/agents/AGENTS.plugins.md`. With the plugin disabled, `browser_agent` tool rows no longer get a `WWW` badge from core (generic tool row).
2026-03-23 17:56:38 +01:00
Alessandro
c48b26797e plugins: update docs and skills for extensible refactor 2026-03-23 03:42:10 +01:00
Alessandro
6adcefe26e align plugin docs, skills, and validator guidance
Keep plugin terminology, requirements, and cross-references consistent across the
canonical docs, agent skills, and in-repo validator tooling.

Clarify local-only vs Plugin Index expectations, add missing router/developer-doc
references, and update review/validator wording so community plugins require a
name while local-only plugins are not treated as hard failures for omitting it.
2026-03-21 13:53:58 +01:00
Alessandro
2dc6bd54f2 plugins: rename marketplace to plugin hub 2026-03-16 17:54:54 +01:00
Alessandro
48632c2a95 plugin standards in docs; enhance A0 knowledge/main
docs: update installation guide thumbnail and URL

- Updated the video URL and thumbnail to be the new script-based installation guide from YT in README.md and internal docs.

---

- Standardize Python imports for user plugins to `usr.plugins.<plugin_name>...`,
  replacing sys.path hacks and symlink-dependent patterns
- Add cleanup policy: plugins must not leave permanent system modifications
  (symlinks, orphaned services, stray files) after deletion
- Remove superseded plugin-import-standards-report.md (recommendations are now
  integrated into the actual docs)
- Updated surfaces: AGENTS.md, AGENTS.plugins.md, developer/plugins.md,
  a0-create-plugin skill

---

update AGENTS.md and enhance agent-facing knowledge of A0

Enhanced the knowledge of the framework by removing the 1:1 copy of our GitHub README.md at the root and replacing it with a docs set for agents, to know more about Agent Zero without all the noise from URLs, explanations meant only for users.

Updated AGENTS.md accordingly.
2026-03-16 04:05:24 +01:00
Alessandro
2df1a3e43e feat: A0 plugins skillset; update docs; add agent plugin scan endpoint
skills: offload debug from a0-manage-plugin; add a0-debug-plugin
add endpoint for agent-facing plugin security scan

Combine queue and start calls into a synchronous operation, works as the frontend modal version with the agent installing the plugin that gets returned scan results.

For the helper, if the agent had to build the prompt itself, it would need to:

Fetch plugin-scan-checks.json from the server
Fetch plugin-scan-prompt.md from the server
Interpolate all 8 template variables
Send the resulting ~3KB prompt as part of its own context
That's ~3KB of prompt template burning context window on every scan call, plus two extra HTTP requests. With helpers/prompt.py doing it server-side, the agent just sends {"git_url": "...", "checks": [...]} - a handful of tokens - and the server assembles the full prompt internally.
2026-03-16 04:04:37 +01:00
Alessandro
7b1f3fbbac rename init to execute.py; update docs + create plugin skill 2026-03-16 04:04:37 +01:00
frdel
a48ac95a29 feat(plugins): Add extensibility and hooks system to plugin API
Add @extension.extensible decorators to all plugin API handler methods and core plugin functions to enable extension points. Implement plugin hooks system allowing plugins to define custom behavior via hooks.py file. Add call_plugin_hook function to execute plugin-specific hooks for events like uninstall, save_plugin_config, and get_plugin_config. Introduce uninstall_plugin function that calls uninstall hook before deletion. Move circular
2026-03-12 13:21:33 +01:00
linuztx
b0068966d3 docs(plugins): Add model providers section to plugin documentation 2026-03-12 08:51:42 +08:00
Alessandro
b56ac7ddff update plugins docs + skill 2026-03-11 13:19:41 +01:00
frdel
a807e2458b Use prototype-based context for plugin settings
Refactor plugin settings to use a per-modal prototype/context instead of binding directly to the global store. Introduces pluginSettingsPrototype (renamed export) and a lightweight instantiate helper (Alpine.magic('instantiate')) to clone the prototype into a modal-local context. Plugin config HTMLs (code_execution, infection_check, memory, text_editor) now bind UI fields to config.* and use context.* for modal-level state and actions; plugin settings components (plugin-settings.html, plugin-configs.html, plugin-settings-store.js, pluginListStore.js) were updated to create and consume the local context and to pass context into nested modals. Documentation and the SKILL guide were updated to describe the new modal contract and usage. This change scopes settings UI state to modal instances, enabling safer local state and easier integration with core-setting wrappers (use context.saveMode = 'core').
2026-03-09 21:19:55 +01:00
Alessandro
ae62cfc1ca marketplace polish; add confirm-dialog extension hook and plugin_scan marketplace note
Add a generic JS extension point for the shared confirm dialog so plugins can
augment the warning body and footer without hardcoding scanner logic in the
installer.

- webui/js/confirmDialog.js: call callJsExtensions('confirm_dialog_after_render')
  with dialog/body/footer nodes and optional extensionContext; defer show until
  extensions run; add isClosed guard and Enter key handling for extension buttons.
- plugins/plugin_installer: pass extensionContext only from installFromIndex()
  (kind: marketplace_plugin_install_warning, gitUrl, etc.); ZIP/Git install
  flows unchanged.
- plugins/plugin_scan: new extension confirm_dialog_after_render that, for
  marketplace install warnings, appends recommendation text and a "Scan with A0"
  button that closes the dialog and opens the scanner modal with the repo URL.
- webui/css/modals.css: margin for .confirm-dialog-extension-note.
- docs: document confirm_dialog_after_render and when to use JS hooks vs HTML
  breakpoints (AGENTS.plugins.md, developer/plugins.md).
2026-03-09 11:41:10 +01:00
Alessandro
c51f313d94 docs: update plugin docs and skill
update plugin skill and docs
2026-03-03 19:07:16 +01:00
Alessandro
6f6348850d update agents, human docs, plugin skill 2026-02-22 19:37:42 +01:00
Alessandro
a13b81a9a1 update docs, AGENTS.md and skill 2026-02-20 08:27:00 +01:00