Commit Graph

57 Commits

Author SHA1 Message Date
Acbox a4199f0575 chore: move swagger docs to spec 2026-02-11 15:29:26 +08:00
Acbox 1f30e666e0 feat(web): use generate sdk 2026-02-11 15:23:47 +08:00
Acbox 77f7cf8808 feat: SOUL.md, IDENTITY.md, TOOLS.md 2026-02-09 22:45:06 +08:00
Acbox 4f5a8f5e64 feat: file operation restful api 2026-02-09 21:03:05 +08:00
Acbox Liu 8ea779779e feat: mcp (#31)
* feat: add mcp connections table and related crud api

* feat: mcp-stdio api
2026-02-09 20:07:40 +08:00
Acbox 92838ef8da feat(mcp): change patch of edit tool to old_text-new_text 2026-02-09 18:29:33 +08:00
Ran 8b0d90d7b4 fix: cni allocation bug 2026-02-09 08:47:18 +08:00
Acbox 8ea2c0379d Merge branch 'refactor/channel-gateway' 2026-02-08 22:34:50 +08:00
Ran 26dd8651b7 feat: go cni lifecycle manage 2026-02-08 21:39:34 +08:00
Acbox 318bd87f65 feat: skills 2026-02-08 01:57:06 +08:00
Ran 3f8cb3292c chore: optimize code structure 2026-02-08 01:45:53 +08:00
Acbox da671a658c fix: mcp 2026-02-08 01:02:04 +08:00
Ran 4e661bae76 fix: mcp containerd fifo 2026-02-07 22:14:38 +08:00
Acbox 344b617423 fix: use bot model configs first 2026-02-07 20:45:26 +08:00
BBQ 83b6ee608c refactor: bind container lifecycle to bot and improve schedule trigger flow
- Add SetupBotContainer to ContainerLifecycle interface so containers
  are automatically created when a bot is created, matching the existing
  cleanup-on-delete behavior.
- Refactor schedule tools to use bot-scoped API paths and pass identity
  context for proper authorization.
- Introduce dedicated trigger-schedule endpoint in chat resolver with
  explicit schedule payload instead of reusing the generic chat path.
- Generate short-lived JWT tokens for schedule trigger callbacks with
  resolved bot owner identity.
- Validate required parameters in NewLLMClient and NewOpenAIEmbedder
  constructors, returning errors instead of falling back to defaults.
- Add unit tests for schedule token generation and chat resolver.
2026-02-07 12:04:37 +08:00
BBQ 29e6ddd1f9 refactor: replace global channel registry with instance-based Registry and interface-driven adapters
- Replace global channelRegistry singleton with explicit *Registry passed via dependency injection
- Split monolithic manager.go into connection.go (lifecycle), inbound.go (dispatch), outbound.go (pipeline)
- Introduce optional adapter interfaces: ConfigNormalizer, TargetResolver, BindingMatcher
- Move Descriptor() to Adapter interface, remove init()-based registration
- Relocate SessionHub to adapters/local package
- Extract shared UUID/time helpers to internal/db/uuid.go
- Decompose ConfigStore into fine-grained interfaces: ConfigLister, ConfigResolver, BindingStore, SessionStore
2026-02-06 23:47:12 +08:00
BBQ a246b79a4f refactor: restructure channel gateway and chat module architecture
- Refactor channel adapters (feishu, telegram, local) with enhanced descriptor and config
- Restructure channel manager, service, types, and outbound messaging
- Simplify chat module by removing normalize.go and chat.go, consolidating into resolver and types
- Update router channel handlers and tests
- Sync swagger documentation
2026-02-06 23:47:12 +08:00
Acbox 32a12e3c1b feat: remove extra tools and add exec tool 2026-02-06 21:10:31 +08:00
Acbox bcc6e142fa fix: drop sql & qdrant 2026-02-06 20:33:29 +08:00
Acbox 3bee018d45 chore: rename platform to channel 2026-02-06 20:01:04 +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
Ran cb36b68ee4 feat: Atomic update mcp image 2026-02-05 02:40:10 +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
Ran efd68d306d refactor: use sparse vector for memory 2026-02-04 11:45:10 +08:00
Acbox 3a21fab9e2 feat: add fs.read_base64, fs.mkdir, fs.rename tools 2026-02-03 23:46:44 +08:00
Ran ddd853fee4 chore: update api path 2026-02-03 00:29:57 +08:00
Acbox 2b8b537523 feat: make max-calls of schedule nullable 2026-02-02 22:48:06 +08:00
Acbox ab8aa5f4ef feat: enable memory search tool 2026-02-02 17:37:54 +08:00
Acbox 3f0a0f8499 feat: add get models by provider 2026-02-02 13:48:22 +08:00
Acbox c10fbfee23 feat: add auth to memory api 2026-02-02 01:40:54 +08:00
Acbox c731e0ca1d feat: move default model into user settings 2026-02-02 01:40:54 +08:00
BBQ d12092870f fix(memory): fix LLMClient parameter mismatch and add nil logger check
- Update LLMClient test to match NewLLMClient signature by passing nil logger
- Add nil check for logger in NewLLMClient to prevent panic, defaulting to slog.Default()
2026-02-01 17:52:18 +08:00
BBQ 50e9d48cef feat: implement unified version management (#20) 2026-02-01 16:36:52 +08:00
BBQ cb9ea261ac Merge pull request #21 from HoneyBBQ/fix/llm-client-test-path-20260201
fix(memory): correct mock server path in LLM client test
2026-02-01 00:18:38 -08:00
Acbox Liu afd0ab3f49 Merge pull request #14 from memohai/feat/skills
feat: skills
2026-02-01 15:55:48 +08:00
BBQ dcce0617a3 fix(memory): correct mock server path in LLM client test
The LLM client's callChat method appends "/chat/completions" to the base URL.
The test's mock server was expecting "/v1/chat/completions", causing a 404
error during testing. This commit aligns the mock server path with the
actual client implementation.
2026-02-01 15:53:13 +08:00
BBQ 46d2968e2c feat: refactor logging system to slog with DI and component tagging 2026-02-01 15:23:57 +08:00
Ran 399c52df0d feat: skills service 2026-02-01 02:28:24 +08:00
Ran ce825d51c4 feat: mcp fs operate 2026-02-01 01:41:55 +08:00
Acbox 9844309a29 feat: add skills to each history 2026-01-31 20:59:35 +08:00
Acbox fe50b1d224 feat: subagent table structure and crud apis 2026-01-31 19:58:17 +08:00
Acbox ba34fb156d feat: schedule task 2026-01-30 23:32:23 +08:00
Acbox 0273b45141 fix: history write in failed 2026-01-30 23:32:23 +08:00
BBQ d72e7b42f1 fix(auth): align user info fields and fix response parsing (#4) 2026-01-30 07:20:56 +08:00
Acbox 28f6d87017 fix: sqlc api 2026-01-29 16:10:09 +08:00
Ran 31cb75702c feat: micro go cli 2026-01-29 02:55:21 +07:00
Acbox af9023c87b refactor: cli 2026-01-29 01:37:47 +08:00
Acbox a15df939df feat: create admin user if not exsit 2026-01-28 22:48:00 +08:00
Acbox 11551b72ab feat: user settings & history 2026-01-28 15:57:39 +08:00
Acbox 39215309da feat: chat api 2026-01-28 15:15:57 +08:00