Commit graph

301 commits

Author SHA1 Message Date
Alessandro
5479cded95 Merge branch 'main' into ready 2026-04-12 17:27:51 +02:00
Silver Zachara
f5e21b9871
Fix typos in memory.solutions_sum.sys.md 2026-04-12 16:34:16 +02:00
Alessandro
d30a565549 browser-agent: selectable _model_config preset for browser runs
This PR keeps the Browser Agent runtime behavior as-is and only adds in the model-preset option for browser runs (highly requested by our users).

The Browser Agent can now use either:
- the effective Main Model from `_model_config`, or
- one saved `_model_config` preset dedicated to browser tasks

- this PR brings back LLM customization for Browser Agent plugin, but without over engineering. Model presets-only, not custom provider + LLM, like we have in Email Integration.
- created a separate `browser-agent-store.js` page store to remove JS from within x-data in the HTML markup of main.html
2026-04-12 03:38:41 +02:00
Alessandro
8c5cf1f69f add built-in A0 CLI Connector plugin
Introduce the builtin `_a0_connector` plugin that lets the host-side
A0 CLI connect to Agent Zero over authenticated HTTP and `/ws`.

This adds connector capability discovery, chat/context lifecycle
endpoints, log streaming, and the remote text editing, code execution,
and file tree bridge used by the CLI workflow.
2026-04-11 18:56:32 +02:00
Alessandro
395ef8dd33 integrations: add native chat controls and email config presets
Add shared transport-level control commands so Telegram, WhatsApp, and
email threads can manage the active chat directly.

- add a shared integration command helper for /project, /config, /send,
  and /queue send
- wire native command handling into Telegram and WhatsApp sessions
- expose Telegram control commands through bot command routing and update
  transport docs
- add email thread command handling for existing A0 email conversations
- add an optional per-handler email conversation preset backed by model
  presets in the email settings UI and default config
- document the new transport control flow across Telegram, WhatsApp, and
  email
2026-04-11 18:49:13 +02:00
Alessandro
2000ba74a3 ui: redesign email, Telegram, and WhatsApp settings
Redesign the three messaging integration panels with a clearer, more guided
setup flow and polished user experience.

- simplify the email panel by surfacing the essentials first, moving
  advanced scheduling behind Advanced, and making connection checks more
  visible
- redesign Telegram and WhatsApp as step-based setup flows with clearer
  status states, safer access warnings, richer test feedback, and more
  responsive layouts
- add shared plugin-settings wizard footer support, extract WhatsApp state
  into its own store, and align test-connection messages with the new UX

ux: ease Email connector setup and refresh copy

- Redesign the Email connector settings around a guided first-run flow with a clearer empty state, provider presets, and much friendlier copy
- Move server, routing, and scheduling power-user controls into an `Advanced` section while keeping the existing config model compatible
- Improve connection-test messaging, add Exchange inbound validation, and refresh the dashboard Email card copy while keeping the card visible
- Verify the updated setup flow in the browser on desktop and mobile

update and simplify x-data based on established frontend patterns

Update 10_discovery_cards.py

further polishing and first-draft no-click model for email and telegram

update whatsapp

Update telegram-config-store.js
2026-04-11 01:40:24 +02:00
Alessandro
c9eadf400a add built-in Skills selector plugin
Added a builtin plugin that you can open from the chat input plus button menu, which shows you a list of skills that you can directly activate in the current context/project.

Default configs allow users to start over with skills already active, instead of losing time and tokens asking Agent Zero to do it.

Update prompt for manual skill selector

add thumbnail for _skills builtin plugin
2026-04-08 14:02:09 +02:00
Alessandro
1cbecc241e memory: harden FAISS integrity and consolidation scoring
- Add FAISS index integrity checks using a SHA-256 sidecar (`index.faiss.sha256`) and write hash on save.
- Harden `memory_load` filter evaluation with input validation (allowlist + length cap) and `simple_eval(..., functions={})`.
- Add score-preserving similarity search and use real relevance scores in consolidation (including best-score dedupe by memory id).
- Prevent utility-model context overflows by truncating memorize input history for fragments and solutions.
2026-04-08 14:02:05 +02:00
Alessandro
92fcdbf8e6 add thumbnail for _discovery plugin 2026-04-03 17:14:34 +02:00
Alessandro
86dca86f6f prompts: restore legacy, plugins, agent0 profile
Restore main.communication, main.solving, main.tips and tool.response, which made the model dumber. For some reasons the drawback was more visible with frontier LLMs.

