chengyongru
|
71a99b0780
|
fix(webui): improve UX recovery and empty states (#5315)
|
2026-08-10 15:22:25 +08:00 |
|
chengyongru
|
332c159b93
|
fix(weixin): harden protocol delivery, streaming, and login (#5263)
|
2026-08-07 16:53:31 +08:00 |
|
Xubin Ren
|
3836c32874
|
fix(webui): scope preset editor to one row
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
3fc69b2922
|
style(webui): inset expanded preset editor
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
eb5d7e1a32
|
style(webui): distinguish expanded preset editor
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
b77e1133cb
|
fix(webui): preserve preset deletion workflow
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
1b12fbae39
|
fix(webui): explain disabled preset deletion
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
6f2512ce9a
|
style(webui): retain model preset colors
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
c8bc4d8510
|
fix(webui): make active model presets deletable
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
e971e81b6c
|
refactor(webui): expand model preset editor inline
|
2026-08-07 12:42:37 +08:00 |
|
Xubin Ren
|
ada07aa799
|
feat(webui): add responsive model preset detail pane
|
2026-08-07 12:42:37 +08:00 |
|
chengyongru
|
67805f5db8
|
feat: add provider-native request switches (#5254)
|
2026-08-05 18:26:39 +08:00 |
|
chengyongru
|
9098ffd38f
|
refactor(webui): improve visual consistency (#5249)
|
2026-08-05 13:24:45 +08:00 |
|
Xubin Ren
|
fa65a01977
|
refactor(webui): narrow floating control migration
|
2026-08-04 18:05:34 +08:00 |
|
Xubin Ren
|
28ec8a1b47
|
fix(webui): correct combobox navigation semantics
|
2026-08-04 18:05:34 +08:00 |
|
Xubin Ren
|
7819cef7bd
|
refactor(webui): unify floating controls
|
2026-08-04 18:05:34 +08:00 |
|
chengyongru
|
2b63715282
|
fix(webui): complete i18n audit
|
2026-08-03 17:53:33 +08:00 |
|
chengyongru
|
5c72fdcd88
|
fix(webui): remove unused bot identity settings
|
2026-08-03 14:06:44 +08:00 |
|
Xubin Ren
|
db6c9effc3
|
fix(webui): position sidebar highlight on mount
|
2026-08-01 23:01:43 +08:00 |
|
Xubin Ren
|
0cb7dd5cc9
|
refactor(webui): reuse sidebar selection highlight
|
2026-08-01 23:01:43 +08:00 |
|
chengyongru
|
606ac56e8f
|
feat(webui): support remote Codex OAuth login (#5174)
|
2026-07-30 15:06:34 +08:00 |
|
chengyongru
|
11fcd9cc5f
|
fix(webui): prevent redundant thread and media reloads (#5164)
|
2026-07-30 10:25:22 +08:00 |
|
Xubin Ren
|
c440695aef
|
fix(webui): harden skill marketplace lifecycle
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
8a56eb06ad
|
fix(webui): harden skill management
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
d276fe1386
|
perf(webui): make marketplace filters instant
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
12ebc7b8e2
|
style(webui): use package install icon
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
164726c43f
|
style(webui): quiet marketplace install actions
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
62b132b698
|
style(webui): reduce repeated marketplace labels
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
e66eb204d0
|
feat(webui): add SkillHub marketplace source
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
42ee34e34d
|
fix(webui): localize skills view tabs
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
962cdb968d
|
style(webui): animate settings section transitions
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
9b5a5c5302
|
style(webui): refine skills mobile experience
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
655cd80651
|
style(webui): clarify skill row interactions
|
2026-07-30 01:13:37 +08:00 |
|
Xubin Ren
|
ba0ba4749d
|
feat(webui): add skills marketplace
|
2026-07-30 01:13:37 +08:00 |
|
chengyongru
|
e819b7eea4
|
fix(webui): stabilize repeated model preset rows
|
2026-07-27 18:11:10 +08:00 |
|
chengyongru
|
aae259c790
|
feat(webui): simplify model preset settings (#5061)
|
2026-07-24 00:55:06 +08:00 |
|
chengyongru
|
6c0f151f6e
|
fix(webui): polish responsive layout
|
2026-07-23 18:22:02 +08:00 |
|
chengyongru
|
4b1547db7d
|
style(webui): unify settings and dark mode surfaces (#5058)
|
2026-07-23 17:47:20 +08:00 |
|
Xubin Ren
|
536e8db324
|
refactor(webui): remove unused picker styling hooks
|
2026-07-23 12:42:24 +08:00 |
|
Xubin Ren
|
2f4f00bb9f
|
refactor(image): reuse the model picker
|
2026-07-23 12:42:24 +08:00 |
|
Xubin Ren
|
e875f29185
|
fix(image): allow custom model ids
|
2026-07-23 12:42:24 +08:00 |
|
Xubin Ren
|
1616fa9f14
|
feat(image): apply generation settings live
|
2026-07-23 12:42:24 +08:00 |
|
chengyongru
|
c7393c785e
|
feat(providers): add xAI Grok OAuth with capability-gated X Search (#5035)
|
2026-07-23 11:55:16 +08:00 |
|
Xubin Ren
|
aa8387fb4d
|
feat(webui): polish agent output and app discovery
|
2026-07-22 22:42:31 +08:00 |
|
chengyongru
|
96abb4d2c4
|
style(webui): clarify surface hierarchy (#5029)
|
2026-07-22 14:33:58 +08:00 |
|
yrk
|
9abad4746e
|
feat(providers): add ModelScope provider for LLM and image generation
|
2026-07-22 01:35:20 +08:00 |
|
chengyongru
|
462a0dfb0f
|
refactor(channels): make built-in channels self-contained (#4908)
* refactor(channels): own setup and instance contracts
* refactor(channels): isolate management contracts
* refactor(channels): normalize activation contracts
* fix(channels): enforce management contracts
* refactor(channels): finish setup ownership migration
* fix(channels): harden management contracts
* fix(channels): enforce lazy loading and runtime ownership
* fix(feishu): make multi-instance startup idempotent
* fix(webui): render channel setup contracts cleanly
* fix(feishu): stop websocket clients cleanly
* fix(channels): enforce persistence and activation gates
* fix(channels): preserve global feature action scope
* fix(channels): apply defaults for single plugins
* fix(channels): enforce management contract boundaries
* refactor(feishu): remove identity helper indirection
* fix(channels): preserve management setup contracts
* refactor(channels): generalize instance settings UI
* refactor(channels): package channel plugins with web UI metadata
* refactor(channels): make built-ins self-contained packages
* test(channels): colocate tests with channel packages
* fix(dingtalk): use official brand icon
* feat(channels): colocate webui translations
* docs(channels): clarify plugin ownership
* test(exec): remove output wait race
* refactor(channels): unify plugin descriptors
* fix(channels): enforce descriptor-owned contracts
* refactor(channels): finish package-owned plugin setup
* refactor(channels): use repository-owned packages only
* fix(channels): self-describe dependencies and runtime state
* fix(channels): warn about legacy entry points
|
2026-07-19 23:30:49 +08:00 |
|
bingqilinweimaotai
|
8c68c6fe1e
|
feat: support Kimi K3
|
2026-07-18 17:38:32 +08:00 |
|
chengyongru
|
6c9e3a2cc3
|
refactor(webui): centralize native runtime access (#4769)
|
2026-07-14 15:00:30 +08:00 |
|
Xubin Ren
|
fe0717b385
|
feat(webui): add guided setup flows
* feat(channels): add guided setup flows
* test(channels): preserve setup config values
* fix(channels): reflect saved setup state
* refactor(channels): simplify setup state metadata
* fix(channels): harden setup lifecycle
* refactor(channels): centralize setup contracts
* fix(channels): route setup actions through webui shim
* fix(channels): adapt settings for compact screens
* fix(models): preserve default preset display
* feat(models): add curated Codex catalog
* fix(webui): stop attached gateway on interrupt
* fix(webui): simplify apps catalog
* docs(webui): clarify apps and runtime features
* feat(settings): add guided capability setup
* fix(webui): harden setup and managed services
* test: keep managed runtime checks portable
* test: scope POSIX runtime coverage
* fix(webui): simplify file settings
* feat(files): bundle document reading
* fix(webui): harden setup request boundaries
* fix(webui): prevent channel setup status squeeze
* fix(settings): group provider compatibility aliases
* refactor(settings): remove redundant setup surfaces
* fix(webui): harden guided setup lifecycle
* fix(webui): preserve channel setup compatibility
|
2026-07-13 13:11:46 +08:00 |
|