chengyongru
|
f239b45900
|
feat(config): add image-aware model presets
|
2026-07-29 00:02:21 +08:00 |
|
chengyongru
|
019d7816a7
|
fix(webui): animate reasoning drawer transitions (#5143)
|
2026-07-28 19:13:16 +08:00 |
|
chengyongru
|
24a392b671
|
fix(webui): open threads at latest message (#5142)
|
2026-07-28 18:52:34 +08:00 |
|
chengyongru
|
76ab04ac48
|
fix(webui): keep streaming tail visible (#5140)
|
2026-07-28 18:18:44 +08:00 |
|
chengyongru
|
1faf0826f6
|
fix(webui): keep composer stable while scrolling
|
2026-07-28 17:13:47 +08:00 |
|
chengyongru
|
ae089aa3ae
|
fix(webui): reconcile threads after browser resume
|
2026-07-28 16:25:08 +08:00 |
|
chengyongru
|
fa5d27696a
|
fix(webui): rank skill autocomplete results
|
2026-07-28 11:36:10 +08:00 |
|
chengyongru
|
6bc454dab4
|
fix(webui): prevent composer resize scroll jitter (#5121)
|
2026-07-28 01:01:49 +08:00 |
|
chengyongru
|
b99e0f937e
|
fix(webui): soften model selector emphasis
|
2026-07-27 23:13:14 +08:00 |
|
chengyongru
|
e819b7eea4
|
fix(webui): stabilize repeated model preset rows
|
2026-07-27 18:11:10 +08:00 |
|
chengyongru
|
281b4b7f0b
|
chore: remove expired v0.3.1 compatibility shims (#5106)
|
2026-07-27 13:53:04 +08:00 |
|
chengyongru
|
27a00c7a4f
|
fix(webui): merge length recovery stream segments
|
2026-07-27 01:39:46 +08:00 |
|
chengyongru
|
be43a54570
|
fix(webui): prevent mobile thread overflow
|
2026-07-26 23:59:28 +08:00 |
|
chengyongru
|
ee93725e83
|
fix(webui): restore file edit diff display (#5096)
|
2026-07-26 19:05:53 +08:00 |
|
chengyongru
|
b0ef759e2c
|
Smooth WebUI streaming with state-driven viewport motion (#4696)
|
2026-07-26 00:18:24 +08:00 |
|
Xubin Ren
|
ac7b8cf4b4
|
fix(webui): preserve preset widths while switching
|
2026-07-25 15:46:46 +08:00 |
|
Xubin Ren
|
88cb22dd79
|
fix(webui): show full model preset labels
|
2026-07-25 15:46:46 +08:00 |
|
chengyongru
|
c6dbeb97d8
|
feat(brand): migrate README and WebUI assets to SVG
|
2026-07-24 22:45:13 +08:00 |
|
chengyongru
|
d3e4b35f2b
|
fix(webui): honor custom gateway port with Vite (#5076)
|
2026-07-24 18:40:09 +08:00 |
|
chengyongru
|
5be176a6a0
|
feat(webui): switch model presets from the composer (#5077)
|
2026-07-24 17:34:26 +08:00 |
|
chengyongru
|
9957de5226
|
fix(webui): show quoted context after follow-up send (#5071)
|
2026-07-24 14:19:33 +08:00 |
|
chengyongru
|
6a9157f477
|
feat(webui): present chats as topics
|
2026-07-24 10:29:13 +08:00 |
|
chengyongru
|
aae259c790
|
feat(webui): simplify model preset settings (#5061)
|
2026-07-24 00:55:06 +08:00 |
|
Xubin Ren
|
754f457a94
|
fix(webui): keep composer model badge in sync
|
2026-07-23 23:11:40 +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 |
|
chengyongru
|
96eb965aae
|
feat(webui): show the actual fallback model (#5017)
|
2026-07-23 15:57:13 +08:00 |
|
chengyongru
|
9cf2fb19c2
|
feat(xai): surface hosted X Search activity (#5050)
|
2026-07-23 13:42:09 +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
|
8bd951a06f
|
test(image): update model picker assertion
|
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 |
|
chengyongru
|
c22efb5f7a
|
feat(agent): make model presets session-scoped (#4866)
|
2026-07-23 00:38:49 +08:00 |
|
Xubin Ren
|
aa8387fb4d
|
feat(webui): polish agent output and app discovery
|
2026-07-22 22:42:31 +08:00 |
|
chengyongru
|
4cd6eb6c38
|
fix(webui): avoid mobile welcome composer overlap
|
2026-07-22 15:55:09 +08:00 |
|
chengyongru
|
254497c02e
|
fix(webui): improve mobile composer layout (#5030)
|
2026-07-22 14:59:56 +08:00 |
|
chengyongru
|
96abb4d2c4
|
style(webui): clarify surface hierarchy (#5029)
|
2026-07-22 14:33:58 +08:00 |
|
chengyongru
|
63bc6e98a7
|
fix(webui): detect Chrome voice recording support (#5027)
|
2026-07-22 14:10:09 +08:00 |
|
chengyongru
|
7bf7469d90
|
feat(webui): show pin indicators for pinned chats (#5025)
|
2026-07-22 11:47:45 +08:00 |
|
yrk
|
9abad4746e
|
feat(providers): add ModelScope provider for LLM and image generation
|
2026-07-22 01:35:20 +08:00 |
|
chengyongru
|
b32d673ead
|
fix(webui): decouple skill reference rendering
|
2026-07-21 22:56:04 +08:00 |
|
chengyongru
|
79b89f4f4c
|
feat(webui): highlight skill references in sent messages
|
2026-07-21 22:56:04 +08:00 |
|
chengyongru
|
93571149db
|
fix(webui): prioritize skill names in autocomplete
|
2026-07-21 15:19:38 +08:00 |
|
chengyongru
|
052f671b3c
|
fix(webui): keep Markdown table diffs inline
|
2026-07-21 15:16:12 +08:00 |
|
chengyongru
|
76f3eead42
|
style(webui): simplify Markdown code blocks (#5002)
|
2026-07-20 14:41:23 +08:00 |
|
chengyongru
|
949cfad548
|
fix(webui): show copy action on every assistant message
|
2026-07-20 13:51:53 +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 |
|