restore builtin plugins and agent0 profile
2026-04-03 06:49:25 +02:00
Alessandro
ef92a5e378 prompts: restore tool examples for better model guidance
Commit 54362bf8ee went too far stripping too many JSON examples to guide LLMs.
2026-04-02 18:50:13 +02:00
Jan Tomášek
756654b2ba
Merge pull request #1389 from 3clyp50/a0_small
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
prompts: adopt compact defaults and rebalance guidance
2026-04-02 16:21:29 +02:00
Jan Tomášek
01de1f7bca
Merge pull request #1402 from 3clyp50/discovery
feat: add plugin discovery to dashboard and onboarding wizard
2026-04-02 16:21:05 +02:00
Alessandro
0061b3a511 feat: add built-in plugin discovery cards to the welcome screen
Add the always-enabled `_discovery` plugin to turn the welcome screen into a discovery surface for the Plugin Hub and A0 integrations.

Includes a hero card plus Telegram, Email, and WhatsApp feature cards, with persistent dismiss/restore state, CTA routing to plugin config screens, and self-contained placeholder artwork. Implemented entirely through the existing WebUI extension mechanism with no core welcome-screen changes.

stores cleanup

layout polish and onboarding integration

Move feature card titles beside thumbnails for better space efficiency
and visibility. Restructure card markup and styles to support a fluid
grid layout and horizontal alignment.

Integrate discovery cards into the final onboarding step via a new
'onboarding-success-end' extension point, ensuring new users see
extension opportunities immediately after setup.

Hide discovery cards on the dashboard while the missing API key
onboarding banner is visible to reduce UI noise and user confusion during initial config.

update discovery card initialization and loading logic

Enhance the discovery store to fetch cards from the API, improving the dynamic loading of discovery cards based on user context. This change optimizes the user experience by ensuring relevant cards are displayed immediately after onboarding and when modals are closed.

And on top of that, there's a proper backend for these new cards.
2026-03-31 19:59:16 +02:00
Nicolas Leão
b531e5ee42 simplify preset editing screen 2026-03-31 14:08:04 -03:00
frdel
80518f22a6 Squashed commit of the following:
commit 5193ef7501
Author: frdel <38891707+frdel@users.noreply.github.com>
Date:   Tue Mar 31 09:47:02 2026 +0200

    refactor: change default mode from dedicated to self-chat and reorder UI settings

    - Change default mode to self-chat across all modules
    - Update README to reflect self-chat as primary mode with security warning
    - Move session/media storage from usr/whatsapp to tmp/whatsapp
    - Reorder config UI: move Mode above Allowed Numbers
    - Add warning banner when allowed_numbers is empty in self-chat mode
    - Move Bridge Port and Poll Interval to bottom of settings
    - Update mode descriptions to clarify self-chat handles both self

commit 9fece911b5
Author: frdel <38891707+frdel@users.noreply.github.com>
Date:   Tue Mar 31 09:20:35 2026 +0200

    refactor: centralize WhatsApp storage paths and improve bridge dependency handling

    - Add storage_paths.py helper for consistent session/media/runtime paths
    - Replace hardcoded usr/whatsapp paths across all modules
    - Fix bridge lock to be event-loop-aware (recreate per loop)
    - Add automatic dependency reinstall on startup failures
    - Track bridge startup output for better error diagnostics
    - Add dependency state tracking with package.json hash validation
    - Implement force reinstall when node_modules appears

commit bc511d221d
Author: linuztx <linuztx@gmail.com>
Date:   Tue Mar 31 09:07:46 2026 +0800

    fix: stop poll loop immediately when Node.js is not installed

