Acbox
6b7c3db952
refactor: process user header in go side
2026-02-20 21:40:13 +08:00
Acbox
ab84e29dde
fix: change memory message role from system to user caused by the imcompatibility of anthropic messages api
2026-02-20 15:19:24 +08:00
Acbox
5e1de4fe7b
fix: include system tokens in max tokens compute
2026-02-19 18:28:29 +08:00
Acbox
a65c741e28
fix(agent): missing user header in message store
2026-02-19 17:19:39 +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
Ringo.Typowriter
1bd080c155
fix(flow): drop leading orphan tool messages after token trimming ( #68 )
2026-02-18 22:27:38 +08:00
Acbox
d6c47472b2
refactor: move client_type key from provider to model
2026-02-18 18:30:27 +08:00
Acbox
77e9f585a1
feat: max context tokens
2026-02-18 17:20:22 +08:00
Acbox
7d72f86152
Revert "refactor(agent): move user identity headers to system prompt and sanitize input ( #64 )"
...
This reverts commit c9d4ee2a60 .
2026-02-18 06:29:25 +08:00
tommy0103
c9d4ee2a60
refactor(agent): move user identity headers to system prompt and sanitize input ( #64 )
...
* refactor(agent): move user identity headers to system prompt and sanitize input
- Relocate user-context headers from User Prompt to System Prompt for better instruction adherence.
- Implement soft-sanitization to strip header-like patterns from user input to prevent prompt injection.
- Update resolver logic in Go to support the new prompt structure.
* refactor(agent): move user identity headers to system prompt and sanitize input
- Relocate user-context headers from User Prompt to System Prompt for better instruction adherence.
- Implement soft-sanitization to strip header-like patterns from user input to prevent prompt injection.
- Update resolver logic in Go to support the new prompt structure.
* chore: remove same process in go side
---------
Co-authored-by: Acbox <acbox0328@gmail.com >
2026-02-18 05:36:50 +08:00
BBQ
df7876a30c
feat: add media asset system, channel lifecycle refactor, and chat attachments ( #54 )
2026-02-17 19:06:46 +08:00
Ringo.Typowriter
3aea635e44
fix: skill normalize ( #57 )
2026-02-17 17:55:07 +08:00
Acbox
37360ad8e4
fix: schedule run failed
2026-02-15 16:12:53 +08:00
Acbox
3d575e031e
feat: run memory extraction in the background
2026-02-15 14:15:55 +08:00
Ran
7817ec8147
fix(web): channel switch failure
...
Also add webui memory page
2026-02-14 07:30:21 +08:00
BBQ
faaadf14c5
feat(channel): pass conversation type through to agent gateway and persist in route
...
Propagate conversation type (direct/group/thread) from channel adapters
all the way to the agent prompt. Store conversation_type on bot_channel_routes
so the bot knows whether a message originates from a p2p chat, group, or thread.
Schema changes are folded into the 0001 init migration (destructive update).
2026-02-13 06:22:24 +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
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