Commit Graph
93 Commits
Author SHA1 Message Date
Xubin Ren dec89a49a3 fix(settings): serialize gateway configuration updates 2026-08-16 11:50:56 +08:00
Xubin Ren 731b8fc2ed fix(models): synchronize canonical runtime selection 2026-08-16 11:50:56 +08:00
Xubin Ren 0a6ee1c539 fix(models): preserve preset rename compatibility 2026-08-16 11:50:56 +08:00
Xubin Ren c15e6f2a37 fix(models): support atomic preset renames 2026-08-16 11:50:56 +08:00
Xubin Ren 3dc38f6396 refactor(models): unify preset names 2026-08-16 11:50:56 +08:00
Xubin Ren 656480546b test(providers): cover OrcaRouter WebUI integration 2026-08-16 00:26:51 +08:00
chengyongru e226242dfc fix(session): serialize canonical file access (#5383) 2026-08-14 10:32:17 +08:00
Xubin Ren 335808e525 fix(webui): bound restored session previews 2026-08-14 03:46:01 +09:00
Xubin Ren fd7eb8e046 fix(webui): restore transcript-only session history 2026-08-14 03:46:01 +09:00
chengyongru e455a2b7fa feat(webui): add MCP management dialog 2026-08-12 18:28:23 +08:00
chengyongru 19997d20bb refactor: move MCP lifecycle out of AgentLoop (#5343) 2026-08-12 17:51:04 +08:00
chengyongru d45c893f68 fix(webui): surface MCP runtime connection failures (#5331) 2026-08-11 23:52:02 +08:00
Xubin Ren d5e0df6963 feat(plugins): integrate portable Agent Plugins 2026-08-11 20:16:24 +09:00
chengyongru 52e0a6a1e3 refactor(webui): split settings backend by domain (#5323) 2026-08-11 11:23:27 +08:00
chengyongru 8e77f3f8a4 feat(mcp): add browser OAuth for remote servers (#5316) 2026-08-10 23:44:37 +08:00
chengyongru c281e090d0 refactor(webui): make gateway own settings services (#5321) 2026-08-10 18:10:55 +08:00
chengyongru 5d733b1c7c fix(webui): move mutations to authenticated websocket requests 2026-08-10 16:23:47 +08:00
chengyongru 55ecda275d test: strengthen user-path coverage and CI gates (#5308) 2026-08-09 21:37:06 +08:00
chengyongru ff6deda178 fix: modernize dependency recovery guidance (#5282) 2026-08-07 13:58:13 +08:00
chengyongru a95fd0ee82 perf(webui): reduce cold-start payload (#5262) 2026-08-06 13:24:34 +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
chengyongru 6e9ae5bd05 refactor(session): remove request-scoped access grants (#5238) 2026-08-05 10:18:46 +08:00
chengyongru 2fe135db3e feat(webui): add integrated Vite dev mode (#5239) 2026-08-04 16:14:32 +08:00
Xubin Ren d99f589a59 refactor(session): clarify reference boundaries 2026-08-04 12:14:51 +08:00
Xubin Ren d8aeb0eb2c refactor(session): simplify cross-session flow 2026-08-04 12:14:51 +08:00
Xubin Ren 62d34b5eb7 refactor(session): tighten cross-session access 2026-08-04 12:14:51 +08:00
Xubin Ren f15ea84dd1 fix(session): enforce trusted read scope 2026-08-04 12:14:51 +08:00
Xubin Ren 5dd3dc5450 fix(session): harden cross-session references 2026-08-04 12:14:51 +08:00
Xubin Ren 9b25da7b92 feat(session): add cross-session references 2026-08-04 12:14:51 +08:00
Xubin Ren ac216c3e94 docs(providers): document Eden AI setup and WebUI parity 2026-08-03 16:40:13 +08:00
chengyongru 580824a15a perf(webui): accelerate JSONL session list and thread loading (#5194) 2026-08-03 09:51:35 +08:00
chengyongru 6a1a45d07a feat: preserve Responses reasoning state and compact context (#5172) 2026-07-30 22:39:43 +08:00
KDB 07c2677eed fix(webui): drop malformed token-usage day keys
normalize_token_usage_state only length-checked persisted day keys, so a
hand-edited or foreign 10-char key (e.g. "not-a-dat3" or "2026-13-01") in
token-usage.json survived reads and atomic rewrites. token_usage_payload
then parsed every day key with an unguarded datetime.fromisoformat, so one
such key failed every /api/settings and /api/settings/usage request until
the file was repaired by hand.

Validate day keys in normalize_token_usage_state, the shared boundary that
every read, record, and rewrite already funnels through. Malformed keys are
dropped like other malformed rows and scrubbed from the file on the next
write; valid state is unchanged.
2026-07-30 18:41:44 +08:00
chengyongru 606ac56e8f feat(webui): support remote Codex OAuth login (#5174) 2026-07-30 15:06:34 +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 e66eb204d0 feat(webui): add SkillHub marketplace source 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 281b4b7f0b chore: remove expired v0.3.1 compatibility shims (#5106) 2026-07-27 13:53:04 +08:00
George Pickett 0b38c48399 feat(webui): add Parallel Search MCP preset 2026-07-24 12:26:37 +08:00
chengyongru aae259c790 feat(webui): simplify model preset settings (#5061) 2026-07-24 00:55:06 +08:00
chengyongru d993c81f08 test(webui): cover restricted media previews 2026-07-24 00:30:49 +08:00
Xubin Ren 2f4f00bb9f refactor(image): reuse the model picker 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
chengyongru dfc3919b52 fix: stop masking runtime failures 2026-07-21 11:44:52 +08:00
chengyongru e3de01c9f6 fix(webui): resolve build runner executable 2026-07-19 23:59:34 +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