Vincent Koc
38da2d076c
CLI: add root --help fast path and lazy channel option resolution ( #30975 )
...
* CLI argv: add strict root help invocation guard
* Entry: add root help fast-path bootstrap bypass
* CLI context: lazily resolve channel options
* CLI context tests: cover lazy channel option resolution
* CLI argv tests: cover root help invocation detection
* Changelog: note additional startup path optimizations
* Changelog: split startup follow-up into #30975 entry
* CLI channel options: load precomputed startup metadata
* CLI channel options tests: cover precomputed metadata path
* Build: generate CLI startup metadata during build
* Build script: invoke CLI startup metadata generator
* CLI routes: preload plugins for routed health
* CLI routes tests: assert health plugin preload
* CLI: add experimental bundled entry and snapshot helper
* Tools: compare CLI startup entries in benchmark script
* Docs: add startup tuning notes for Pi and VM hosts
* CLI: drop bundled entry runtime toggle
* Build: remove bundled and snapshot scripts
* Tools: remove bundled-entry benchmark shortcut
* Docs: remove bundled startup bench examples
* Docs: remove Pi bundled entry mention
* Docs: remove VM bundled entry mention
* Changelog: remove bundled startup follow-up claims
* Build: remove snapshot helper script
* Build: remove CLI bundle tsdown config
* Doctor: add low-power startup optimization hints
* Doctor: run startup optimization hint checks
* Doctor tests: cover startup optimization host targeting
* Doctor tests: mock startup optimization note export
* CLI argv: require strict root-only help fast path
* CLI argv tests: cover mixed root-help invocations
* CLI channel options: merge metadata with runtime catalog
* CLI channel options tests: assert dynamic catalog merge
* Changelog: align #30975 startup follow-up scope
* Docs tests: remove secondary-entry startup bench note
* Docs Pi: add systemd recovery reference link
* Docs VPS: add systemd recovery reference link
2026-03-01 14:23:46 -08:00
不做了睡大觉
ae281a6f61
fix: suppress "Run doctor --fix" hint when already in fix mode with no changes ( #24666 )
...
When running `openclaw doctor --fix` and no config changes are needed,
the else branch unconditionally showed "Run doctor --fix to apply changes"
which is confusing since we just ran --fix.
Now the hint only appears when NOT in fix mode (i.e. when running plain
`openclaw doctor`). When in fix mode with nothing to change, the command
silently proceeds to the "Doctor complete." outro.
Fixes #24566
Co-authored-by: User <user@example.com >
2026-02-24 03:33:17 +00:00
Ruslan Kharitonov
8d69251475
fix(doctor): use gateway health status for memory search key check ( #22327 )
...
Merged via /review-pr -> /prepare-pr -> /merge-pr.
Prepared head SHA: 2f02ec9403
Co-authored-by: therk <901920+therk@users.noreply.github.com >
Co-authored-by: gumadeiras <5599352+gumadeiras@users.noreply.github.com >
Reviewed-by: @gumadeiras
2026-02-23 14:07:16 -05:00
Gustavo Madeira Santana
4d3403b7ac
chore: fix CI errors
2026-02-17 23:46:40 -05:00
Peter Steinberger
516046dba8
fix: avoid doctor token regeneration on invalid repairs
2026-02-18 04:51:25 +01:00
Peter Steinberger
b8b43175c5
style: align formatting with oxfmt 0.33
2026-02-18 01:34:35 +00:00
Peter Steinberger
31f9be126c
style: run oxfmt and fix gate failures
2026-02-18 01:29:02 +00:00
cpojer
d0cb8c19b2
chore: wtf.
2026-02-17 13:36:48 +09:00
Sebastian
1486eb66fd
revert(gateway): restore loopback auth setup
2026-02-16 22:35:27 -05:00
cpojer
9c5f08244e
chore: Format files.
2026-02-17 11:37:11 +09:00
Sebastian
0aa28c71ca
fix(doctor): move forced exit to top-level command
2026-02-16 21:20:05 -05:00
cpojer
90ef2d6bdf
chore: Update formatting.
2026-02-17 09:18:40 +09:00
Vishal Doshi
e91a5b0216
fix: release stale session locks and add watchdog for hung API calls ( #18060 )
...
When a model API call hangs indefinitely (e.g. Anthropic quota exceeded
mid-call), the gateway acquires a session .jsonl.lock but the promise
never resolves, so the try/finally block never reaches release(). Since
the owning PID is the gateway itself, stale detection cannot help —
isPidAlive() always returns true.
This commit adds four layers of defense:
1. **In-process lock watchdog** (session-write-lock.ts)
- Track acquiredAt timestamp on each held lock
- 60-second interval timer checks all held locks
- Auto-releases any lock held longer than maxHoldMs (default 5 min)
- Catches the hung-API-call case that try/finally cannot
2. **Gateway startup cleanup** (server-startup.ts)
- On boot, scan all agent session directories for *.jsonl.lock files
- Remove locks with dead PIDs or older than staleMs (30 min)
- Log each cleaned lock for diagnostics
3. **openclaw doctor stale lock detection** (doctor-session-locks.ts)
- New health check scans for .jsonl.lock files
- Reports PID status and age of each lock found
- In --fix mode, removes stale locks automatically
4. **Transcript error entry on API failure** (attempt.ts)
- When promptError is set, write an error marker to the session
transcript before releasing the lock
- Preserves conversation history even on model API failures
Closes #18060
2026-02-16 23:59:22 +01:00
Knox
9aa8db5c81
fix(doctor,configure): skip gateway auth for loopback-only setups
2026-02-16 23:53:11 +01:00
gleb
78c34bcf33
Add runtime quiting functionality to doctor.ts
2026-02-16 23:50:37 +01:00
gleb
2540417170
Add to exit process when doctor has finished
2026-02-16 23:50:37 +01:00
Steve
69ba9a0562
fix: add memory search health check to openclaw doctor (openclaw#16294) thanks @superlowburn
...
Verified:
- pnpm install --frozen-lockfile
- pnpm build
- pnpm check
- pnpm test (noted unrelated local flakes)
Co-authored-by: superlowburn <24779772+superlowburn@users.noreply.github.com >
Co-authored-by: Tak Hoffman <781889+Takhoffman@users.noreply.github.com >
2026-02-14 11:09:51 -06:00
Shakker
5bd63b012c
doctor: integrate shell completion check into doctor command
...
- Import and call `doctorShellCompletion` during doctor run
- Checks/fixes completion issues before gateway health check
2026-02-04 19:51:06 +00:00
cpojer
f06dd8df06
chore: Enable "experimentalSortImports" in Oxfmt and reformat all imorts.
2026-02-01 10:03:47 +09:00
cpojer
5ceff756e1
chore: Enable "curly" rule to avoid single-statement if confusion/errors.
2026-01-31 16:19:20 +09:00
Peter Steinberger
02576615cb
fix: migrate legacy gateway services
2026-01-30 04:01:31 +01:00
Peter Steinberger
9a7160786a
refactor: rename to openclaw
2026-01-30 03:16:21 +01:00
Peter Steinberger
6d16a658e5
refactor: rename clawdbot to moltbot with legacy compat
2026-01-27 12:21:02 +00:00
Peter Steinberger
526303d9a2
refactor(auth)!: remove external CLI OAuth reuse
2026-01-26 19:05:00 +00:00
Peter Steinberger
e750ad5e75
refactor: centralize config update logging
2026-01-23 04:01:26 +00:00
Peter Steinberger
7f68bf79b6
fix: prefer ~ for home paths in output
2026-01-23 03:44:31 +00:00
Peter Steinberger
ec2c69c230
fix: honor gateway env token for doctor/security
...
Co-authored-by: azade-c <azade-c@users.noreply.github.com >
2026-01-23 03:16:52 +00:00
Peter Steinberger
7eef176afc
fix: warn on unset gateway.mode
2026-01-22 00:21:08 +00:00
Peter Steinberger
6180603ef4
feat: improve doctor update flow
2026-01-21 05:23:37 +00:00
Peter Steinberger
6d5195c890
refactor: normalize cli command hints
2026-01-20 07:43:00 +00:00
Peter Steinberger
5d7e38a786
fix: avoid duplicate doctor config output
2026-01-20 06:32:50 +00:00
Peter Steinberger
8e33bd8610
fix: repair doctor config cleanup
2026-01-20 01:30:33 +00:00
Peter Steinberger
d1e9490f95
fix: enforce strict config validation
2026-01-19 03:39:25 +00:00
Peter Steinberger
8f998741b7
fix: shorten doctor gateway health timeout in non-interactive
2026-01-18 05:44:22 +00:00
Nima Karimi
25ae5f897e
fix(macos): check config file mode for gateway token/password resolution ( #1022 )
...
* fix: honor config gateway mode for credentials
* chore: oxfmt doctor platform notes
---------
Co-authored-by: Peter Steinberger <steipete@gmail.com >
2026-01-16 19:29:48 +00:00
Benjamin Jesuiter
daf471c450
fix: unify daemon service label resolution with env
2026-01-15 22:10:27 +00:00
Peter Steinberger
d59aab7fd3
chore: drop Clawdis legacy references
2026-01-15 06:18:44 +00:00
Peter Steinberger
77cf40da87
feat: profile-aware gateway service names ( #671 )
...
Thanks @bjesuiter.
Co-authored-by: Benjamin Jesuiter <bjesuiter@gmail.com >
2026-01-15 05:23:41 +00:00
Peter Steinberger
c379191f80
chore: migrate to oxlint and oxfmt
...
Co-authored-by: Christoph Nakazawa <christoph.pojer@gmail.com >
2026-01-14 15:02:19 +00:00
Peter Steinberger
a58ff1ac63
refactor(commands): split CLI commands
2026-01-14 05:39:47 +00:00
Peter Steinberger
90342a4f3a
refactor!: rename chat providers to channels
2026-01-13 08:40:39 +00:00
Peter Steinberger
4fd1a6dec3
fix: harden doctor install checks
2026-01-13 07:25:25 +00:00
Peter Steinberger
5918def440
fix: honor gateway service override labels
2026-01-13 05:58:49 +00:00
Peter Steinberger
b41e75a15d
feat: cron agent binding + doctor UI refresh
2026-01-13 04:25:41 +00:00
meaningfool
bfdbaa5ab6
feat(doctor): add UI protocol freshness check
2026-01-13 04:25:41 +00:00
Peter Steinberger
7db1cbe178
fix: improve daemon node selection
2026-01-12 08:33:32 +00:00
Peter Steinberger
51d5f16770
refactor: remove mac attach-only setting
2026-01-12 04:58:38 +00:00
Peter Steinberger
2f4a248314
feat: plugin system + voice-call
2026-01-12 01:16:39 +00:00
Peter Steinberger
cf0c72a557
feat: add plugin architecture
2026-01-11 12:11:12 +00:00
Peter Steinberger
eeae5ce7fd
fix: stabilize notes and reasoning replay
2026-01-11 04:37:06 +01:00