commit a9554e132f
Author: linuztx <linuztx@gmail.com>
Date:   Tue Mar 31 08:49:15 2026 +0800

    fix: auto-reinstall corrupt node_modules and stop poll loop after repeated bridge failures

    _ensure_npm_install now verifies key package exists, not just
    node_modules dir. Wipes and reinstalls if corrupt.

    Poll loop stops after 5 consecutive bridge start failures instead
    of spamming errors and making A0 unusable.

commit 61fa1bf487
Author: linuztx <linuztx@gmail.com>
Date:   Tue Mar 31 08:38:51 2026 +0800

    fix: move allowed_numbers filtering from JS bridge to Python handler

    The JS bridge used LIDs (internal WhatsApp identifiers) for sender
    matching which never matched actual phone numbers. Moved filtering
    to Python handler.py where config is read fresh each poll cycle.

    - Add senderNumber (resolved phone) to bridge message payload
    - Filter in poll_messages() with normalized number comparison
    - Remove --allowed-numbers CLI arg and JS-side filtering
    - Fix ensure_bridge_http_up not recording _bridge_config
    - Fix falsy empty-dict check in bridge restart detection

commit 64ee177897
Author: linuztx <linuztx@gmail.com>
Date:   Sat Mar 28 23:34:23 2026 +0800

    refactor: move email agent instructions to system prompt and update prompt labels

commit 0f53b41d80
Author: linuztx <linuztx@gmail.com>
Date:   Sat Mar 28 10:59:44 2026 +0800

    Add node_modules to gitignore

commit eb6a4d3ad2
Author: linuztx <linuztx@gmail.com>
Date:   Sat Mar 28 10:53:59 2026 +0800

    Add WhatsApp plugin thumbnail

commit 39bed4f538
Author: linuztx <linuztx@gmail.com>
Date:   Sat Mar 28 10:51:47 2026 +0800

    refactor: rename allowed_users to allowed_numbers across plugin

commit e4991b6e6e
Author: linuztx <linuztx@gmail.com>
Date:   Fri Mar 27 21:58:29 2026 +0800

    improve: move agent instructions from per-message to system prompt

commit 4f1be15fa7
Author: linuztx <linuztx@gmail.com>
Date:   Fri Mar 27 21:00:25 2026 +0800

    improve: add macOS port kill support and bridge process destructor cleanup

commit f5349753d7
Author: linuztx <linuztx@gmail.com>
Date:   Fri Mar 27 17:09:56 2026 +0800

    improve: remove redundant bridge_manager from execute, rely on poll loop finally

commit 9d9dd4bd7f
Author: linuztx <linuztx@gmail.com>
Date:   Fri Mar 27 14:41:14 2026 +0800

    fix: stop bridge and poll loop when plugin is disabled or toggled off

commit 66b0a7d3e0
Author: linuztx <linuztx@gmail.com>
Date:   Fri Mar 27 11:05:58 2026 +0800

    improve: fix allowed users input, auto-strip + prefix, log ignored messages

commit 938e7b9312
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 23:26:42 2026 +0800

    improve: add line break to allowed users description

commit 4ef64b9121
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 22:44:55 2026 +0800

    feat: convert markdown to WhatsApp formatting before sending replies

commit f549b49f44
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 22:34:56 2026 +0800

    improve: add progress update instructions to system context prompt

commit 66e5d51dcf
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 22:23:32 2026 +0800

    fix: stop typing indicator on agent error or generation failure

commit 3dd01cd04c
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 18:31:38 2026 +0800

    improve: persistent typing indicator with poll-based refresh

commit 8d0ec86f15
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 17:11:25 2026 +0800

    Update README.md

commit e664673c1c
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 16:05:44 2026 +0800

    feat: add agent prefix to self-chat replies for visual distinction

commit 18c5716d10
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 15:43:01 2026 +0800

    fix: clear typing indicator after sending reply in self-chat mode

commit 7c653c9d56
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 14:43:06 2026 +0800

    improve: merge WhatsApp Link and Disconnect into single Account field

commit 57c95e6f13
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 14:11:05 2026 +0800

    feat: add disconnect account option to switch WhatsApp accounts

commit c62695356e
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 14:00:00 2026 +0800

    improve: move mode description inline and reorder Allow Group after Allowed Users

commit 18a56ea446
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 13:44:17 2026 +0800

    fix: remove duplicate typing indicator before sending reply

