Commit Graph

579 Commits

Author SHA1 Message Date
matevip
c2c1cb5271 fix(tool-result): exempt retrieval tools from spill to prevent read-back recursion 2026-04-19 08:29:10 +08:00
matevip
40bbde1278 feat(agent): runtime efficiency — spill oversized tool results, add tool concurrency registry, collect cache metrics 2026-04-19 08:28:45 +08:00
matevip
762218cd32 refactor(db): drop @TableLogic on all entities, purge soft-deleted rows 2026-04-18 23:31:48 +08:00
matevip
5aed6f176d fix(binding): drop @TableLogic on agent-tool/skill to fix rebind error 2026-04-18 23:15:56 +08:00
matevip
cf8a6b9fcb chore: bump version to 1.1.137-SNAPSHOT 2026-04-18 21:58:54 +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
c60d637e33 chore: bump version to 1.1.0-SNAPSHOT for v1.1 development 2026-04-12 10:00:27 +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
d35050e75b release: v1.0.418 2026-04-11 19:57:58 +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
matevip
d3b72929c7 fix(security): login rate limiting, SQL injection fix, error boundary 2026-04-11 18:31:51 +08:00
matevip
8dbb437e40 fix(security): remove debug console.log and hide internal error details 2026-04-11 18:26:41 +08:00
matevip
fe83b72d67 fix(security): harden JWT, CORS, and H2 Console for production 2026-04-11 18:21:17 +08:00
matevip
408ad980dd feat(i18n): complete remaining i18n — DefaultToolGuard, LLM/Datasource services, Channels UI 2026-04-11 18:02:03 +08:00
matevip
af9addaaec feat(i18n): structured i18n keys for exceptions and auto-translate 100+ error messages 2026-04-11 17:52:25 +08:00
matevip
81ff1bf491 feat(i18n): complete backend i18n — guard rules, tool errors, response codes 2026-04-11 17:26:58 +08:00
matevip
aa09345403 feat(i18n): add backend internationalization — tool descriptions, error messages, guard rules, runtime context 2026-04-11 17:08:43 +08:00
matevip
cc28f665f1 feat(db): introduce Flyway migration framework and unify H2/MySQL schemas
- Add Flyway baseline migration (V1) for both H2 and MySQL
- Remove 5 legacy SchemaMigration ApplicationRunner classes
- Add WorkspacePathGuard for file tool sandbox enforcement
- Inject workspace basePath context into agent graph state and tool executor
- Add workspace basePath config UI in frontend
- Fix workspace slug preservation on update
2026-04-11 16:34:09 +08:00
matevip
f98f4d68b9 refactor(ui): publish tested chat UI simplification 2026-04-11 14:25:37 +08:00
matevip
bfd1cbac56 feat(chat): ChatGPT tool calling + fix cross-turn message pollution 2026-04-11 08:46:21 +08:00
matevip
f08581daa7 fix(guard): detect find -delete as dangerous shell command 2026-04-11 00:35:59 +08:00
matevip
f28ad8d9d4 fix(chat): preserve refresh history and thinking order 2026-04-11 00:16:33 +08:00
matevip
367dd4bed0 fix(agent): preserve per-subtask results in multi-task answer synthesis, add listAvailableSkills tool 2026-04-10 17:10:02 +08:00
matevip
ba34f1eed3 fix(chat): preserve intermediate reasoning in segments via phase-based splitting 2026-04-10 07:58:19 +08:00
matevip
dafdcb4182 feat(chat): segmented message display, progressive loading, and real-time segment persistence 2026-04-10 07:36:24 +08:00
matevip
ec7ea038e7 feat(agent): context compression upgrade, 429 retry, iteration limit & repetition fixes 2026-04-10 00:52:26 +08:00
matevip
250a5f6d46 feat(memory): multi-layer memory system with pluggable provider architecture 2026-04-09 22:26:19 +08:00
matevip
a219f92410 feat: productize webchat channel config 2026-04-09 21:28:47 +08:00
matevip
1c2acfd2e9 refactor(ux): simplify interactions and humanize UI with Jobs-inspired review 2026-04-09 20:56:50 +08:00
matevip
5124842526 feat(platform): workspace isolation, info architecture, and UI redesign 2026-04-09 16:29:02 +08:00
matevip
d44ba0cdd8 fix(security): close workspace isolation gaps and audit context loss 2026-04-09 14:19:51 +08:00
matevip
3506c55bc8 feat(platform): Phase 3 Sprint 1-3 — permission, agent binding, dashboard 2026-04-09 11:58:20 +08:00
matevip
3d58a48eae feat(platform): add workspace foundation and channel execution upgrades 2026-04-09 10:29:16 +08:00
matevip
f6a3a1592a feat(ux): Phase 1 — onboarding, doctor, templates, navigation convergence 2026-04-09 00:32:35 +08:00
matevip
b4a7378888 fix(db): add missing OAuth columns to MySQL schema 2026-04-08 18:25:27 +08:00
matevip
1334d93ee5 release: v1.0.314 2026-04-08 16:58:06 +08:00
matevip
7cf9a21acd docs: update README for v1.0.314 snapshot highlights and add wiki config 2026-04-08 16:49:51 +08:00
matevip
c568b4faa8 fix(db): unify schema and seed data across H2/MySQL, en/zh 2026-04-08 16:30:33 +08:00
matevip
f6102c4733 fix(wiki): auto-resolve kbId, improve search and processing robustness 2026-04-08 16:09:22 +08:00
matevip
642360a773 feat(wiki): add LLM Wiki knowledge base system 2026-04-08 10:55:50 +08:00
matevip
7007ea844d feat: add TTS, STT, music generation, video providers (Runway/MiniMax), image providers (Google Imagen/MiniMax), and tool registry fix 2026-04-08 08:49:09 +08:00
matevip
43acd2bf94 feat(image,tts): add image generation with 4 providers and TTS with 3 providers 2026-04-07 22:14:31 +08:00
matevip
fe3a7f7b01 feat(video): add video generation capability with 4 providers and async task infrastructure 2026-04-07 19:14:27 +08:00
matevip
c3eeca7171 feat(search): add advanced params, caching, security wrapping, and dual-search coexistence 2026-04-07 18:00:04 +08:00
matevip
b750306028 feat(search): add SearchProvider chain with keyless fallback (DuckDuckGo + SearXNG) 2026-04-07 16:52:42 +08:00
matevip
afe8466fa5 feat(llm): add OpenAI ChatGPT OAuth login for Plus/Pro member access 2026-04-07 15:32:55 +08:00
matevip
8e9a83fd50 fix(skill): use correct beanName for steve_jobs tool dependencies 2026-04-07 10:34:26 +08:00
matevip
fee8aec280 feat(skill): add Steve Jobs persona skill as builtin 2026-04-07 10:22:19 +08:00
matevip
69afc4e68a fix(memory): code review fixes for dreaming and tool execution 2026-04-07 09:22:37 +08:00
matevip
d3f2a310e8 feat(agent): context pruning, thinking recovery, channel health monitor 2026-04-07 07:39:14 +08:00
matevip
5fc60ec513 feat(agent): smart truncation, stale stream cleanup, configurable tool timeouts, and new indexes 2026-04-07 06:39:46 +08:00
matevip
e6be23a040 perf(memory): fix N+1 queries, remove redundant SHA-256, cap DREAMS.md growth 2026-04-07 01:42:57 +08:00
matevip
a8613fb05c fix(agent): improve execution stability to prevent premature task exits 2026-04-07 01:34:40 +08:00
matevip
2ac7cc4af4 feat(stream): add fine-grained phase status hints for frontend UX 2026-04-07 00:40:38 +08:00
matevip
d5f1d19306 feat(memory): add active retrieval tracking, multi-gate filtering, DREAMS.md diary and dreaming status API 2026-04-06 23:35:27 +08:00
matevip
015abcef96 feat(memory): add Dreaming recall tracking and scored emergence 2026-04-06 22:25:47 +08:00
matevip
dd5ec7ff3c chore: bump version to 1.0.314-SNAPSHOT 2026-04-06 21:30:24 +08:00
matevip
76fd5c2911 release: v1.0.108 2026-04-06 19:52:05 +08:00
matevip
ca738cac21 fix(model): fix duplicate OpenRouter INSERT and add free vision models 2026-04-06 19:26:24 +08:00
matevip
9d727c607a fix(skill): sync workspace when builtin skill is updated or version bumped 2026-04-06 17:28:39 +08:00
matevip
3940cfd1ce feat(datasource): add auto ECharts visualization for SQL query results 2026-04-06 14:53:22 +08:00
matevip
10dfe35d49 feat(datasource): add SQL query skill for natural language database querying 2026-04-06 13:40:40 +08:00
matevip
8c8cb5fa48 fix(model): remove legacy dashscope-only restriction from model validation 2026-04-06 12:41:27 +08:00
matevip
647fa9ab94 fix(guard): check column existence before ALTER TABLE to suppress H2 duplicate column errors 2026-04-06 12:37:12 +08:00
matevip
08d1a89c0e feat(model): auto-activate Ollama model as default on startup discovery 2026-04-06 12:34:12 +08:00
matevip
d8f6ac7ea3 fix(model): add placeholder API key for Ollama provider to prevent call failures 2026-04-06 12:30:04 +08:00
matevip
fd1462bf03 feat(model): auto-activate default model when provider API key is configured 2026-04-06 12:21:17 +08:00
matevip
4a99382004 fix(browser): fix idle watchdog leak on repeated start/stop cycles 2026-04-06 12:01:09 +08:00
matevip
6756577428 fix(browser): add Windows and Docker Chromium launch args 2026-04-06 11:47:10 +08:00
matevip
91cd03c0da fix(agent): resolve image path from mediaId for IM channel multimodal injection 2026-04-06 10:57:34 +08:00
matevip
af40fbd7de feat(channel): add file upload support for WeChat and WeCom channels 2026-04-06 10:51:07 +08:00
matevip
eb78032752 feat(video): support video upload, preview, and multimodal analysis 2026-04-06 09:42:54 +08:00
matevip
49aae91e90 fix(agent): skip SVG in multimodal injection and stop retrying 400 errors 2026-04-06 08:38:39 +08:00
matevip
7bcdbf4523 fix(pdf,chat): fix OCR trigger misjudgment, false success, and duplicate image injection 2026-04-06 08:18:04 +08:00
matevip
d8cf5acf0f feat(chat,pdf): scanned PDF OCR fallback and authenticated attachment display 2026-04-06 07:48:28 +08:00
matevip
cc0569440e fix(chat): harden multimodal attachment handling across all paths 2026-04-06 07:03:11 +08:00
matevip
84a205509b feat(chat): multimodal image injection and upload UX improvements 2026-04-05 23:58:42 +08:00
matevip
99befe0d25 fix(agent): prevent ReAct degenerate repetition and harden loop termination 2026-04-05 22:34:03 +08:00
matevip
3de643dca9 chore: bump version to 1.0.108-SNAPSHOT 2026-04-05 21:00:20 +08:00
matevip
88d16151d3 release: v1.0.101 2026-04-05 19:04:14 +08:00
matevip
732bb13f47 fix(security): resolve SPA frontend route refresh returning 401 2026-04-05 18:20:40 +08:00
matevip
c8f3a12925 fix(i18n): dynamically set window title from language pack instead of hardcoding 2026-04-05 16:34:15 +08:00
matevip
bcf37d95fe fix(guard): align tool guard rule names with runtime @Tool method names and add audit config 2026-04-05 12:00:50 +08:00
matevip
a2f3a9f021 feat(mcp): pre-configure GitHub MCP Server in seed data 2026-04-05 09:53:47 +08:00
matevip
ef1f22356f feat(ui): group model providers by local/cloud with section headers 2026-04-05 08:32:55 +08:00
matevip
c335baf14d fix(llm): sort local providers first by using DESC order on is_local 2026-04-05 07:51:01 +08:00
matevip
d2d78b855e feat(llm): auto-detect Ollama on startup with pre-configured local models 2026-04-05 07:42:20 +08:00
matevip
4f60043549 refactor(server): replace Knife4j with SpringDoc OpenAPI 2.8.16 2026-04-05 07:24:00 +08:00
matevip
cccd364993 fix(llm): fix Zhipu connection test and update models to GLM-5-Turbo 2026-04-05 07:09:56 +08:00
matevip
5ac3078c6e feat(llm): update Zhipu AI models to GLM-5-Turbo/GLM-5V-Turbo 2026-04-05 07:03:14 +08:00
matevip
eea622099d chore: bump version to 1.0.101-SNAPSHOT with versioned docs 2026-04-05 06:22:28 +08:00
matevip
2c3d805521 feat(agent): add multi-agent delegation tool for agent-to-agent collaboration 2026-04-04 23:26:34 +08:00
matevip
65ec76cc96 feat(chat): add drag-and-drop file upload and raise upload limit to 100MB 2026-04-04 22:59:37 +08:00
matevip
579d60125b Initial commit: MateClaw — Java + Vue 3 AI Assistant System
Full-stack AI assistant built on Spring AI Alibaba.
Features: ReAct Agent, Plan-and-Execute, MCP Protocol, Multi-Model, Multi-Channel.

Apache-2.0 License
2026-04-04 19:03:49 +08:00