chengyongru and GitHub
281b4b7f0b
chore: remove expired v0.3.1 compatibility shims ( #5106 )
2026-07-27 13:53:04 +08:00
yu-xin-c and Xubin Ren
a7a6c26eab
fix(heartbeat): route unified sessions to last channel
2026-07-27 00:12:44 +08:00
chengyongru and GitHub
6e0eb46705
feat: launch first-time setup in webui ( #5078 )
2026-07-24 21:16:43 +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
66690fdb0c
fix(webui): deliver late subagent results as new turns ( #4992 )
2026-07-22 23:04:36 +08:00
chengyongru and GitHub
3748f664b2
feat(config): watch runtime configuration changes ( #5026 )
2026-07-22 13:08:39 +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
chengyongru and chengyongru
7aaac37bca
fix(triggers): require channel enablement predicate
2026-07-19 22:33:29 +08:00
Pei Futong and chengyongru
91514ad0b1
fix(triggers): reject deliveries to disabled channels
2026-07-19 22:33:29 +08:00
chengyongru and chengyongru
d4e0294734
fix(gateway): stop channels before draining tasks
2026-07-15 22:25:08 +08:00
chengyongru and chengyongru
681edfa6f3
fix(providers): honor Codex proxy config consistently
2026-07-15 20:01:48 +08:00
chengyongru and GitHub
aa70aa48f9
fix(cli): point onboarding to the WebUI launcher ( #4938 )
2026-07-15 10:34:46 +08:00
chengyongru and chengyongru
63a6d5d07d
fix(heartbeat): retain history after empty runs
2026-07-15 01:19:48 +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
a65a6f334c
test(gateway): cover slow health clients
2026-07-13 15:16:51 +08:00
Xubin Ren
3824206ab2
fix(gateway): harden health endpoint exposure
2026-07-13 15:16:51 +08:00
Xubin Ren and GitHub
2c78976728
fix(cli): restore enter before webui prompts
2026-07-13 13:32:29 +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
Xubin Ren
c111aaa7ee
fix(dream): gate periodic commits on content changes
2026-07-11 11:16:59 +08:00
Xubin Ren
3ab09075c5
test(webui): tolerate wrapped bootstrap CLI output
2026-07-08 21:01:48 +08:00
chengyongru and Xubin Ren
444f488563
fix(webui): repair bootstrap secret launch paths
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
Aleksander W. Oleszkiewicz (Alek) and Xubin Ren
f074aa7d80
feat: add --refresh flag to onboard command for non-interactive config updates
2026-07-08 20:56:06 +08:00
chengyongru and Xubin Ren
883776358e
fix: keep local api serve unauthenticated
...
maintainer edit: Align OpenAI-compatible API auth with the WebSocket channel boundary: loopback serve remains usable without a key, while wildcard binds still fail before agent initialization unless api.api_key is configured.
2026-07-08 12:16:12 +08:00
chengyongru and Xubin Ren
460c62c0b0
fix: validate api key before serve setup
...
maintainer edit: Check api.api_key before template sync and AgentLoop construction so missing-key startup errors are not hidden by provider or workspace initialization failures.
2026-07-08 12:16:12 +08:00
hamb1y and Xubin Ren
6c59332a8a
fix: require api key for serve
2026-07-08 12:16:12 +08:00
Xubin Ren and GitHub
067e0c4a40
feat(cli): add safe WebUI first-run launcher ( #4688 )
2026-07-03 18:58:04 +08:00
chengyongru and Xubin Ren
acb0e853ff
refactor(trigger): share automation turn delivery
2026-07-02 13:32:46 +08:00
chengyongru and Xubin Ren
f32007c83f
fix(trigger): defer local triggers until session idle
2026-07-02 13:32:46 +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
chengyongru and Xubin Ren
ed48325346
fix: cover API auth guard regressions
...
Maintainer edit: restore CI by updating serve/onboard tests, add auth/config coverage, and keep auth failures on the OpenAI-compatible error shape.
2026-07-01 13:09:49 +08:00
hamb1y and Xubin Ren
bfbae5a7b3
fix(cli): refresh oauth provider default models
2026-06-30 23:02:42 +08:00
hamb1y and Xubin Ren
58cce14a07
fix(cli): allow oauth login to set main provider
2026-06-30 23:02:42 +08:00
chengyongru and Xubin Ren
44a5ed1bc0
feat(providers): support provider-scoped proxy config
2026-06-30 17:33:36 +08:00
Xubin Ren
34f776b48b
test(cli): lock disabled dream cursor advancement
2026-06-25 22:53:10 +08:00
Xubin Ren
c915e98c15
test: cover archived heartbeat target selection
2026-06-24 15:45:49 +08:00
Xubin Ren
90703002c9
fix(gateway): restore tty signal mode for ctrl-c
2026-06-22 23:20:45 +08:00
Xubin Ren
747104c9cc
fix(gateway): make foreground shutdown responsive
2026-06-22 22:00:07 +08:00
Xubin Ren
fbaa85117b
fix: close MCP stdio transports from agent task
2026-06-22 18:59:50 +08:00
chengyongru and Xubin Ren
8e9f09f829
fix: keep onboard cli defaults unchanged
...
Remove the PR changes that made nanobot onboard default to the wizard, added --defaults, added non-TTY fallback behavior, and changed the Docker smoke command. Keep Quick Start available through nanobot onboard --wizard.
2026-06-22 13:04:05 +08:00
chengyongru and Xubin Ren
3d773d9054
fix: preserve config during non-interactive defaults onboarding
...
Maintainer edit: make explicit --defaults refresh existing configs without prompting when no TTY is available, preserving user values for CI and Docker runs.
2026-06-22 13:04:05 +08:00
chengyongru and Xubin Ren
fc7971b3b6
Improve onboard wizard setup flow
2026-06-22 13:04:05 +08:00
Xubin Ren
7ff8e02eaf
chore(repo): remove desktop app from core repo
2026-06-13 00:14:21 +08:00
Xubin Ren and GitHub
dac4e39bcf
Merge PR #4299 : feat(cron): bind scheduled automations to sessions
...
feat(cron): bind scheduled automations to sessions
2026-06-13 00:07:55 +08:00
chengyongru and Xubin Ren
b2d00a4ce0
fix: strip dynamic custom provider route prefixes
...
maintainer edit: preserve provider-prefix CLI routing for named custom providers by stripping only the matched dynamic route prefix before sending the model id to OpenAI-compatible endpoints. This keeps ordinary namespaced model ids intact when the provider is selected explicitly.
2026-06-13 00:04:13 +08:00
chengyongru and Xubin Ren
09d24e6c25
fix: validate named custom provider endpoints
2026-06-13 00:04:13 +08:00
chengyongru and Xubin Ren
68c6844c0b
fix: preserve dynamic custom provider semantics
...
maintainer edit: treat arbitrary custom provider names as direct OpenAI-compatible providers, validate their api_type consistently, and avoid Pydantic instance-field warnings in fallback routing.
2026-06-13 00:04:13 +08:00
chengyongru
a50b3ac0f2
fix: harden cron session automation flows
2026-06-12 18:13:25 +08:00
chengyongru
8335554894
refactor: migrate legacy cron payloads to bound sessions
2026-06-12 16:51:20 +08:00