commit 44c90a118f
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 13:30:06 2026 +0800

    improve: remove sender number from DM prompt

commit 64fe7d0302
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 13:17:29 2026 +0800

    fix: handle documentWithCaptionMessage wrapper for captioned documents

commit 00b6657185
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 13:06:40 2026 +0800

    feat: add attachment reader/writer with RFC and download all media types

commit 8041c085d2
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 11:45:17 2026 +0800

    improve: update group prompt and reply instructions

commit 71a6eb7557
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 11:26:36 2026 +0800

    feat: reply to specific messages in group chats with quote

commit 6bf63eb9c6
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 09:57:34 2026 +0800

    feat: detect replies to bot messages in group chats

commit b4492e0759
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 09:20:27 2026 +0800

    improve: resolve group names and sender LIDs in bridge messages

commit 14e673f165
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 04:44:50 2026 +0800

    feat: add allow_group toggle to respond only when mentioned in group chats

commit 40f4884319
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 03:20:02 2026 +0800

    refactor: rename mode value from bot to dedicated

commit 50af7c2bde
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 02:34:51 2026 +0800

    fix: kill orphaned bridge process on port before starting new one

commit 45b21c093a
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 02:07:45 2026 +0800

    improve: auto-restart bridge when config changes

commit a12183ba6e
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 01:39:55 2026 +0800

    feat: add bot and self-chat mode selection for WhatsApp bridge

commit bb8961ab73
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 00:56:56 2026 +0800

    improve: send typing indicator immediately on message receive

commit 84c12b0c23
Author: linuztx <linuztx@gmail.com>
Date:   Thu Mar 26 00:29:04 2026 +0800

    feat: add WhatsApp integration plugin with Baileys bridge and QR pairing
2026-03-31 09:47:25 +02:00
Alessandro
54362bf8ee prompts: adopt compact defaults and rebalance guidance
Promote the a0_small prompt work into the shipped default stack.

Token count for default prompt, accounting for tools, plugins, secrets placeholders, inactive project, etc: 2996 tokens.

- migrate compact prompt fragments into core prompts, plugin-owned prompts, and the agent0 overlay
- remove the obsolete a0_small profile and rename the tool-call knowledge reference to a generic framework file
- keep a small set of high-value JSON examples while preserving key guardrails for tool names, tool args, and method-style calls
- bake balanced conciseness into default response behavior without changing the initial greeting
- drop the call_sub prompt-side loader and keep call_sub guidance self-contained
- restore essential secrets/security guidance, preserve inactive-project messaging, and rebalance the A2A prompt
- add a regression test that verifies the assembled default agent0 prompt stays under the token budget and retains critical guardrails
2026-03-30 21:44:20 +02:00
frdel
3df7065685 Squashed commit of the following:
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
commit e48ee68bf6
Author: keyboardstaff <keyboardstaff@gmail.com>
Date:   Sun Mar 29 06:27:50 2026 -0700

    fix(_model_config): restore utility preset provider fallback and empty option

commit c16134e624
Author: keyboardstaff <keyboardstaff@gmail.com>
Date:   Sun Mar 29 00:28:49 2026 -0700

    fix(_model_config): prevent Settings Save from clobbering API keys saved via Configure Models

commit 9ff4133d7d
Author: keyboardstaff <keyboardstaff@gmail.com>
Date:   Sat Mar 28 10:11:57 2026 -0700

    refactor(_model_config): extract reusable model-field component, split store into mixins, unify API key lifecycle

commit 14de2ab442
Merge: 69e17748 eef6d6d0
Author: Wabifocus <keyboardstaff@gmail.com>
Date:   Sat Mar 28 19:41:43 2026 -0700

    Merge pull request #48 from agent0ai/development

    Development
