shixi-li and Xubin Ren
31a71d6cd5
fix(web): keep credential-bearing URLs away from the remote Jina reader
2026-08-13 02:26:22 +09:00
Xubin Ren and yu-xin-c
498070d036
test(docker): separate host bwrap requirements
...
Co-authored-by: yu-xin-c <175149126+yu-xin-c@users.noreply.github.com >
2026-08-13 02:13:51 +09:00
chengyongru and chengyongru
edec29e997
feat(providers): support DeepSeek V4 Pro Responses
2026-08-13 01:02:41 +08:00
Xubin Ren
86c7508607
docs(plugins): clarify unified extension model
2026-08-11 20:16:24 +09:00
Xubin Ren
a2979c3a4b
fix(plugins): harden activation boundaries
2026-08-11 20:16:24 +09:00
Xubin Ren
d5e0df6963
feat(plugins): integrate portable Agent Plugins
2026-08-11 20:16:24 +09:00
chengyongru and GitHub
57d81bc1cd
fix(providers): preserve nanobot tools with OpenRouter server tools ( #5335 )
...
* fix(providers): preserve functions with extra body tools
* docs(providers): clarify extra body tool merging
2026-08-11 18:23:27 +08:00
chengyongru and GitHub
8e77f3f8a4
feat(mcp): add browser OAuth for remote servers ( #5316 )
2026-08-10 23:44:37 +08:00
chengyongru and GitHub
67805f5db8
feat: add provider-native request switches ( #5254 )
2026-08-05 18:26:39 +08:00
Xubin Ren
ac216c3e94
docs(providers): document Eden AI setup and WebUI parity
2026-08-03 16:40:13 +08:00
chengyongru and GitHub
cdb75f8e7d
feat(providers): support DeepSeek Responses API ( #5197 )
2026-08-01 11:53:51 +08:00
chengyongru and GitHub
6a1a45d07a
feat: preserve Responses reasoning state and compact context ( #5172 )
2026-07-30 22:39:43 +08:00
chengyongru and GitHub
0c6c0438d4
feat(config): add actionable startup diagnostics and WebUI recovery ( #5110 )
2026-07-28 18:52:05 +08:00
chengyongru and GitHub
12f828ea3d
fix(agent): read document attachments on demand ( #5122 )
2026-07-28 13:33:06 +08:00
Xubin Ren
68717937e8
fix(agent): throttle idle scans by default
2026-07-27 02:15:48 +08:00
Andrew Khmylov and Xubin Ren
7aab7e8830
feat(agent): make idle compaction scan interval configurable
...
Before this change, idle compaction is triggered every 1 second
if the incoming message stream is idle.
When triggered, it enumerates all session files, loads and parses them,
and then checks their expiration.
This becomes too CPU-intensive, especially on low-power devices like Raspberry Pi.
It's unlikely that you actually need to compact every second over the long time.
This change adds a configurable throttling for idle-compaction.
Default behavior is unchanged.
2026-07-27 02:15:48 +08:00
Xubin Ren
cf6ca13b6d
fix(exec): preserve bwrap workspace masking
2026-07-27 00:31:00 +08:00
yu-xin-c and Xubin Ren
01a11b3980
feat(exec): allow extra bwrap bind roots
2026-07-27 00:31:00 +08:00
chengyongru and chengyongru
d576804f23
feat(channels): enable tool hints by default
2026-07-26 21:22:12 +08:00
chengyongru and chengyongru
55405f6cd6
feat: open WebUI after fresh desktop install
2026-07-26 03:28:15 +08:00
chengyongru and chengyongru
15de6be0af
fix(providers): fall back on authentication errors
2026-07-23 14:52:04 +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
chengyongru and GitHub
b189a37648
fix(agent): preserve agent-owned state in project workspaces ( #4945 )
2026-07-22 17:25:22 +08:00
yrk and Xubin Ren
be1cc769d5
docs: refine ModelScope documentation wording
2026-07-22 01:35:20 +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 chengyongru
1d7bad3909
feat(providers): support Codex fast mode
2026-07-21 17:55:17 +08:00
chengyongru and GitHub
8423cf3eeb
fix(channels): complete dependency manifest migration ( #4995 )
...
* fix(channels): complete dependency manifest migration
* docs(docker): clarify custom uid dependency installs
* fix(channels): keep dependency preinstall internal
* refactor(channels): move dependency installer to scripts
* fix(docker): limit runtime write access
2026-07-20 15:24:57 +08:00
Yuxin Lou and Xubin Ren
b76d54aae1
Harden default Docker Compose security
2026-07-18 17:37:41 +08:00
Arthur K. and chengyongru
dcb37259fa
feat(heartbeat): custom evaluator prompt
2026-07-15 01:19:48 +08:00
chengyongru and chengyongru
4916fc07ab
fix(agent): close reasoning on stream timeout
2026-07-14 15:51:22 +08:00
chengyongru and GitHub
b2759e8a6b
docs: reorganize documentation around user workflows ( #4916 )
2026-07-14 13:59:47 +08:00
chengyongru and GitHub
234e895e5a
fix(codex): align OAuth defaults and setup docs ( #4910 )
...
* fix(codex): align OAuth defaults and setup docs
* docs(codex): clarify provider settings key
* docs(codex): simplify OAuth setup guidance
2026-07-13 17:04:33 +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
1a21542d11
docs: address search entry review feedback
2026-07-08 20:56:27 +08:00
chengyongru and Xubin Ren
f531f1ce38
docs: improve search entry pages
2026-07-08 20:56:27 +08:00
chengyongru and Xubin Ren
c5e053f83b
fix: pin validated DNS for SSRF-safe fetches
...
maintainer edit: keep MCP HTTP SSRF checks strict, pin validated DNS for direct web_fetch and HTTP/SSE MCP requests, preserve explicit and environment proxy compatibility, and cover the proxy/redirect/rebinding cases with tests.
2026-07-07 15:40:53 +08:00
chengyongru and Xubin Ren
dd014b50a7
docs(mattermost): finish channel ordering cleanup
...
Maintainer edit: move remaining Mattermost documentation mentions to the end of named channel lists.
2026-07-06 12:14:57 +08:00
chengyongru and Xubin Ren
595d789c6f
docs(mattermost): list new channel last
...
Maintainer edit: keep Mattermost at the end of documented channel lists so existing channel order remains first-come-first-served.
2026-07-06 12:14:57 +08:00
Kenneth Zhao and Xubin Ren
fff38f11a7
feat: add Mattermost channel support
2026-07-06 12:14:57 +08:00
Xubin Ren
937f04ac86
docs(config): document canonical OpenCode provider
2026-07-06 12:13:00 +08:00
franciscomaestre and Xubin Ren
8a42a9c73a
feat(web-search): add Serper.dev (Google Search API) provider
...
Add 'serper' as a web search backend, following the existing provider
pattern (keenable/exa): POST to https://google.serper.dev/search with the
X-API-KEY header, map the 'organic' results into the shared result format,
and fall back to DuckDuckGo when no key is configured.
- key resolved from config.api_key or SERPER_API_KEY env var
- 429 handled with a rate-limit message; other HTTP errors surfaced
- tests cover success, env-key, no-key fallback, HTTP error and rate limit
- docs: add Serper config example and list it in tools.web.search providers
2026-07-06 12:11:31 +08:00
Xubin Ren and GitHub
067e0c4a40
feat(cli): add safe WebUI first-run launcher ( #4688 )
2026-07-03 18:58:04 +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
44a5ed1bc0
feat(providers): support provider-scoped proxy config
2026-06-30 17:33:36 +08:00
chengyongru and Xubin Ren
593b328dbb
test: cover Copilot enterprise overrides
...
Maintainer edit: add mocked coverage for the enterprise endpoint and client ID override paths, and document the environment variables users must set before OAuth login.
2026-06-30 15:21:19 +08:00
chengyongru and Xubin Ren
82ffce1474
docs: move restart mode docs to gateway config
2026-06-30 15:21:14 +08:00
chengyongru and Xubin Ren
4726ca0478
fix(restart): add explicit restart mode
2026-06-30 15:21:14 +08:00
chengyongru and Xubin Ren
9ce9d2235a
docs: clarify heartbeat versus cron delivery
2026-06-27 11:04:08 +08:00
Xubin Ren
06d5495b60
docs: document subagent tool error behavior
2026-06-25 22:53:36 +08:00