Commit Graph

279 Commits

Author SHA1 Message Date
BBQ bf0eeb0e80 feat(search): add 8 new search providers (#135)
* 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>
2026-02-27 00:00:44 +08:00
斬風千雪 d4ad1597e3 fix(agent): force flush remaining text before call tools (#134) 2026-02-26 23:59:49 +08:00
Acbox Liu fe10abf3fc refactor: inbox (#137)
* refactor: inbox

* fix: migrations

* fix: migrations
2026-02-26 20:16:02 +08:00
BBQ d6aebf654f feat(devenv): add containerized development environment (#116)
* 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.
2026-02-26 17:32:19 +08:00
Menci 08f5130c66 feat(search): add Tavily search provider 2026-02-26 15:54:14 +08:00
Acbox Liu 2f38662d4d feat: heartbeat (#108)
* feat: heartbeat

* feat: independent heartbeat model
2026-02-25 16:32:52 +08:00
Ran d92993e56e release: v0.1.2 2026-02-24 23:39:52 +08:00
Ran 6f392cbb90 release: v0.1.1 2026-02-24 20:55:52 +08:00
Acbox bd28c624b9 release: v0.1.0 2026-02-24 03:47:07 +08:00
Ran 5e12b5a53f fix: ensure unifying on hardcoded /data mount path 2026-02-24 03:35:27 +08:00
MoeMagicMango 786959f038 feat(service): add OpenAI completions models output probe (#97) 2026-02-24 02:16:24 +08:00
Ran 65c4d6f793 feat(container): support for apple container 2026-02-23 22:40:46 +08:00
Ringo.Typowriter 29e76322cc feat(feishu): add webhook inbound mode, region support, and callback/attachment enhancements (#107) 2026-02-23 21:57:34 +08:00
Acbox 8590c53f3d feat(web): add sunagent, history, skills page 2026-02-23 15:49:28 +08:00
Acbox a440bf122b feat(search): add bing and google support 2026-02-23 15:41:47 +08:00
Acbox 7ada20967a release: v0.1.0-beta.7 2026-02-23 14:49:18 +08:00
Acbox Liu 17cd077f34 feat: add thinking support (#100)
* feat: add thinking support

* feat: improve thinking block render in web and filter thinking content in channels

* fix: migrate
2026-02-23 14:41:27 +08:00
Acbox 18535f97f2 feat: improve prompts 2026-02-23 14:18:41 +08:00
Ran efbf7be0da release: v0.1.0-beta.6 2026-02-23 06:29:08 +08:00
ShellWen 469626e009 feat(ui): add read-only styles to input component 2026-02-23 06:23:03 +08:00
ShellWen 4a6172e7f1 fix(ui): add select-none class to AvatarFallback component 2026-02-23 06:22:00 +08:00
ShellWen 3a4f463dcc fix(web): unwrap breadcrumb value for page title by using unref 2026-02-23 06:19:18 +08:00
ShellWen cad684355e fix(web): standardize padding across various pages 2026-02-23 06:19:18 +08:00
ShellWen 8aabcf486a fix(web): access breadcrumb value correctly in currentPageTitle 2026-02-23 06:19:18 +08:00
ShellWen 9bfa9c1bef fix(web,ui): adjust chat area height for better responsiveness 2026-02-23 06:19:18 +08:00
Acbox da9d64e508 fix(agent): tell agent that when to use tools and when to respond directly 2026-02-23 04:38:13 +08:00
ShellWen | 颉文 c7a2bec709 fix(ui): add cursor pointer style to button variants (#101) 2026-02-23 03:58:38 +08:00
Acbox b560e17723 fix(typo): mesasage -> message 2026-02-23 00:34:17 +08:00
Acbox ac929f9f44 feat: add message id in user header 2026-02-23 00:06:15 +08:00
Acbox c17d56c9d1 feat: improve system prompts 2026-02-22 23:40:48 +08:00
ringotypowriter 85831732d3 Merge remote-tracking branch 'origin/main' into fix/provider-scoped-model-id-resolution
# Conflicts:
#	packages/web/src/components/create-model/index.vue
#	packages/web/src/pages/bots/components/model-select.vue
2026-02-22 20:01:27 +08:00
AlexMa233 dc5604b8c4 refactor(web): modularize chat flow, unify dialog patterns, and improve accessibility (#88)
* 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.
2026-02-22 17:07:13 +08:00
ringotypowriter 45e7362b44 Merge branch 'main' into fix/provider-scoped-model-id-resolution 2026-02-22 17:00:51 +08:00
Acbox Liu ee0aa319e2 feat: add restful apis of container file system (#92)
* feat: add restful apis of container file system

* feat: add fs tools in agent
2026-02-22 16:42:30 +08:00
Acbox 928b0c0ee5 refactor: subagent usage and related tools 2026-02-22 16:35:50 +08:00
ringotypowriter 8cd7c4aa86 Merge branch 'main' into fix/provider-scoped-model-id-resolution 2026-02-22 12:47:37 +08:00
Acbox 3669027c95 fix(typo): ./packages/agent/README.md 2026-02-22 02:08:04 +08:00
Acbox Liu e6d70b523e refactor: divide agent logic and gateway into different package (#90)
* feat: add @memoh/agent

* chore: use @memoh/agent in @memoh-gateway
2026-02-22 02:06:47 +08:00
Acbox Liu c591af14b0 feat: bot inbox (#77)
* feat: bot inbox

* feat: unified header

* fix: missing tool_call usage

* feat: add group name in header
2026-02-22 01:27:24 +08:00
Acbox 2c6b5e5565 release: v0.1.0-beta.5 2026-02-21 23:10:02 +08:00
ringotypowriter 50bdbd519c fix(models,settings,conversation): scope model_id uniqueness per
provider and harden model reference resolution
2026-02-21 22:31:32 +08:00
Acbox 654d51a142 release: v0.1.0-beta.4 2026-02-20 22:19:50 +08:00
Acbox c9d96d9da3 feat(web): remove user header in chat 2026-02-20 22:10:46 +08:00
Acbox de5c3f47a4 chore: add bumpp config 2026-02-20 22:01:08 +08:00
BBQ bc374fe8cd refactor: content-addressed assets, cross-channel multimodal, infra simplification (#63)
* refactor(attachment): multimodal attachment refactor with snapshot schema and storage layer

- Add snapshot schema migration (0008) and update init/versions/snapshots
- Add internal/attachment and internal/channel normalize for unified attachment handling
- Move containerfs provider from internal/media to internal/storage
- Update agent types, channel adapters (Telegram/Feishu), inbound and handlers
- Add containerd snapshot lineage and local_channel tests
- Regenerate sqlc, swagger and SDK

* refactor(media): content-addressed asset system with unified naming

- Replace asset_id foreign key with content_hash as sole identifier
  for bot_history_message_assets (pure soft-link model)
- Remove mime, size_bytes, storage_key from DB; derive at read time
  via media.Resolve from actual storage
- Merge migrations 0008/0009 into single 0008; keep 0001 as canonical schema
- Add Docker initdb script for deterministic migration execution order
- Fix cross-channel real-time image display (Telegram → WebUI SSE)
- Fix message disappearing on refresh (null assets fallback)
- Fix file icon instead of image preview (mime derivation from storage)
- Unify AssetID → ContentHash naming across Go, Agent, and Frontend
- Change storage key prefix from 4-char to 2-char for directory sharding
- Add server-entrypoint.sh for Docker deployment migration handling

* refactor(infra): embedded migrations, Docker simplification, and config consolidation

- Embed SQL migrations into Go binary, removing shell-based migration scripts
- Consolidate config files into conf/ directory (app.example.toml, app.docker.toml, app.dev.toml)
- Simplify Docker setup: remove initdb.d scripts, streamline nginx config and entrypoint
- Remove legacy CLI, feishu-echo commands, and obsolete incremental migration files
- Update install script and docs to require sudo for one-click install
- Add mise tasks for dev environment orchestration

* chore: recover migrations

---------

Co-authored-by: Acbox <acbox0328@gmail.com>
2026-02-19 00:20:27 +08:00
Acbox b19df8156a chore: add husky hook 2026-02-18 22:21:32 +08:00
Menci 3a441aaac2 fix(web): add missing package lucide-vue-next (#67) 2026-02-18 21:46:33 +08:00
Acbox 9c338a3806 refactor(web): login page 2026-02-18 19:06:45 +08:00
Acbox 1294b4cf75 feat: connection test of provider 2026-02-18 18:52:26 +08:00
Acbox d6c47472b2 refactor: move client_type key from provider to model 2026-02-18 18:30:27 +08:00