2026-03-30 17:19:33 +02:00
frdel
44e008745d Sanitize print logs; refactor popular plugin logic
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Ensure printed output and HTML logs are safe by importing and applying sanitize_string, opening log files with utf-8 and errors='replace', and sanitizing text before writing. Add tests to verify lone surrogate characters are replaced and that logging won't crash on invalid Unicode. In the plugin installer UI, introduce POPULAR_PLUGIN_MIN_STARS and centralize popularity checking in _isPopularPlugin, using it for filtering and counts.
2026-03-30 11:50:59 +02:00
frdel
2a21500a88 onboarding thumbnail
generated thumbnail for onboarding plugin
2026-03-30 09:43:05 +02:00
Nicolas Leão
eef6d6d007
Merge pull request #1362 from TerminallyLazy/update-model-config-ui
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
Add model config presets and ignore agent artifacts
2026-03-28 16:20:08 -03:00
Nicolas Leão
7e7933e235
Merge pull request #1359 from 3clyp50/pluginreadme
fix plugin README image rebasing and sanitize rendered markdown
2026-03-28 16:13:47 -03:00
Alessandro
c2e14b6cd1 sanitize plugin markdown rendering with shared helper
Add a shared safe markdown pipeline for plugin READMEs and docs.

- vendor DOMPurify and introduce a shared safe-markdown helper
- centralize GitHub README link/image rebasing, including repo routes like `releases`
- sanitize rendered HTML before all plugin-related x-html sinks
- apply the shared renderer to Plugin Hub README, installed plugin README, and markdown modal docs
- preserve target/rel handling for external links
2026-03-28 19:29:26 +01:00
frdel
1eb78607c9 Remove scan queue and enable parallel plugin scans
Remove the scan queue mechanism that serialized plugin scans. Each scan now runs in its own temporary chat context immediately upon request, allowing multiple scans to execute in parallel. Update UI to reflect that scans are no longer queued and remove the "queued" state tracking from store and API.
2026-03-28 18:52:17 +01:00
TerminallyLazy
a2547f12a1 Add model config presets and ignore agent artifacts
- Add model switcher component for chat input with progress display
- Enhance model config store with active preset/model retrieval
- Show agent progress as ghost text in chat input placeholder
- Add agent artifact patterns to .gitignore
2026-03-28 11:10:52 -04:00
Alessandro
baa806558e Handle GitHub route links in README rebasing 2026-03-28 14:47:07 +01:00
Alessandro
1304195d4c ux: onboarding flow prototype
reuse /banners for composer missing-key status

polish onboarding ui; add chat composer API key banner

drop dedicated status backend endpoint
2026-03-27 18:46:09 +01:00
frdel
b6d152c873 Merge branch 'development' into ready
Some checks failed
Build And Publish Docker Images / plan (push) Has been cancelled
Build And Publish Docker Images / build (push) Has been cancelled
2026-03-27 10:40:22 +01:00
frdel
fad07c5ba8 Remove force parameter from plugin index fetch in API handler
Remove force parameter parsing and passing from _fetch_index method in PluginInstall API handler. The force refresh functionality is now handled client-side through cache-busting headers and timestamp parameters added in previous commit (c7a9836).
2026-03-27 10:26:50 +01:00
Nicolas Leão
486eafd97b
Merge pull request #1339 from nicolasleao/feat-chat-compaction
Some checks are pending
Build And Publish Docker Images / plan (push) Waiting to run
Build And Publish Docker Images / build (push) Blocked by required conditions
fix: add thumbnail to chat compaction plugin
2026-03-26 17:24:45 -03:00
Nicolas Leão
0d1f84e33e fix: add thumbnail to chat compaction plugin 2026-03-26 17:15:59 -03:00
Nicolas Leão
b2dca35584
Merge pull request #1338 from nicolasleao/feat-chat-compaction
feat: Add built-in chat compaction plugin
2026-03-26 17:13:18 -03:00
Nicolas Leão
140869eb9a feat: validate min tokens for compaction 2026-03-26 16:20:40 -03:00
Nicolas Leão
32eb5f8fba feat: allow model selection in compaction modal 2026-03-26 16:01:55 -03:00
Nicolas Leão
d42301a9b1 feat: save conversation backups before compaction 2026-03-26 15:43:09 -03:00
frdel
c7a983638e Add force refresh support and state management improvements to plugin installer and model config
- Add force parameter to plugin index fetch with cache-busting headers and timestamp
- Add openIndexView and reloadIndex methods to pluginInstallStore for explicit refresh
- Add request sequence tracking to prevent race conditions in concurrent index loads
- Move models summary state from component to store with loading/caching support
- Add refreshModelsSummary, ensureModelsSummaryLoaded, and modal
2026-03-26 17:24:32 +01:00
Nicolas Leão
fdb5cf31c6 fix: incorrect message count on compacted message 2026-03-26 12:01:52 -03:00
Nicolas Leão
bb89b7ae7f fix: active chat detection 2026-03-26 11:30:19 -03:00
Nicolas Leão
9fc2d9570f rename chat_compaction plugin to match convention 2026-03-26 11:23:24 -03:00
Nicolas Leão
5b3240677d feat: add chat compaction built-in plugin 2026-03-26 13:56:48 +00:00
frdel
247c8d845f Change default self-update backup directory from /a0/tmp to /root and add lazy aiogram dependency loading for Telegram plugin
- Update default backup path from /a0/tmp/self-update-backups to /root/update-backups in self_update_manager.py, helpers/self_update.py, and documentation
- Move aiogram from global requirements.txt to plugin-local requirements for _telegram_integration
- Add ensure_dependencies() helper that installs aiogram on-demand via uv pip install
- Add has_aiogram() check to avoid
2026-03-26 10:20:35 +01:00
Alessandro
153a1e521d browser_agent: --no-sandbox flag; OpenRouter/sanitize helpers
Launch Chromium with --no-sandbox alongside --headless=new so the browser agent
runs in containers without sandbox failures (temp profile missing bug).

