chengyongru and GitHub
b0ef759e2c
Smooth WebUI streaming with state-driven viewport motion ( #4696 )
2026-07-26 00:18:24 +08:00
chengyongru and GitHub
d3e4b35f2b
fix(webui): honor custom gateway port with Vite ( #5076 )
2026-07-24 18:40:09 +08:00
chengyongru and GitHub
5be176a6a0
feat(webui): switch model presets from the composer ( #5077 )
2026-07-24 17:34:26 +08:00
chengyongru and GitHub
9957de5226
fix(webui): show quoted context after follow-up send ( #5071 )
2026-07-24 14:19:33 +08:00
chengyongru and GitHub
aae259c790
feat(webui): simplify model preset settings ( #5061 )
2026-07-24 00:55:06 +08:00
chengyongru and GitHub
96eb965aae
feat(webui): show the actual fallback model ( #5017 )
2026-07-23 15:57:13 +08:00
Xubin Ren
1616fa9f14
feat(image): apply generation settings live
2026-07-23 12:42:24 +08:00
chengyongru and GitHub
c7393c785e
feat(providers): add xAI Grok OAuth with capability-gated X Search ( #5035 )
2026-07-23 11:55:16 +08:00
chengyongru and GitHub
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
yrk and Xubin Ren
9abad4746e
feat(providers): add ModelScope provider for LLM and image generation
2026-07-22 01:35:20 +08:00
chengyongru and GitHub
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
Xubin Ren
b4adb29c2b
feat(webui): support native folder picker bridges
2026-07-17 12:26:03 +08:00
chengyongru and GitHub
ba86dccc8d
fix(webui): correct activity timer duration ( #4649 )
2026-07-15 16:46:05 +08:00
chengyongru and GitHub
5ed28a6744
fix(webui): validate inferred file paths before preview ( #4935 )
2026-07-15 10:45:40 +08:00
chengyongru and GitHub
37165b0db0
feat(webui): highlight slash commands and app mentions ( #4933 )
2026-07-15 00:34:22 +08:00
chengyongru and GitHub
6c9e3a2cc3
refactor(webui): centralize native runtime access ( #4769 )
2026-07-14 15:00:30 +08:00
chengyongru and GitHub
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 and GitHub
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 and Xubin Ren
e206ee4e70
refactor(agent): remove legacy image mode prompt injection
2026-07-12 00:35:17 +08:00
chengyongru and Xubin Ren
1ee4349a08
feat(webui): highlight file previews and diffs
2026-07-11 00:57:37 +08:00
chengyongru and Xubin Ren
6851a6ebd4
fix(webui): sync file edit display preference
2026-07-09 10:42:43 +08:00
chengyongru and Xubin Ren
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 and Xubin Ren
4ddd639e67
fix(webui): route missing API bootstrap tokens to auth
...
maintainer edit: handle review feedback by treating bootstrap responses without api_token as auth-required, and remove the obsolete issue_token(api_token=...) compatibility path now that API tokens are issued separately.
2026-07-08 21:01:48 +08:00
chengyongru and Xubin Ren
88143a8bf0
fix(webui): gate bootstrap API token issuance
2026-07-08 21:01:48 +08:00
chengyongru and Xubin Ren
7e135b45f3
docs(webui): document slash command lifecycles
2026-07-07 15:42:04 +08:00
chengyongru and Xubin Ren
fa73448f6f
fix(webui): drive slash command routing from metadata
2026-07-07 15:42:04 +08:00
chengyongru and Xubin Ren
3f33ff3143
chore: remove unused dead code
2026-07-07 15:41:27 +08:00
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 and Xubin Ren
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 and Xubin Ren
2a0cd19a74
feat(trigger): add session-bound local triggers
2026-07-02 13:32:46 +08:00
axelray-dev and Xubin Ren
194e9d5f5f
fix(webui): clear stale run status on reconnect
2026-06-28 19:46:47 +08:00
chengyongru and Xubin Ren
b8abe5542c
Avoid blocking settings on CLI Apps catalog refresh
2026-06-22 17:14:13 +08:00
Xubin Ren
d30f3d466d
fix(webui): allow optional Keenable search key
2026-06-21 15:22:13 +08:00
fa3e902ee8
feat(web): register Keenable provider in WebUI, docs, and tests
...
Bring the Keenable search provider in line with the established
multi-file provider pattern so it surfaces everywhere the others do:
- settings_api.py: register in the web-search provider options so it
appears in the WebUI settings dropdown (credential: api_key, optional).
- WebUI provider-brand: add keenable brand entry + brand test.
- docs/configuration.md: provider table row + config example.
- Harden _search_keenable: honor config.timeout and return explicit
messages on HTTP status errors (429 / other), matching peer providers.
- Add env-key and HTTP-error tests; add the websocket settings whitelist
assertion.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-18 00:08:52 +08:00
d5f5eb43e5
feat(providers): first-class Mistral support
...
Mistral's API constrains reasoning_effort to "high"/"none", rejects the
kwarg entirely for Magistral (reasoning is implicit), returns assistant
content as a mixed array of {type:"thinking",...}/{type:"text",...}
blocks, and 400s on the reasoning_content key in history.
- Remap user-supplied reasoning_effort (low/medium/minimal) onto Mistral's
two-tier vocabulary; strip the kwarg for Magistral models
- Lift thinking blocks into reasoning_content for both batch and streaming
responses; pass only text through on_content_delta callbacks
- Drop reasoning_content from outbound history when the spec asks for it
- Expose per-preset reasoning_effort_values so the UI can render the
provider-specific option set
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-18 00:08:47 +08:00
chengyongru and Xubin Ren
472c67722e
fix(webui): correct activity duration display
2026-06-18 00:03:18 +08:00
Xubin Ren and GitHub
c29601d303
Merge PR #4330 : feat(webui): add automation management view
...
feat(webui): add automation management view
2026-06-17 01:55:39 +08:00
Heng Wei Bin and Xubin Ren
5573a9d78e
fix(webui): override wsUrl with local LAN IP when on dev server port 5173
2026-06-16 17:31:32 +08:00
chengyongru
e6957de622
fix(webui): drop legacy automation setup state
2026-06-16 00:26:06 +08:00
chengyongru
f8bf6aea51
fix(webui): encode automation update values
2026-06-15 15:14:24 +08:00
chengyongru
8b42d0760e
fix(webui): harden automation management API
...
Maintainer edit: redact external channel chat identifiers from the WebUI automation payload and reject malformed or unschedulable automation updates before they mutate cron jobs.
2026-06-14 22:19:28 +08:00
chengyongru
747f0a08c7
fix(webui): improve automation management
2026-06-14 18:24:59 +08:00
chengyongru
e08462ca30
feat(webui): add automation management view
2026-06-13 23:06:28 +08:00
chengyongru and Xubin Ren
af0e3441d7
Fix WebUI startup blocking on slow gateway routes
2026-06-13 21:59:36 +08:00
chengyongru
a50b3ac0f2
fix: harden cron session automation flows
2026-06-12 18:13:25 +08:00
chengyongru
1ad9d77bc7
fix: avoid completed cron tail pending state
2026-06-12 00:54:32 +08:00
chengyongru
a326ba40f4
feat(cron): bind scheduled automations to sessions
2026-06-11 19:48:07 +08:00
Xubin Ren
603feef3aa
Merge remote-tracking branch 'origin/main' into codex/webui-segmented-transcript-store
2026-06-10 19:11:37 +08:00
Xubin Ren
e168bb2754
feat(webui): segment transcript storage
2026-06-10 18:28:55 +08:00