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
chengyongru
6c0f151f6e
fix(webui): polish responsive layout
2026-07-23 18:22:02 +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
63bc6e98a7
fix(webui): detect Chrome voice recording support ( #5027 )
2026-07-22 14:10:09 +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
chengyongru
b7048cf76a
feat(webui): support document attachments with ingress safeguards ( #4771 )
...
* feat: support document attachments in webui
* fix(webui): normalize document attachment MIME
* refactor(webui): move attachment policy out of channel
* fix(webui): reject oversized attachments before send
* fix(webui): align Portuguese attachment errors
* refactor(webui): separate ingress and transport limits
* fix(webui): reject malformed attachment payloads
2026-07-14 14:47:42 +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
chengyongru
7768672c5b
feat: add file edit diff progress view
...
Capture file edit snapshots through runner tool lifecycle hooks and render unified diffs in the WebUI with folding and truncation controls.
2026-07-09 10:42:43 +08:00
chengyongru
a7b8a9ed46
fix(webui): clarify new chat command text
2026-07-07 15:42:04 +08:00
chengyongru
5283ceae85
Add optional Nanobot plugin controls ( #4396 )
...
* feat: add optional nanobot features
* test: update azure install hint expectation
* fix: validate optional feature extras
maintainer edit: verify requested dependency extras before treating optional features as installed, propagate restart state from feature enablement, and align docs with the new plugins enable command.
* fix: bound optional feature installs
maintainer edit: make optional feature installs time out as a normal install failure instead of leaving the WebUI or CLI action waiting indefinitely.
* feat: slim optional channel dependencies
* fix: log optional install commands
* fix(webui): gate remote feature installs
* docs: clarify webhook plugin example
* fix(webui): harden optional feature installs
* fix: install optional deps without package fallback
* fix(cli): refine plugin feature controls
* fix(webui): count enabled nanobot features
* fix(webui): allow slow feature install routes
* fix(webui): allow disabling websocket channel
* fix(plugins): simplify optional feature controls
* fix(webui): polish apps catalog states
* fix(webui): confirm nanobot support installs
* fix(webui): polish nanobot install dialog
* fix(webui): suppress empty websocket handshakes
* fix(webui): clarify apps plugin summary
* fix(webui): localize workspace access copy
* fix(plugins): polish optional feature controls (#4691 )
---------
Co-authored-by: Xubin Ren <52506698+Re-bin@users.noreply.github.com>
2026-07-03 18:17:52 +08:00
chengyongru
f38fd7d5d3
feat(memory): add workspace Dream prompt override
2026-07-03 00:41:51 +08:00
chengyongru
2ebf5c4972
refactor(trigger): name CLI trigger source as local
...
maintainer edit: cron is also a trigger source, so keep the new CLI-delivered source explicitly named as local trigger across backend, WebUI, docs, and tests.
2026-07-02 13:32:46 +08:00
chengyongru
2a0cd19a74
feat(trigger): add session-bound local triggers
2026-07-02 13:32:46 +08:00
chengyongru
472c67722e
fix(webui): correct activity duration display
2026-06-18 00:03:18 +08:00
chengyongru
0263dbd1c3
chore: trim automation ui cleanup
2026-06-16 15:10:51 +08:00
chengyongru
04545b95d9
fix(webui): refine automation styling and delete confirmation
2026-06-16 11:41:05 +08:00
chengyongru
23e12b84ff
fix(webui): clarify automation search placeholder
2026-06-16 09:48:53 +08:00
chengyongru
f56a73b2d3
fix(webui): align automation toolbar controls
2026-06-16 00:59:42 +08:00
chengyongru
8f1fe7337c
fix(webui): tighten automation toolbar layout
2026-06-16 00:42:25 +08:00
chengyongru
e6957de622
fix(webui): drop legacy automation setup state
2026-06-16 00:26:06 +08:00
chengyongru
87aaf8991a
fix(webui): simplify automation details
2026-06-15 22:52:26 +08:00
chengyongru
3aa90e539c
fix(webui): make automation history diagnostic
2026-06-15 21:54:09 +08:00
chengyongru
acf408ced2
fix(webui): collapse automation run history by default
2026-06-15 21:03:48 +08:00
chengyongru
85a3ff1372
fix(webui): smooth automation detail overflow
2026-06-15 20:29:18 +08:00
chengyongru
848378d0db
Merge remote-tracking branch 'origin/main' into HEAD
...
# Conflicts:
# webui/src/components/settings/SettingsView.tsx
2026-06-15 18:11:22 +08:00
chengyongru
cbb4c0bad2
fix(webui): polish automation layout and session updates
2026-06-15 17:30:06 +08:00
chengyongru
d7e73609d3
fix(webui): redesign automation management layout
2026-06-15 16:35:15 +08:00
chengyongru
0439ecb802
fix(webui): refine automation row layout
2026-06-15 15:41:35 +08:00
chengyongru
747f0a08c7
fix(webui): improve automation management
2026-06-14 18:24:59 +08:00
chengyongru
b226a95588
fix(webui): localize update check copy
2026-06-14 17:59:31 +08:00
chengyongru
6cf1f8e164
fix(webui): trim automation creation prompt
2026-06-14 02:10:16 +08:00
chengyongru
5f2f694034
fix(webui): reduce automation dashboard copy
2026-06-14 01:03:53 +08:00
chengyongru
17e3183598
fix(webui): simplify automation source display
2026-06-14 00:32:53 +08:00
chengyongru
5b10102629
fix(webui): avoid fake automation origins
2026-06-14 00:04:15 +08:00
chengyongru
43830b7162
fix(webui): localize automation runtime labels
2026-06-13 23:06:28 +08:00
chengyongru
e08462ca30
feat(webui): add automation management view
2026-06-13 23:06:28 +08:00
chengyongru
a50b3ac0f2
fix: harden cron session automation flows
2026-06-12 18:13:25 +08:00
chengyongru
b232a52794
fix: tighten cron session deletion UX
2026-06-12 14:51:02 +08:00
Xubin Ren
916525f94a
refactor(webui): shrink fork implementation
2026-06-10 04:26:06 +08:00
Xubin Ren
26a58282d4
feat(webui): show forked history boundary
2026-06-10 04:26:06 +08:00
Bayern4ever-dot
03bca4c0a9
feat(webui): add assistant reply fork-from-here
2026-06-10 04:26:06 +08:00
Xubin Ren
9c81280300
feat(transcription): add shared voice input support ( #4232 )
...
* feat(webui): add voice transcription input
* feat(webui): render ANSI output in code blocks
* refactor(webui): isolate voice recorder logic
* refactor(transcription): keep websocket ingress thin
* refactor(transcription): resolve channel audio settings on demand
* style(webui): neutralize voice waveform color
* feat(webui): add voice input tooltip
* feat(webui): add voice input keyboard shortcut
* fix(webui): distinguish voice shortcut platforms
* fix(webui): place voice button after model selector
* refactor(webui): share voice hold recording helpers
* fix(desktop): allow microphone voice input
* fix(webui): stabilize token usage month labels
* feat(webui): show voice input on settings overview
* fix(webui): label voice capability as recognition
* fix(webui): align capability overview status
* refactor(webui): isolate transcription socket handling
* fix(webui): soften silent voice waveform
* refactor(audio): clarify transcription service location
* docs(transcription): clarify audio and provider boundaries
* fix(exec): reduce session output polling flake
2026-06-09 01:08:49 +08:00
Xubin Ren
ab9f49970d
feat(desktop): polish desktop shell and shared WebUI surfaces ( #4195 )
...
* feat(desktop): add native host scaffold
* feat(webui): track turns and usage in gateway
* feat(webui): polish desktop chat experience
* feat(apps): add ArcGIS and Joplin logos
* feat(desktop): polish shell and shared surfaces
* fix(webui): avoid preview chips for glob references
* test: align CI expectations for token fallback
* feat(webui): preview prompt rail entries
* feat(webui): add prompt navigator drawer
* style(webui): refine prompt navigator placement
* style(webui): align prompt navigator with header actions
* style(webui): simplify prompt navigator header
* refactor(webui): clean thread resource refresh
* feat(desktop): add native reply notifications
* fix(webui): preserve desktop restart and replay state
* fix(desktop): harden gateway proxy startup
* fix(web): fall back when readability is unavailable
* fix(desktop): hide window instead of closing on macos
* fix(webui): unify desktop header actions
* fix(webui): simplify prompt history rows
* fix(desktop): log notification delivery failures
* chore(desktop): clean source package artifacts
* fix(cron): support one-time relative reminders
* fix(webui): reveal scroll button in place
* Revert "fix(cron): support one-time relative reminders"
This reverts commit 4c4661da120a3c7283e0768412bae48604e7390b.
* refactor(webui): extract token usage heatmap
* docs(desktop): clarify contributor guides
---------
Co-authored-by: chengyongru <2755839590@qq.com>
2026-06-06 19:49:33 +08:00
Xubin Ren
34386fe676
fix(webui): stabilize streaming output and settings i18n
2026-06-01 00:00:37 +08:00
Xubin Ren
3dcf511c84
feat(webui): refine output timeline and model controls ( #4108 )
...
* feat(webui): refine output timeline and composer queue
* feat(webui): add provider model picker
* fix(webui): polish model settings and heartbeat checks
* chore: keep heartbeat changes out of webui pr
* refactor(webui): isolate settings routes
* fix(providers): align minimax anthropic test
* fix(providers): keep minimax anthropic base sdk-compatible
* fix(providers): normalize anthropic base urls
2026-05-30 23:45:26 +08:00
Xubin Ren
404b68cdd4
feat(webui): add context window setting
2026-05-29 13:09:08 +08:00
Xubin Ren
3a420136bb
feat(webui): add project workspaces and access controls ( #4007 )
...
* feat(webui): add project workspaces and access controls
* feat(webui): add project workspaces and access controls
* refactor(tools): centralize workspace access resolution
* refactor(webui): remove unused workspace host state
* fix(webui): hide estimated file edit label
* fix(webui): clarify file edit deletion feedback
* fix(webui): label deleted file activity
* fix(webui): flatten file edit activity rows
* fix(core): remove path-only patch deletion
* fix(core): keep apply patch non-destructive
* refactor(webui): trim workspace host plumbing
* fix(tools): register exec with tools config
2026-05-29 03:42:53 +08:00
Xubin Ren
418cb23da2
feat(apps): unify CLI apps and MCP ( #3991 )
...
* refactor(cli): load bundled apps from catalog
* feat(plugins): unify CLI and MCP settings
* feat(plugins): add settings category filter
* style(plugins): refine settings catalog
* refactor(cli): load nanobot apps from repo catalog
* feat(store): add capability store entry
* feat(apps): rename capability store
* fix(apps): verify clean app removal
* fix(apps): keep main sidebar on apps view
* feat(apps): add shared app manifest protocol
* fix(apps): dismiss app status message
* refactor(apps): move CLI adapter under apps
* refactor(apps): drop legacy cli apps package
2026-05-25 20:07:02 +08:00