* feat(search): add Sogou search provider
* fix(search): use new endpoint and API version for sogou
* feat(search): add Serper, SearXNG, Jina, Exa, Bocha, DuckDuckGo search providers
Add six new search provider integrations:
- Serper: Google search via Serper API
- SearXNG: Self-hosted meta search engine
- Jina: Jina AI search API
- Exa: Exa neural search API
- Bocha: Bocha AI web search
- DuckDuckGo: DuckDuckGo HTML search (no API key required)
Each provider includes backend implementation, config schema,
i18n entries, and Vue settings component.
* feat(search): add Yandex search provider
Add Yandex search provider with XML response parsing and
configurable search type (RU/TR/COM).
---------
Co-authored-by: Menci <mencici@msn.com>
* feat(devenv): add containerized development environment
Replace local-process dev workflow with a fully containerized stack
using docker compose. This enables consistent development across
machines without requiring local Go/Node toolchains or containerd.
- Add Dockerfile.server.dev with containerd + CNI networking support
- Add Dockerfile.web.dev for frontend dev server
- Add server-dev-entrypoint.sh for containerd lifecycle management
- Expand devenv/docker-compose.yml with server, agent, web, migrate
and deps services with proper health checks and dependency ordering
- Update app.dev.toml to use container service names instead of localhost
- Refactor mise.toml dev tasks to drive docker compose workflow
- Support agent_gateway.server_addr in config package for inter-container
communication
* feat(devenv): add hot-reload and registry mirror support
- Add air for Go server hot-reload in dev containers
- Fix agent_gateway host in dev config (0.0.0.0 -> agent)
- Add configurable registry mirror for China mainland users
- Unify MCP image refs via MCPConfig.ImageRef()
* feat(scripts): add China mainland mirror option to install script
Prompt users to opt-in to memoh.cn mirror during installation,
which applies docker-compose.cn.yml overlay and sets registry
in config.toml for MCP image pulls.
* fix(a11y): improve landmark semantics and control labeling across web UI
* refactor(web): simplify frontend patterns and reduce duplication
Introduce shared composables and reusable UI shells to keep pages smaller while preserving behavior across settings, bots, selectors, and realtime streaming.
* style(web): apply lint autofix formatting
* refactor(web): modularize chat helpers and split settings sections
This reduces frontend maintenance risk by moving shared logic into focused modules/components while keeping existing behavior and import paths stable.
* refactor(web): remove legacy chat-list and unify dialog submit flow
Drop the unused legacy chat-list stack to reduce maintenance overhead, and centralize dialog mutation error handling so submit behavior stays consistent across create/edit dialogs.