Commit Graph

414 Commits

Author SHA1 Message Date
matevip
2b3c068db9 feat(wiki): broken-link lint with job-based async scan 2026-05-28 08:17:04 +08:00
matevip
66d3d90ea9 feat(wiki): slug-first wikilink resolution and safe DOM postprocess 2026-05-28 08:16:56 +08:00
matevip
b81660a2a1 polish(approval-grants-ui): fix active-count pill + reuse mcConfirm for revoke 2026-05-27 15:54:47 +08:00
matevip
fe4f051672 polish(approval-grants-ui): pin the Actions column to the right edge 2026-05-27 15:09:18 +08:00
matevip
5f2adf15f6 polish(approval-grants-ui): show granter name, fix note cell rendering, tighten layout 2026-05-27 15:09:11 +08:00
matevip
b34de4e078 refactor(approval-grants-ui): strip Element Plus, reuse project list+pagination 2026-05-27 15:09:04 +08:00
matevip
6a754f5bfa refactor(approval-grants-ui): rebuild create dialog to match ToolGuard pattern 2026-05-27 15:08:56 +08:00
matevip
b9c5ec03d4 refactor(approval-grants-ui): header aligned with project conventions 2026-05-27 15:08:49 +08:00
matevip
65cf53779a refactor(approval-grants-ui): paginated list, Element Plus icons, shorter sidebar label 2026-05-27 15:08:41 +08:00
matevip
2f5e06f286 fix(approval): three minor issues surfaced by end-to-end testing 2026-05-27 14:08:12 +08:00
matevip
f15b2dced3 feat(ui): auto-approve banner dropdown, management page, and workspace chip 2026-05-27 14:08:04 +08:00
matevip
f163c0b5bc feat(ui): rewrite chat welcome subtitle and suggestions around agent capabilities 2026-05-27 06:58:52 +08:00
matevip
0ac325a337 feat(agent): explicit "no skills / no tools" opt-out flags (#184) 2026-05-26 22:07:12 +08:00
matevip
3ae4498f38 fix(channel,agent,chat): unify channel binding / conversation agent / model pin state sources 2026-05-26 09:40:49 +08:00
matevip
9e9a96f674 fix(agent): resolve relative workspaceBasePath under workspace root 2026-05-25 15:58:05 +08:00
倪程伟
cbdd70379b
feat(agent): optional agent-level workspace basePath override (#212)
* feat(agent): optional agent-level workspace basePath override

Add workspaceBasePath field to AgentEntity that optionally overrides
the workspace-level basePath. When set, the agent uses its own directory;
when null, it inherits the workspace's basePath (existing behavior).

- AgentEntity: new workspaceBasePath field with ALWAYS update strategy
- AgentGraphBuilder: agent-level override takes priority over workspace
- Flyway migration V121 for H2 and MySQL
- UI: form input in basic tab with i18n (zh-CN, en-US)

* fix(agent): rename migration V121→V125 to avoid Flyway conflict with upstream

Upstream already has V121__tool_disclosure_tier.sql. Rename our
migration to V125 (next available after V124).

* fix(agent): make MySQL V125 migration idempotent

Use INFORMATION_SCHEMA check before ADD COLUMN to avoid
"Duplicate column name" error on re-deploy.
2026-05-25 15:42:01 +08:00
matevip
3fc121c6b7 fix(tool): show runtime names in tools admin 2026-05-23 22:54:57 +08:00
matevip
cef1730e6e feat(tool,skill,ui): progressive tool/skill disclosure (load_skill + enable_tool + tier UI) 2026-05-23 09:07:45 +08:00
matevip
26bf75fd2f fix(ui): stop chat content clipping in a narrow message column 2026-05-22 14:09:18 +08:00
matevip
5f571e86a2 feat(agent,ui): multi-level subagent delegation tree 2026-05-22 13:44:01 +08:00
matevip
8bd8a02cd0 feat(agent,ui): nested subagent timeline + always-on plan panel 2026-05-22 09:48:06 +08:00
matevip
2a1b8cbcbf fix(goal,ui): gate inline prompt by real long-task signal; soften copy 2026-05-21 22:27:33 +08:00
matevip
34175ab94d fix(goal,ui): guard evaluating flag against the message_complete race 2026-05-21 22:27:25 +08:00
matevip
495a5c126d fix(goal,ui): wire evaluating halo, followup ↻ mark, dedupe system-line icon 2026-05-21 22:26:48 +08:00
matevip
c34e8290ac feat(goal,ui): inline set-goal prompt, terminal system-line, sidebar dot 2026-05-21 22:26:40 +08:00
matevip
9c5ad29d42 chore(llm): drop unused imports, add XIAOMI_MIMO cross-turn cache tests 2026-05-21 17:24:53 +08:00
matevip
02407871f4 fix(goal,ui): unwrap R envelope correctly in goal store 2026-05-21 16:26:31 +08:00
matevip
49d9eccaec fix(goal,ui): center the avatar logo inside the ring wrapper 2026-05-21 16:26:18 +08:00
matevip
7e1ce66ace fix(goal,ui): the ring rendered as a square — explicit box-shadow:none 2026-05-21 16:26:11 +08:00
matevip
892bc652f2 fix(goal,ui): refine ring CSS — 5px breathing gap, same-hue track for layering 2026-05-21 16:25:57 +08:00
matevip
c9e54e820f fix(goal,ui): live ring update after agent-triggered setGoal / addGoalCriterion 2026-05-21 14:43:59 +08:00
matevip
e61c9d46d3 fix(goal,ui): load active goal on conversation switch 2026-05-21 14:43:46 +08:00
matevip
3a0595d5bd feat(goal,ui): Jobs-cut frontend for persistent goal 2026-05-21 14:43:28 +08:00
matevip
51e6542a5a feat(channel/qq): add scan-to-bind onboarding via QQ Open Platform Lite portal 2026-05-20 21:47:49 +08:00
matevip
2d3afa6550 feat(sessions): paginate admin list, add back-nav, redesign with depth 2026-05-20 20:58:05 +08:00
matevip
fe62a98c8f feat(chat-console): surface Sessions admin via header menu (#183) 2026-05-20 20:57:58 +08:00
matevip
86c5d871bf style(settings-ui): make sub-nav collapse toggle a floating primary-tinted circle pinned to the nav bottom 2026-05-20 20:57:48 +08:00
matevip
6a4318c268 fix(channel): IM conversations respect per-conversation model selection (#183) 2026-05-20 17:49:03 +08:00
matevip
35f010d7a1 sync: Feishu CardKit streaming-card adapter via cardkit/v1 SDK 2026-05-20 11:37:12 +08:00
倪程伟
2e4f88c612
fix(llm): switch slash-bearing modelId from path variable to query parameter (#177)
Closes #174

Model identifiers like 'Qwen/Qwen3-Embedding-8B' or
'Pro/deepseek-ai/DeepSeek-V3' carry forward slashes that Spring MVC
decodes from %2F before path matching, so even with the frontend's
encodeURIComponent the request never reaches the handler and 404s out.

The two affected endpoints take modelId as a request param instead:

  DELETE /{providerId}/models/{modelId}      -> DELETE /{providerId}/models?modelId=...
  POST   /{providerId}/models/{modelId}/test -> POST   /{providerId}/models/test?modelId=...

modelApi.removeProviderModel / testModel in the UI follow suit, passing
the id via axios params so axios handles the URL encoding consistently.
providerId stays as a path variable — provider ids are kebab-case and
never contain slashes.
2026-05-20 10:22:44 +08:00
matevip
daeef4e3c2 feat(scheduler): unify cron jobs and triggers into a tabbed Scheduler page 2026-05-19 21:23:18 +08:00
matevip
92d35a3d3d fix(workspace): keep workspace ids as strings so a switch survives reload 2026-05-19 20:06:56 +08:00
matevip
0383740fec fix(ui): rename the wiki nav item to "Wiki" / "知识库" 2026-05-19 09:56:21 +08:00
matevip
99718d276e feat(ui): frosted-glass tooltip and collapsed-rail alignment 2026-05-19 09:56:15 +08:00
matevip
2c1e673fba feat(skill): SkillMarket lifecycle UI + curator control panel 2026-05-19 09:56:08 +08:00
matevip
cfb123dda2 fix(wiki): keep the raw-material filter across page-list refreshes (#156) 2026-05-18 23:28:56 +08:00
matevip
7949b6ff38 fix(chat): keep the runtime model indicator synced with the selector 2026-05-18 22:00:30 +08:00
matevip
33a40ad9d9 feat(wiki): support HTML, Excel, PowerPoint and CSV raw materials 2026-05-18 21:57:43 +08:00
matevip
4cf991851b fix(workflow): keep the editor canvas and status correct after publish 2026-05-18 17:34:53 +08:00
matevip
8cfc78e7b4 fix(ui): keep model group-header chip and Fix button on one line 2026-05-18 16:27:34 +08:00
matevip
d53d66abe3 feat(chat): per-conversation model selection (#150) 2026-05-18 16:27:27 +08:00
matevip
8a0c0a76a8 refactor(memory-ui): extract shared icon, empty-state, skeleton and section components (#148) 2026-05-18 16:26:19 +08:00
matevip
7a650dc667 refactor(memory-ui): replace emoji icons with inline SVG line-art 2026-05-18 13:51:20 +08:00
matevip
3157dde1f4 fix(memory): route long-term memory edits to the file being edited (#148) 2026-05-18 11:28:01 +08:00
matevip
ea00b2aa25 feat(ui): add the xAI (Grok) provider brand icon 2026-05-18 10:01:05 +08:00
matevip
75107ac815 feat(llm): native Gemini chat builder, Nano Banana image gen, xAI/Grok provider 2026-05-18 10:00:55 +08:00
matevip
71aba2649e fix(wiki): gate write controls behind the manage:wiki capability 2026-05-17 17:55:48 +08:00
matevip
c9f73bbbd5 fix(wiki): type kbId/pageId props as number|string to prevent ID precision loss 2026-05-17 17:55:42 +08:00
matevip
0d94cb1f93 fix(i18n): add missing wiki page type, settings and chat keys 2026-05-17 17:55:36 +08:00
matevip
85f1e326ed feat(chat): color agent icons in the agent picker dialog 2026-05-17 12:00:47 +08:00
matevip
001cb1a2ed refactor(chat): extract conversation sidebar and shared UI primitives 2026-05-17 11:49:44 +08:00
matevip
146be51442 fix(chat): guard activity poll against overlapping interval ticks 2026-05-17 09:58:55 +08:00
matevip
6d70834227 fix(i18n): add missing common.more key for the chat header menu 2026-05-17 09:58:49 +08:00
matevip
e3edc2b176 fix(i18n): add MCP tool scoping strings for the agent tool picker 2026-05-17 09:25:15 +08:00
matevip
ce33c1c652 feat(llm): add UI to configure embedding models from any provider (#79) 2026-05-17 09:25:09 +08:00
matevip
7fb47390af feat(chat): pin, multi-select delete and agent filter for conversations (#144) 2026-05-17 09:25:02 +08:00
matevip
18df97a8e6 fix(agent): scope MCP tools to explicit per-agent selection (#117) 2026-05-17 09:24:56 +08:00
matevip
09eb28fb63 refactor(ui): unify employee selector into shared AgentPickerDialog 2026-05-16 22:17:58 +08:00
matevip
8edf71cd64 feat(ui): dashboard model-config card + onboarding provider enablement 2026-05-16 14:51:41 +08:00
matevip
373b462195 feat(ui): export and import buttons for agent memory snapshot 2026-05-16 14:51:31 +08:00
matevip
82594878a0 refactor(ui): fold the live runtime view into the Employees page 2026-05-16 14:50:58 +08:00
matevip
130dfd5278 fix(skill): synthesize SKILL.md for MCP-derived virtual skills (#136) 2026-05-16 14:50:46 +08:00
matevip
3b9b4d79d5 feat(skill): scope skill catalog and runtime by workspace (#135) 2026-05-15 20:01:25 +08:00
matevip
1f9adeb31d refactor(ui): redesign Triggers list from 9-column table to rule cards 2026-05-15 17:33:38 +08:00
matevip
0800c03cd3 fix(ui): preserve snowflake ID precision through form round-trips (#133) 2026-05-15 15:51:33 +08:00
matevip
c20c066cbc feat(ui): global Ctrl+K / Ctrl+N shortcuts with sidebar hint 2026-05-15 10:19:32 +08:00
matevip
e10dd9d0a0 refactor(ui): swap ElMessage for project-native mcToast, finish mcConfirm migration 2026-05-15 10:19:24 +08:00
matevip
15ee205ab9 refactor(ui): share drawer chrome via MateDrawer, migrate Doctor and skill drawers 2026-05-15 10:19:16 +08:00
matevip
196ddb8588 fix(ui): resolve active model label from /enabled when providers is admin-only 2026-05-15 10:19:10 +08:00
matevip
26df2c94d0 fix(rbac): let viewers read active model so they can actually chat 2026-05-15 10:19:03 +08:00
matevip
7cf2508ded fix(ui): cron table layout, chart locale reactivity, mobile stats grid 2026-05-15 10:18:52 +08:00
matevip
ccd86dbb80 feat(ui): land viewers on /chat and show real role in switcher 2026-05-15 10:18:45 +08:00
matevip
777e2ecee2 feat(ui,router): gate routes and sidebar by workspace capability 2026-05-15 10:18:38 +08:00
matevip
aa27853712 feat(ui,workspace): consume backend access endpoint for capability state 2026-05-15 10:18:30 +08:00
matevip
eb6badeb61 feat(ui): surface pending approvals + stuck agents as sidebar badges 2026-05-15 10:17:30 +08:00
matevip
adf5d93975 fix(wiki): align HTTP status with R envelope and harden config + edit paths 2026-05-14 23:01:00 +08:00
matevip
3de554f464 fix(ui): localize skill name in agent binding picker (#124) 2026-05-14 17:54:55 +08:00
matevip
d1be02985c fix(agent): collapse model-predicted tool results that the actual tool replaced 2026-05-14 15:44:03 +08:00
matevip
0192a62f21 feat(ui/mcp): redesign MCP connections page with componentized layout 2026-05-14 14:09:44 +08:00
matevip
004df80611 fix(ui/workflows): keep property panel rendering when an i18n message contains Pebble braces 2026-05-13 20:15:12 +08:00
matevip
4aad813f2d fix(ui/workflows): rework editor layout, free property panel, slim route chunk 2026-05-13 17:53:18 +08:00
matevip
32507d2157 fix(ui/enterprise): type filter keys so computed arrays match ref unions 2026-05-13 11:30:52 +08:00
matevip
2bca55f5b4 fix(tool-guard): friendly duplicate rule-id rejection and client-side name/pattern validation (#88) 2026-05-13 09:55:30 +08:00
matevip
faf7f98358 feat(context): consume compact_status on the frontend; load history from latest boundary; backfill summaryId 2026-05-13 08:50:35 +08:00
matevip
cc5d7d5ad0 fix(agent): auto-include enabled MCP tools in effective allowlist (#108) 2026-05-12 21:24:36 +08:00
matevip
bcf194c35e feat(ui): add agent binding search (#106) 2026-05-12 18:18:39 +08:00
matevip
ed788e9e42 feat(ui): per-skill secrets panel for env-var-style credentials 2026-05-12 17:20:30 +08:00
matevip
691d2b867b fix(agent): hide disabled agents from the chat picker and reject chat calls against them (#105) 2026-05-12 14:53:14 +08:00
matevip
1bfb5f7fc8 chore(ui): move enterprise nav entry below memory in the core group 2026-05-12 14:35:38 +08:00
matevip
026afa2ba5 feat(wiki): optional JSON Schema on json-format transformations 2026-05-12 14:35:31 +08:00