openclaw/docs/gateway
Peter Steinberger da69daeb72
feat(onboarding): recommend plugins and skills from installed apps (#109668)
* feat(onboarding): recommend plugins and skills from installed apps

Scan installed macOS apps during classic onboarding (TCC-free), gather
candidates from official catalogs + ClawHub search, let the configured
model pick genuine matches, and offer an opt-in multiselect install step.
Adds a device.apps node-host command (default-off sharing, Android-parity
envelope) so remote gateways can request a paired Mac's inventory, and a
wizard.appRecommendations kill switch. Custom setup-inference completions
no longer inherit the 32-token verification-probe output cap.

* feat(onboarding): recommend apps in guided flow

* fix(onboarding): harden app recommendations against ClawHub self-promotion

Third-party ClawHub skills are never pre-selected regardless of model tier
(publisher-controlled listing text reaches the matcher prompt and could
promote itself); their labels now say they install third-party code.
Installed-app scans follow symlinked .app bundles. Matcher output stays
bounded by the resolved model's own maxTokens budget (documented invariant).

* fix(onboarding): key official catalog candidates by resolved plugin id

Real catalog entries are package manifests without a top-level id; keying the
candidate map and channel/provider classification by entry.id collapsed the
whole official catalog into one undefined-keyed entry, so no official plugin
or channel was ever recommended. Regression test runs against the bundled
catalogs.

* fix(onboarding): satisfy lint, types, deadcode, and migration gates

Split the guided-onboarding test into a self-contained custodian suite to stay
under max-lines. Narrow app-recommendation exports (drop dead node-payload
normalizer, unexport internal types/helpers, route candidate tests through the
public API), replace map-spread with a helper, unexport device.apps result
types, add installedAppsSharing to node-host migration expectations, cast the
wizard multiselect mock, and regenerate the docs map.

* test(onboarding): register new live test in the shard classifier
2026-07-17 14:07:59 +01:00
..
security refactor: move MCP OAuth state to SQLite (#109844) 2026-07-17 12:15:16 +01:00
1password.md docs(gateway): dedicated 1Password integration page (#106109) 2026-07-12 23:52:33 -07:00
audit.md feat: add metadata-only message audit events (#103903) 2026-07-11 13:14:08 -07:00
authentication.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
background-process.md fix: suspension and restart wait for background execs (#104172) 2026-07-10 22:56:17 -07:00
bonjour.md fix: prevent Bonjour probe retry loops (#107710) 2026-07-14 19:28:47 +01:00
bridge-protocol.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
cli-backends.md fix: preserve Fable thinking on Claude CLI routes (#107636) 2026-07-14 09:15:21 -07:00
cloud-workers.md feat: run and reclaim cloud worker sessions from Control UI (#108398) 2026-07-15 11:24:04 -07:00
config-agents.md feat(android): add Wear real-time Talk controls (#109483) 2026-07-17 13:46:05 +01:00
config-channels.md feat(channels): add unified implicit mention policy (#108829) 2026-07-16 17:16:01 -07:00
config-tools.md fix(models): refresh bundled provider catalogs (#109410) 2026-07-16 16:47:25 -07:00
configuration-examples.md refactor(cron): retire cron_run_logs; ledger-owned retention and cancellation 2026-07-13 11:41:27 -07:00
configuration-reference.md feat(onboarding): recommend plugins and skills from installed apps (#109668) 2026-07-17 14:07:59 +01:00
configuration.md fix(gateway): surface retryAfterMs on rate-limited auth rejections and document rate limiting (#109630) 2026-07-16 21:44:43 -07:00
diagnostics.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
discovery.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
doctor.md improve(doctor): keep regular runs problem-focused and compact (#106968) 2026-07-13 19:25:29 -07:00
external-apps.md docs(plugins): document safe external cron projection (#104227) 2026-07-10 23:26:40 -07:00
gateway-lock.md fix(sqlite): serialize offline maintenance with gateway (#106210) 2026-07-13 18:15:32 +08:00
health.md refactor: flip sessions and transcripts to sqlite storage (#98236) 2026-07-11 14:50:37 -07:00
heartbeat.md fix(heartbeat): remember silent task results for the next user turn (#95838) 2026-07-17 13:24:48 +01:00
index.md feat(gateway): land remaining durable-approvals stack and repair main gates (#104837) 2026-07-12 10:51:38 +01:00
local-model-services.md docs: cover embedding local service leases 2026-07-11 16:22:22 +08:00
local-models.md fix(agents): keep exec visible for lean local models (#101607) 2026-07-07 12:46:26 +01:00
logging.md chore: migrate active GPT-5.5 references to GPT-5.6 (#104452) 2026-07-11 06:30:57 -07:00
multi-tenant-hosting.md docs(fleet): remove MVP framing 2026-07-13 17:56:18 -07:00
multiple-gateways.md fix(sqlite): serialize offline maintenance with gateway (#106210) 2026-07-13 18:15:32 +08:00
network-model.md
openai-http-api.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
openresponses-http-api.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
openshell.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
opentelemetry.md fix: show exported tool results in trace viewers (#101371) 2026-07-07 17:14:30 +10:00
operator-scopes.md fix(node-pairing): require operator.admin to approve fs.listDir nodes (#105936) (#106004) 2026-07-13 16:40:55 -05:00
pairing.md fix(node-pairing): require operator.admin to approve fs.listDir nodes (#105936) (#106004) 2026-07-13 16:40:55 -05:00
prometheus.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
protocol.md fix(ui): add thinking level to new cloud sessions (#108679) 2026-07-15 23:54:00 -07:00
remote-gateway-readme.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
remote.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
restart-recovery.md fix: channel turns recover safely after gateway restart (#108283) 2026-07-15 23:01:26 -07:00
sandbox-vs-tool-policy-vs-elevated.md docs(sandbox): document multiple folders per agent (#109530) 2026-07-16 19:40:25 -07:00
sandboxing.md docs(sandbox): document multiple folders per agent (#109530) 2026-07-16 19:40:25 -07:00
secrets-plan-contract.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
secrets.md fix(secrets): keep startup alive when TTS SecretRefs are missing (#101265) 2026-07-16 21:07:01 -07:00
tailscale.md fix(gateway): preserve local access for specific binds (#98479) 2026-07-10 19:18:47 -07:00
tools-invoke-http-api.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00
troubleshooting.md docs(gateway): add launchd supervisor loop troubleshooting (#89816) 2026-07-11 15:59:12 -07:00
trusted-proxy-auth.md docs: rewrite published docs grounded in current source (#100142) 2026-07-05 00:32:47 -04:00