Commit Graph

128 Commits

Author SHA1 Message Date
mateaix
84968688fa release: v2.2.0 2026-08-29 13:53:25 +08:00
matevip
35bfdfcffd release: merge dev into main 2026-08-18 01:43:15 -04:00
matevip
4cd7ccaead release: v2.0.0 2026-07-31 03:54:21 -04:00
mateaix
c6f6f10fd0 release: v1.8.0 2026-07-12 17:30:23 +08:00
mateaix
c8bf4e0f89 release: v1.7.0 2026-07-04 20:28:15 +08:00
matevip
db6caea824 release: v1.6.0 2026-06-22 15:17:06 +08:00
matevip
84375da3c5 release: v1.5.0 2026-06-05 07:55:59 +08:00
matevip
68c010ecf9 release: v1.4.0 2026-05-25 09:58:38 +08:00
matevip
493910bf5a release: v1.3.0 (hotfix bundle — #120 + UI/build fixes) 2026-05-14 09:30:43 +08:00
matevip
f47cf8c6be release: v1.3.0 2026-05-13 10:05:53 +08:00
matevip
d994be3d04 release: v1.2.0 2026-05-05 20:09:58 +08:00
matevip
9ada305b8a release: v1.1.137 2026-04-29 16:40:05 +08:00
matevip
7f88a6ddd4 release: v1.1.0 2026-04-17 19:41:03 +08:00
matevip
7221d36bab fix: mysql migration compatibility + ollama tool-support gating + actionable error UI
- db/migration/mysql: replace ADD COLUMN/CREATE INDEX IF NOT EXISTS with
  idempotent checks via information_schema (MySQL 8.0 <8.0.29 and some
  forks don't support IF NOT EXISTS for ADD COLUMN). Affects V2/V4/V5/V7
  /V8/V9/V11/V12/V13/V14. Fix: gitee#IIYHLJ.
- application-mysql.yml: add createDatabaseIfNotExist=true so MySQL
  Connector/J auto-creates the schema on first connection (requires
  CREATE privilege — documented fallback for restricted accounts).
- llm/OllamaAutoDiscoveryRunner: rewrite seed tag when fuzzy-matching,
  prefer exact tag for default; skip models without tool support when
  auto-activating a default (prevents the phantom ':latest' trap when
  users pulled a specific size).
- agent/graph/NodeStreamingChatHelper: detect 'does not support tools'
  and 'model not found' errors from Ollama and emit actionable Chinese
  prompts guiding users to qwen3 / qwen2.5:7b+ / llama3.1:8b+ etc.
- ui/MessageBubble + types/chatError: surface the backend's actionable
  rawMessage in the failed-message card instead of a generic '未知错误';
  strip redundant prefixes (Bad request: / [错误] / LLM 调用失败:) since
  the title already conveys the category.
2026-04-17 11:17:27 +08:00
matevip
a3e6724cf4 fix(chat): channel conversation sync + running indicator
- ChannelMessageRouter: include assistantMessageId in message_complete
  and done broadcasts so ChatConsole observers can reconcile the
  streaming placeholder to the persisted DB row by id instead of
  falling back to the FIFO 'claim' heuristic (which occasionally
  dropped the assistant bubble on external channel conversations).
  Capture the id from ConversationService.saveMessage in both the
  sync agentService.chat path and the streaming processWithStreaming
  path; switch to HashMap since Map.of rejects null values when save
  is skipped (e.g. under approval).

- ChatConsole: add a 'running' indicator on the sidebar so users can
  tell which conversations have an in-flight agent run. Pulsing amber
  dot on the channel icon (both expanded and collapsed modes) plus a
  '生成中…' / 'Generating…' pill in expanded mode.

- ChatConsole: don't cancel the previous conversation's streaming run
  when switching conversations — let it keep running in the background
  and reconcile when the user comes back.
2026-04-17 10:03:56 +08:00
matevip
b35c29767c feat(chat): realtime sync for external channel conversations 2026-04-17 08:25:32 +08:00
matevip
8fbe30d7ac feat(auth): password change dialog + workspace member provisioning improvements 2026-04-17 00:11:10 +08:00
matevip
c4883e108c fix(llm): pre-filter non-chat DashScope modalities + quieter probe logging 2026-04-16 18:15:48 +08:00
matevip
adfe23cd2c fix(llm): classify DashScope 'url error' as client error + broaden dot-version purge 2026-04-16 18:15:35 +08:00
matevip
8a25d723f0 fix(chat): reset stale stopRequested flag on new stream register 2026-04-16 18:13:34 +08:00
matevip
ba086d75f2 fix(llm): purge unavailable DashScope models + protocol-aware discovery probe 2026-04-16 18:13:13 +08:00
matevip
b3c6b5a654 fix(wiki): sub-segment mean-pool embedding for chunks exceeding model token limit 2026-04-16 17:12:17 +08:00
matevip
c6cc61f546 fix(migration): add missing id column to V14 system_setting insert 2026-04-16 17:12:08 +08:00
matevip
25978ceb12 feat(llm): UI-configurable embedding models with per-KB binding and dynamic factory 2026-04-16 17:12:00 +08:00
matevip
04ad281ffd fix(skill): use getModel instead of nonexistent getById in SkillSynthesisService 2026-04-16 17:11:46 +08:00
matevip
1fdf87b31e feat(wiki): semantic hybrid search + chunk persistence + deep research pipeline 2026-04-16 17:11:31 +08:00
matevip
a6e9a17208 feat(skill): Agent-autonomous skill synthesis — create/edit/patch via @Tool with security scanning 2026-04-16 17:10:59 +08:00
matevip
7d8d16e458 feat: 5 defensive hardenings
- ConversationWindowManager: cap reserve token at 50% of effective max
  to prevent negative historyBudget on small-context models (8K/16K)
- common.security.SecretEquals: new constant-time comparison utility
  (MessageDigest.isEqual wrapper) for secrets/tokens/signatures
- WeixinChannelAdapter: migrate context_token comparison to SecretEquals
- FeishuChannelAdapter: fail-fast on empty encrypt_key when connection_mode=webhook
- TelegramChannelAdapter: sanitize attachment captions — strip control bytes
  (\p{Cc} except \t\r\n) + format chars (\p{Cf}) + 4096 char cap
- AgentGraphBuilder: fallback Anthropic max_tokens to 4096 on null/0/negative

Tests: SecretEqualsTest (5) + TelegramCaptionSanitizeTest (5) — all green.
2026-04-15 22:14:55 +08:00
matevip
52f5a38654 fix(flyway): renumber V9__hook_system.sql to V10 to resolve version collision 2026-04-15 16:51:46 +08:00
matevip
4a4b39249e chore(channel): remove stale external-reference comments; fix(wiki): canonical slug lookup on merge path 2026-04-15 16:44:02 +08:00
matevip
ef8120413c feat(wiki): real-time SSE progress + parallel page generation + partial-resume; fix concurrent slug collisions; fix skill overwrite + hub retry 2026-04-15 10:34:11 +08:00
matevip
2a2f862257 feat(wiki): per-raw progress bar in raw-material card (RFC-012 M2 v2 UI) 2026-04-14 18:56:45 +08:00
matevip
f285db22d0 fix(wiki): surface LLM root cause + fail fast on DNS/TLS/refused (RFC-012 M1 follow-up v2) 2026-04-14 18:24:49 +08:00
matevip
62ac1fb79c fix(wiki): route emits metadata only; per-page create + merge in phase B (RFC-012 M2 v2) 2026-04-14 18:11:35 +08:00
matevip
26d45b0e35 fix(agent): use JdkClientHttpRequestFactory for LLM RestClient (gzip + HTTP/2) 2026-04-14 17:53:44 +08:00
matevip
4fb6a83eb6 feat(wiki): two-phase digest — route + per-page merge (RFC-012 M2) 2026-04-14 17:39:50 +08:00
matevip
a369e8055d fix(wiki): bound LLM retry + http read timeout (RFC-012 M1 follow-up) 2026-04-14 16:05:37 +08:00
matevip
b9ed8219ba feat(wiki): parallel processing + resilient LLM retry + hash-based skip (RFC-012 M1) 2026-04-14 15:18:03 +08:00
matevip
0adb3dddf1 feat(plugin): Plugin SDK + UI layout improvements 2026-04-13 18:38:03 +08:00
matevip
97e101ab52 feat(channel): auto-start on create, multi-account UX, wecom mixed message 2026-04-13 17:10:34 +08:00
matevip
881badd15f feat(channel): weixin voice ASR fallback, wecom mixed message handling 2026-04-13 16:38:09 +08:00
matevip
d5e3502829 fix(wiki): backend hardening + batch delete UI 2026-04-13 15:37:12 +08:00
matevip
e4679796b8 feat(wiki): performance + quality + delete redesign (RFC-008) 2026-04-13 09:35:26 +08:00
matevip
80b7b8e126 feat(agent): multi-agent delegation with parallel execution (RFC-004) 2026-04-12 23:40:27 +08:00
matevip
46f77c281b fix(agent): complete RFC-001 — Anthropic thinking, iteration budget, UI fixes 2026-04-12 17:28:15 +08:00
matevip
2a8b90365b feat(agent): add deep thinking toggle (RFC-001) 2026-04-12 11:29:32 +08:00
matevip
379422101c refactor(ui): minimalist login redesign, MCP fixes, Flyway upgrade compatibility 2026-04-11 23:01:08 +08:00
matevip
4f217dfc2c release: v1.0.418 — UI redesign, workspace isolation, backend i18n 2026-04-11 20:30:14 +08:00
matevip
b613a5de11 feat(tool): add CronJobTool for chat-based scheduled tasks + Flyway V2/V3 migrations 2026-04-11 19:51:28 +08:00
matevip
b3c1f8403d feat(skill): add ZIP file import for skill installation 2026-04-11 19:29:01 +08:00