Skip to content
This repository was archived by the owner on Apr 4, 2026. It is now read-only.

Full upstream sync: plugins, helpers, tools, prompts, webui, api#44

Open
Nafania wants to merge 10 commits into
mainfrom
feat/upstream-full-sync
Open

Full upstream sync: plugins, helpers, tools, prompts, webui, api#44
Nafania wants to merge 10 commits into
mainfrom
feat/upstream-full-sync

Conversation

@Nafania
Copy link
Copy Markdown
Owner

@Nafania Nafania commented Mar 31, 2026

Summary

Comprehensive sync of our fork with upstream agent0ai/agent-zero main branch. This brings our codebase in line with upstream while preserving our Cognee-based memory backend.

Changes by area (644 files changed, ~36k insertions, ~36k deletions):

Phase 0: Legacy cleanup

  • Deleted plugins/chat_compaction, plugins/text_editor, plugins/infection_check (superseded by underscore-prefixed versions)
  • Fixed stale get_plugin_config() references

Phase 1: Recreated 5 plugins from upstream

  • _chat_compaction, _text_editor, _chat_branching, _plugin_installer, _plugin_scan — all replaced with upstream implementation

Phase 2: Synced 4 diverged plugins

  • _browser_agent — replaced with upstream (new browser_llm.py pipeline, openrouter compat, output sanitizer)
  • _code_execution — full upstream sync (all prompts, webui, config-driven defaults)
  • _error_retry — upstream config schema, removed fork-only constants.py
  • _model_config — upstream implementation (removed fork's browser_model/rl_concurrent)

Phase 3: Minor sync _promptinclude — added README, prompt template, thumbnail

Phase 4: Hybrid sync _memory

  • Kept Cognee backend (memory.py, cognee_init.py, cognee_background.py, cognee_feedback.py, vector_db.py)
  • Added upstream prompts (17 files), webui (dashboard, config), default_config.yaml, memory_consolidation.py
  • Moved Cognee-specific helpers from top-level helpers/ into plugins/_memory/helpers/ where they belong
  • Fixed all import paths

Phase 5: Ported 4 new upstream plugins

  • _onboarding, _plugin_validator, _email_integration, _telegram_integration

Phase 6: Synced helpers/

  • Added 9 missing upstream helpers (context_utils, faiss_monkey_patch, kvp, network, performance, self_update, update_check, server_startup, ui_server)
  • Renamed websocket.py → ws.py, websocket_manager.py → ws_manager.py (upstream convention)
  • Deleted 15 helpers that moved into plugins

Phase 7: Synced tools/ — 6 files replaced with upstream versions

Phase 8: Synced prompts/ — deleted 34 prompts that moved into plugins, added 1 missing upstream prompt, updated 70 shared prompts

Phase 9: Synced webui/ — deleted 15 fork-only files, added 28 missing upstream files, synced all shared components/JS/CSS

Root/API sync — replaced agent.py, models.py, run_ui.py, initialize.py, etc. with upstream; synced all api/ handlers; deleted 19 fork-only API files

Test cleanup — removed 92 test files testing fork-specific code that no longer exists

Test plan

  • All Python files parse without syntax errors
  • pytest tests/1250 passed, 0 failed, 1 skipped
  • Docker build and manual verification
  • Verify memory dashboard still works with Cognee backend
  • Verify plugin system loads all 16 plugins correctly

Nafania added 10 commits March 31, 2026 22:42
- Remove plugins/chat_compaction (superseded by _chat_compaction)
- Remove plugins/text_editor (superseded by _text_editor)
- Remove plugins/infection_check (superseded by _infection_check)
- Fix get_plugin_config("error_retry") → get_plugin_config("_error_retry")
- Fix test_api_dispatch to use _memory instead of memory

Made-with: Cursor
…r, _chat_branching, _plugin_installer, _plugin_scan)

Made-with: Cursor
…mail_integration, _telegram_integration)

Made-with: Cursor
Task A - _promptinclude plugin sync:
- Added missing: README.md, prompts/fw.promptinclude.includes.md, webui/thumbnail.jpg
- Updated existing: plugin.yaml, default_config.yaml, helpers/__init__.py,
  helpers/scanner.py, webui/config.html,
  extensions/python/system_prompt/_16_promptinclude.py,
  prompts/agent.system.promptinclude.md

Task B.1 - Added 7 missing upstream helpers:
- context_utils.py, faiss_monkey_patch.py, kvp.py, network.py,
  performance.py, self_update.py, update_check.py

Task B.2 - Renamed websocket helpers to match upstream:
- helpers/websocket.py → helpers/ws.py (upstream content)
- helpers/websocket_manager.py → helpers/ws_manager.py (upstream content)
- Deleted helpers/websocket_namespace_discovery.py (removed upstream)
- Updated all imports across 19 files

Task B.3 - Deleted helpers that moved into plugins (404 upstream):
- browser_use.py, browser_use_monkeypatch.py (→ plugins/_browser_agent/)
- shell_local.py, shell_ssh.py, tty_session.py (→ plugins/_code_execution/)
- memory.py (→ plugins/_memory/)

Made-with: Cursor
…ecution, _error_retry, _model_config)

Made-with: Cursor
…ognee backend)

Add all missing upstream structure files to _memory plugin while
preserving our Cognee-based storage architecture:

Added from upstream:
- default_config.yaml (plugin settings with defaults)
- README.md (plugin documentation)
- prompts/ (17 prompt templates for memory operations)
- webui/ (config.html, main.html, dashboard UI, dashboard store JS, thumbnail)
- extensions/python/embedding_model_changed/ (memory reload on model change)
- extensions/webui/ (sidebar quick-action entries)
- helpers/memory_consolidation.py (intelligent memory consolidation)

Preserved (not overwritten):
- helpers/memory.py (Cognee-based memory implementation)
- helpers/cognee_*.py (Cognee initialization, background worker, feedback)
- helpers/vector_db.py (Cognee vector DB adapter)
- api/memory_dashboard.py (Cognee-specific dashboard with graph visualization)
- api/memory_feedback.py (Cognee feedback API)
- All existing extensions (Cognee-specific imports and logic)
- All existing tools (session_id passing for Cognee)

Made-with: Cursor
…diverged)

Full sync of webui/ directory with upstream agent0ai/agent-zero main branch.

Deleted 15 local-only files:
- slash-commands.js, memory dashboard, metrics dashboard
- individual model HTML files (browser, chat, embed, util)
- skills-store.js, memory-recall-feedback.js, model-picker.js, oauth.js

Added 28 new upstream files:
- bottom-actions-bar, composer-banner-store
- markdown modal, plugin system (list, configs, info, settings, toggles)
- project-edit-skills, self-update, plugins subsection
- skills import/list stores, html-links.js, safe-markdown.js
- SVG assets (a0-collapsed, a0-fullDark), dompurify vendor

Synced 74 modified files across all webui subdirectories:
- components/ (chat, modals, notifications, plugins, projects, settings, sidebar, etc.)
- css/, js/, public/, vendor/

Made-with: Cursor
Remove 61 test files that test fork-only features no longer present
after upstream sync (websocket handlers, oauth, custom memory settings,
fork-specific API dispatch, etc.). 1250 tests still pass.

Made-with: Cursor
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant