Commit Graph

101 Commits

Author SHA1 Message Date
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 d6c47472b2 refactor: move client_type key from provider to model 2026-02-18 18:30:27 +08:00
Fodesu 7b87b4d9cd docs: add platform telegram 2026-02-18 17:08:56 +08:00
Fodesu 5815995d5d docs: add create-bot 2026-02-18 15:35:14 +08:00
Acbox 09d7840a5f docs(blog): add header in README 2026-02-16 18:49:40 +08:00
Acbox Liu 3a2cf708ba docs(blog): Introduction (Feb 2026) (#52)
* docs(blog): add 2026-02-16

* docs(blog): update contents

* docs: add blogs section

* docs(blog): update contents for diff

* docs(blog): add images

---------

Co-authored-by: Ran <16112591+chen-ran@users.noreply.github.com>
2026-02-16 18:38:19 +08:00
Acbox b329475359 chore: add release scripts 2026-02-16 15:55:49 +08:00
Acbox fc0ac96403 docs: add concepts 2026-02-15 21:45:24 +08:00
Acbox 299e9f2001 docs: update getting-started 2026-02-15 21:33:04 +08:00
Acbox d2646bbfa1 docs: update 2026-02-15 21:20:22 +08:00
BBQ df142e8439 docs: add troubleshooting for MCP image update not taking effect 2026-02-13 02:15:09 +08:00
BBQ d99ba38b7d merge(github): merge github/main, keep our code and docs/spec 2026-02-12 05:20:18 +08:00
BBQ 860e20fe70 docs(docs): add concepts and style guides for VitePress site
- Add concepts: identity-and-binding, index (en/zh)
- Add style: terminology (en/zh)
- Update index and zh/index
- Update .vitepress/config.ts
2026-02-11 22:13:27 +08:00
BBQ a75fdb8040 refactor(mcp): standardize unified tool gateway on go-sdk
Split business executors from federation sources and migrate unified tool/federation transports to the official go-sdk for stricter MCP compliance and safer session lifecycle handling. Add targeted regression tests for accept compatibility, initialization retries, pending cleanup, and include updated swagger artifacts.
2026-02-11 17:37:16 +08:00
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
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 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 318bd87f65 feat: skills 2026-02-08 01:57:06 +08:00
Acbox 344b617423 fix: use bot model configs first 2026-02-07 20:45:26 +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 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
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
Ran ddd853fee4 chore: update api path 2026-02-03 00:29:57 +08:00
Acbox 9a6d4b333d docs: clear up all content of docs 2026-02-02 23:34:43 +08:00
Acbox 3f0a0f8499 feat: add get models by provider 2026-02-02 13:48:22 +08:00
Acbox c731e0ca1d feat: move default model into user settings 2026-02-02 01:40:54 +08:00
Acbox Liu afd0ab3f49 Merge pull request #14 from memohai/feat/skills
feat: skills
2026-02-01 15:55:48 +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
BBQ d72e7b42f1 fix(auth): align user info fields and fix response parsing (#4) 2026-01-30 07:20:56 +08:00
BBQ e5f32bc7e0 fix(web): configure development proxy and update port documentation (#5) 2026-01-30 07:20:48 +08:00
Ran 31cb75702c feat: micro go cli 2026-01-29 02:55:21 +07: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
Ran bb5482b982 refact: go mcp tool in containerd 2026-01-28 04:48:32 +07:00
Acbox da6a264699 feat: provider management & chat 2026-01-26 23:06:54 +08:00
Acbox 35a8927a79 feat: allow setting default model enable as chat, memory, embedding 2026-01-26 21:54:46 +08:00
Ran 3ff0e2c4dd feat: embedding router 2026-01-26 05:11:21 +07:00
Acbox c332ce7749 feat: models 2026-01-23 18:53:20 +08:00
Ran d40cc581d2 refactor: initial go service 2026-01-20 00:04:23 +07:00
Acbox 7f5866298f fix: vitepress base url 2026-01-12 19:19:20 +08:00
Acbox e676154057 fix: github deploy action 2026-01-12 19:01:19 +08:00