KasuganoSora
a40207ab6d
feat: Misskey channel adapter, agent reliability hardening & stream error resilience ( #359 )
2026-04-13 17:10:50 +08:00
BBQ
3feb03aca7
ci: add go lint and race test workflow ( #187 )
2026-03-05 11:25:33 +08:00
Acbox Liu
ea719f7ca7
refactor: memory provider ( #140 )
...
* refactor: memory provider
* fix: migrations
* feat: divide collection from different built-in memory
* feat: add `MEMORY.md` and `PROFILES.md`
* use .env for docker compose. fix #142 (#143 )
* feat(web): add brand icons for search providers (#144 )
Add custom FontAwesome icon definitions for all 9 search providers:
- Yandex: uses existing faYandex from FA free brands
- Tavily, Jina, Exa, Bocha, Serper: custom icons from brand SVGs
- DuckDuckGo, SearXNG, Sogou: custom icons from Simple Icons
Icons are registered with a custom 'fac' prefix and rendered as
monochrome (currentColor) via FontAwesome's standard rendering.
* fix: resolve multiple UI bugs (#147 )
* feat: add email service with multi-adapter support (#146 )
* feat: add email service with multi-adapter support
Implement a full-stack email service with global provider management,
per-bot bindings with granular read/write permissions, outbox audit
storage, and MCP tool integration for direct mailbox access.
Backend:
- Email providers: CRUD with dynamic config schema (generic SMTP/IMAP, Mailgun)
- Generic adapter: go-mail (SMTP) + go-imap/v2 (IMAP IDLE real-time push via
UnilateralDataHandler + UID-based tracking + periodic check fallback)
- Mailgun adapter: mailgun-go/v5 with dual inbound mode (webhook + poll)
- Bot email bindings: per-bot provider binding with independent r/w permissions
- Outbox: outbound email audit log with status tracking
- Trigger: inbound emails push notification to bot_inbox (from/subject only,
LLM reads full content on demand via MCP tools)
- MailboxReader interface: on-demand IMAP queries for listing/reading emails
- MCP tools: email_accounts, email_send, email_list (paginated mailbox),
email_read (by UID) — all with multi-binding and provider_id selection
- Webhook: /email/mailgun/webhook/:config_id (JWT-skipped, signature-verified)
- DB migration: 0019_add_email (email_providers, bot_email_bindings, email_outbox)
Frontend:
- Email Providers page: /email-providers with MasterDetailSidebarLayout
- Dynamic config form rendered from ordered provider meta schema with i18n keys
- Bot detail: Email tab with bindings management + outbox audit table
- Sidebar navigation entry
- Full i18n support (en + zh)
- Auto-generated SDK from Swagger
Closes #17
* feat(email): trigger bot conversation immediately on inbound email
Instead of only storing an inbox item and waiting for the next chat,
the email trigger now proactively invokes the conversation resolver
so the bot processes new emails right away — aligned with the
schedule/heartbeat trigger pattern.
* fix: lint
---------
Co-authored-by: Acbox <acbox0328@gmail.com >
* chore: update AGENTS.md
* feat: files preview
* feat(web): improve MCP details page
* refactor(skills): import skill with pure markdown string
* merge main into refactor/memory
* fix: migration
* refactor: temp delete qdrant and bm25 index
* fix: clean merge code
* fix: update memory handler
---------
Co-authored-by: Leohearts <leohearts@leohearts.com >
Co-authored-by: Menci <mencici@msn.com >
Co-authored-by: Quincy <69751197+dqygit@users.noreply.github.com >
Co-authored-by: BBQ <35603386+HoneyBBQ@users.noreply.github.com >
Co-authored-by: Ran <16112591+chen-ran@users.noreply.github.com >
2026-03-03 15:33:50 +08:00
晨苒
2f301ff5a1
Update internal/auth/jwt_test.go
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-25 16:32:52 +08:00
Ran
52d4aee104
feat(auth): implement JWT token refresh mechanism
2026-02-25 16:32:52 +08:00
Ran
ffda558d24
feat(memoh): unify embedded runtime serving and release binaries
2026-02-24 19:39:01 +08:00
晨苒
579bf45fc2
Update internal/auth/jwt_test.go
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-24 16:47:58 +08:00
Ran
0c6a905317
feat(auth): implement JWT token refresh mechanism
2026-02-24 16:47:58 +08:00
BBQ
df7876a30c
feat: add media asset system, channel lifecycle refactor, and chat attachments ( #54 )
2026-02-17 19:06:46 +08:00
Ran
6acdd191c7
Squashed commit of the following:
...
commit bcdb026ae43e4f95d0b2c4f9bd440a2df9d6b514
Author: Ran <16112591+chen-ran@users.noreply.github.com >
Date: Thu Feb 12 17:10:32 2026 +0800
chore: update DEVELOPMENT.md
commit 30281742ef
Merge: ca5c6a1 5b05f13
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Thu Feb 12 15:49:17 2026 +0800
merge(github/main): integrate fx dependency injection framework
Merge upstream fx refactor and adapt all services to use go.uber.org/fx
for dependency injection. Resolve conflicts in main.go, server.go,
and service constructors while preserving our domain model changes.
- Fix telegram adapter panic on shutdown (double close channel)
- Fix feishu adapter processing messages after stop
- Increase directory lookup timeout from 2s to 5s
commit ca5c6a1866
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Thu Feb 12 15:33:09 2026 +0800
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
commit 75e2ef0467
Merge: d99ba38 01cb6c8
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Thu Feb 12 14:45:49 2026 +0800
merge(github): merge github/main, resolve index.ts URL conflict
Keep our defensive absolute-URL check in createAuthFetcher.
commit d99ba38b7d
Merge: 860e20f 35ce7d1
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Thu Feb 12 05:20:18 2026 +0800
merge(github): merge github/main, keep our code and docs/spec
commit 860e20fe70
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Wed Feb 11 22:13:27 2026 +0800
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
commit a75fdb8040
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Wed Feb 11 17:37:16 2026 +0800
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.
commit 02b33c8e85
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Wed Feb 11 15:42:21 2026 +0800
refactor(core): finalize user-centric identity and policy cleanup
Unify auth and chat identity semantics around user_id, enforce personal-bot owner-only authorization, and remove legacy compatibility branches in integration tests.
commit 06e8619a37
Author: BBQ <bbq@BBQdeMacBook-Air.local >
Date: Wed Feb 11 14:47:03 2026 +0800
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-12 17:13:03 +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
d40cc581d2
refactor: initial go service
2026-01-20 00:04:23 +07:00