Commit Graph

121 Commits

Author SHA1 Message Date
Ran 5c46d41ebf fix(deploy): vite config lazy load 2026-02-14 22:16:55 +08:00
Acbox f967c07e0a fix(web): tsconfig 2026-02-14 19:56:44 +08:00
Acbox 82e9f12b7f refactor(web): change old port (7003) and deploy port (80) to port 8082 2026-02-14 19:51:55 +08:00
Ran 7817ec8147 fix(web): channel switch failure
Also add webui memory page
2026-02-14 07:30:21 +08:00
BBQ 243ea6f034 feat(web): add all supported provider client types to model selector 2026-02-13 18:02:30 +08:00
BBQ c08e34cbcc fix(web): persist tool call messages across page refresh
Tool call messages disappeared after page refresh because messageToChat()
filtered out messages without text content. Added convertMessagesToChats()
to merge consecutive assistant(tool_calls) + tool(results) + assistant(text)
into a single ChatMessage with ToolCallBlocks.
2026-02-13 17:42:29 +08:00
BBQ 2614763547 feat(web): parallel health checks and MCP form UX improvements
- Bot overview: fetch check keys first, then parallel-request each key
  independently with per-item loading spinner
- Stable check ordering via key-indexed placeholder array
- MCP form: replace flat command/url fields with Stdio/Remote tab
  switcher for clear mode selection
- MCP type labels: "Stdio (Local)" / "Remote (HTTP/SSE)"
2026-02-13 02:43:31 +08:00
BBQ c7d66f89ab feat(bots): MCP add/import merge, batch select and batch delete/export 2026-02-13 01:11:40 +08:00
BBQ 7e5612d474 refactor(i18n): move generic keys to common 2026-02-13 01:11:06 +08:00
BBQ 3a1aa31611 fix(mcp): move import/export routes to /mcp-ops to avoid /:id conflict
Echo router treats /mcp/import and /mcp/export as /mcp/:id matches.
Move to /bots/:bot_id/mcp-ops/import and /mcp-ops/export.
2026-02-13 00:47:44 +08:00
BBQ 7942df6a32 feat(web): implement bot MCP management page and remove global MCP page
- Add bot-mcp.vue component with table, create/edit dialog, import/export
- Wire MCP tab into bot detail page
- Remove dead global MCP page, composable, and form component (/mcp route)
- Add i18n keys for import/export/copy and MCP CRUD messages
- Fix store/User.ts case sensitivity for Linux builds
2026-02-13 00:40:53 +08:00
BBQ 85251a2905 refactor(core): codebase quality cleanup
- Remove user-level model settings (chat_model_id, memory_model_id,
  embedding_model_id, max_context_load_time, language) from users table
- Merge migration 0002 into 0001, remove compatibility migrations
- Delete dead conversation/resolver.go (1177 lines, only flow/resolver.go used)
- Remove type aliases (Chat=Conversation, types_alias.go)
- Fix SQL: remove AND false stub, fix UpdateChatTitle model_id,
  reset model IDs in DeleteSettings, add preauth expiry filter,
  add ListMessages limit, remove 10 dead queries
- Extract shared handler helpers (RequireChannelIdentityID, AuthorizeBotAccess)
- Rename internal/router to internal/channel/inbound
- Fix identity confusion: remove UserID->ChannelIdentityID fallbacks
- Fix all _ = var patterns with proper error logging
- Fix error propagation: storeMessages, rescheduleJob, botContainerID
- Fix naming: ModelId->ModelID, active->is_active, Duration semantic fix
- Remove dead code: mcpService, ReplyTarget, callMCPServer, sshShellQuote,
  buildSessionMetadata, ChatRequest.Language, TriggerPayload.ChatID