Factor LLM workarounds into helpers: sanitize structured JSON before browser-use/Pydantic parsing, and normalize OpenRouter requests that use strict json_schema (lighter json_object path plus schema hint in messages,
relax strict tool flags so providers like Anthropic don't error out).
2026-03-25 21:18:28 +01:00
frdel
4d23425072 Move Per-Chat Override section to bottom of model configuration UI 2026-03-25 20:58:06 +01:00
frdel
2e84c8d215 telegram thumbnail, v1.X release notes preparation 2026-03-25 16:20:40 +01:00
frdel
4d32432d54 Remove memory quick action extension, increase header icons dropdown shadow
- Delete memory-entry.html extension from sidebar quick actions
- Increase dropdown box-shadow from `0 2px 8px rgba(0,0,0,0.1)` to `0 2px 13px 2px rgba(0,0,0,0.3)`
2026-03-24 19:37:33 +01:00
frdel
6d44c885f8 Update default_config.yaml 2026-03-24 19:28:32 +01:00
frdel
986c1b1cee Refactor default presets, fix chardet version conflict, improve welcome banner refresh logic
- Rename presets: "Efficiency" → "Max Power", "Intelligence" → "Balance", add "Cost Efficient"
- Update preset models: use Claude Opus 4.6, Sonnet 4.6, Kimi K2.5, GPT-5.4-mini/nano, Gemini 3.1 Flash Lite
- Adjust context lengths and vision capabilities across presets
- Pin chardet<6 to avoid import warnings from requests when unstructured is installed
- Replace settings-updated listener with modal-closed event
2026-03-24 19:17:12 +01:00
Jan Tomášek
ab28c0f25a
Merge pull request #1320 from 3clyp50/dev2
Decouple browser model wiring; sidebar quick actions; chat input height and fullscreen icon
2026-03-24 19:14:15 +01:00
Alessandro
5f235f73f6 model_config: decouple browser agent model wiring
Move the browser model instantiation logic out of `_model_config` and into `_browser_agent` to properly invert the dependency direction.

This prevents the always-enabled `_model_config` plugin from taking a hard dependency on the optional `_browser_agent` module, ensuring it won't break if the browser module is removed or replaced.
2026-03-24 18:09:48 +01:00
frdel
75b8085b65 Add unzip to Docker base packages, refactor API key handling, improve self-update system
- Add unzip package to Docker base installation
- Remove deprecated missing API key banner extension
- Refactor API key management: clear drafts on init, track dirty state, allow empty string saves
- Add version filtering to self-update: enforce minimum v0.9.9, validate tag format
- Improve self-update UI: convert howto to Bootstrap collapse, fix branch selector reactivity, group tag suggestions
- Fix settings
2026-03-24 17:17:19 +01:00