- Fix code quality: errors.Is(), remove goto, CreateHuman deprecated
- Remove Enable model endpoint and user-level settings CLI commands
- Regenerate sqlc, swagger, SDK
2026-02-12 23:50:48 +08:00
Acbox 287b024887 chore(web): remove @memoh/shared 2026-02-12 22:13:24 +08:00
BBQ 40bb171d48 fix(web): remove duplicate User.ts conflicting with user.ts on case-insensitive fs 2026-02-12 21:54:30 +08:00
BBQ f8633b7501 fix(web): rename Sidebar directory to lowercase for consistency
Rename components/Sidebar to components/sidebar and update import path.
2026-02-12 21:19:56 +08:00
BBQ 1c15eb2146 refactor(core): restructure conversation/channel/message domains and modernize deployment
- Replace chat package with conversation flow architecture
- Add channel identity avatar support (migration 0002)
- Refactor channel adapters, identities, and message routing
- Update frontend: simplify composables, modernize UI components
- Improve Docker builds with cache mounts and version metadata
- Optimize healthchecks and simplify service dependencies
2026-02-12 20:55:03 +08:00
BBQ ca5c6a1866 refactor(core): restructure conversation, channel and message domains
- Rename chat module to conversation with flow-based architecture
- Move channelidentities into channel/identities subpackage
- Add channel/route for routing logic
- Add message service with event hub
- Add MCP providers: container, directory, schedule
- Refactor Feishu/Telegram adapters with directory and stream support
- Add platform management page and channel badges in web UI
- Update database schema for conversations, messages and channel routes
- Add @memoh/shared package for cross-package type definitions
2026-02-12 15:34:40 +08:00
BBQ d99ba38b7d merge(github): merge github/main, keep our code and docs/spec 2026-02-12 05:20:18 +08:00
Ran 065aa303e9 chore: update README.md 2026-02-11 20:00:07 +08:00
Acbox b46cb0c4e3 refactor(web): router 2026-02-11 16:08:36 +08:00
Acbox 1f30e666e0 feat(web): use generate sdk 2026-02-11 15:23:47 +08:00
BBQ 06e8619a37 refactor(core): migrate channel identity and binding across app
Align channel identity and bind flow across backend and app-facing layers, including generated swagger artifacts and package lock updates while excluding docs content changes.
2026-02-11 14:51:58 +08:00
Acbox ca86a8d1c3 chore: remove @memoh/shared 2026-02-11 14:46:50 +08:00
Acbox 48681ce0bb feat: add hey-api sdk generate 2026-02-11 14:27:53 +08:00
斬風千雪 1aef8f7389 fix(web): file name case error (#35) 2026-02-11 12:25:37 +08:00
Ran 632fd1fe9f fix(web): fix case-sensitive import 2026-02-11 08:50:21 +08:00
Acbox ca302c4a9a fix(web): create form 2026-02-10 20:33:35 +08:00
Acbox 6ac8874fa8 feat(web): chat 2026-02-10 19:33:00 +08:00
Acbox 169d9a35af feat(web): bots page 2026-02-10 18:59:18 +08:00
Acbox 4d265b8f24 refactor(web): i18n 2026-02-10 17:58:28 +08:00
Acbox 32513efcc4 refactor(web): model & provider page 2026-02-10 17:41:37 +08:00
Acbox b079fa8de9 refactor(web): request hooks 2026-02-10 17:37:26 +08:00
Acbox ae65a61ac0 refactor(web): icons 2026-02-10 17:16:02 +08:00
Acbox 14e895d0ce refactor(web): Rewrote the non-standard front-end code 2026-02-10 16:55:57 +08:00
Acbox 0ae86de02b fix(web): types and imports 2026-02-10 15:33:14 +08:00
Acbox 23173a8d1b fix: lint 2026-02-10 15:25:29 +08:00
Acbox 92838ef8da feat(mcp): change patch of edit tool to old_text-new_text 2026-02-09 18:29:33 +08:00
Acbox ebbabaf9d1 feat(cli): add reasoning content output 2026-02-09 01:20:39 +08:00
Acbox d09cb5b74b feat(cli): tool-call display 2026-02-09 00:46:52 +08:00
Acbox 344b617423 fix: use bot model configs first 2026-02-07 20:45:26 +08:00
Acbox 60b4420235 Merge branch 'main' into refactor/channel-gateway 2026-02-07 17:29:14 +08:00
Acbox a9596ab3a8 fix(cli): stream 2026-02-07 01:37:36 +08:00
Quincy 85976afad7 feat(web): redesign settings page (#26)
* perf: change model ui

* feat: edit provider

* feat: layout update

* fix: scroll bug

* feat: model and provider

* feat: Setting

* perf: chat page
2026-02-06 23:37:57 +08:00
Acbox 3bee018d45 chore: rename platform to channel 2026-02-06 20:01:04 +08:00
Acbox 208dda8956 feat(cli): bot and channel operation 2026-02-06 19:24:47 +08:00
BBQ 5a35ef34ac feat: channel gateway implementation and multi-bot refactor
- Refactor channel manager with support for Sender/Receiver interfaces and hot-swappable adapters.
- Implement identity routing and pre-authentication logic for inbound messages.
- Update database schema to support bot pre-auth keys and extended channel session metadata.
- Add Telegram and Feishu channel configuration and adapter enhancements.
- Update Swagger documentation and internal handlers for channel management.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-06 14:41:54 +08:00
BBQ 6aebbe9279 feat: refactor User/Bot architecture and implement multi-channel gateway
Major changes:
1. Core Architecture: Decoupled Bots from Users. Bots now have independent lifecycles, member management (bot_members), and dedicated configurations.
2. Channel Gateway:
   - Implemented a unified Channel Manager supporting Feishu, Telegram, and Local (Web/CLI) adapters.
   - Added message processing pipeline to normalize interactions across different platforms.
   - Introduced a Contact system for identity binding and guest access policies.
3. Database & Tooling:
   - Consolidated all migrations into 0001_init with updated schema for bots, channels, and contacts.
   - Optimized sqlc.yaml to automatically track the migrations directory.
4. Agent Enhancements:
   - Introduced ToolContext to provide Agents with platform-aware execution capabilities (e.g., messaging, contact lookups).
   - Added tool logging and fallback mechanisms for toolChoice execution.
5. UI & Docs: Updated frontend stores, UI components, and Swagger documentation to align with the new Bot-centric model.
2026-02-04 23:49:50 +08:00
Quincy e6fd287b4d feat(web): redesign provider interface (#25) 2026-02-03 16:42:43 +08:00
Acbox 2b8b537523 feat: make max-calls of schedule nullable 2026-02-02 22:48:06 +08:00
Acbox c731e0ca1d feat: move default model into user settings 2026-02-02 01:40:54 +08:00