feat: discover OpenCode and Pi sessions on paired nodes (#106941)

* feat(sessions): add opencode and pi catalogs

* fix(sessions): satisfy catalog lint

* fix(sessions): validate pi storage paths

* fix(sessions): index growing pi transcripts

* refactor(sessions): split pi path resolution

* docs(sessions): refresh catalog map

* refactor(sessions): privatize pi catalog internals

* fix(sessions): validate node catalog payloads

* fix(sessions): harden external catalog discovery

* fix(sessions): normalize catalog transcript data

* refactor(gateway): keep node scope gate compact

* fix(opencode): reject option-like session ids

* fix(sessions): align external id validation
This commit is contained in:
Peter Steinberger
2026-07-13 21:45:53 -07:00
committed by GitHub
parent 1551fc9e43
commit 05fb55eb7b
20 changed files with 3546 additions and 14 deletions

View File

@@ -1,5 +1,5 @@
---
summary: "Adds OpenCode model provider support to OpenClaw."
summary: "Adds OpenCode model provider and native session catalog support to OpenClaw."
read_when:
- You are installing, configuring, or auditing the opencode plugin
title: "OpenCode plugin"
@@ -7,7 +7,7 @@ title: "OpenCode plugin"
# OpenCode plugin
Adds OpenCode model provider support to OpenClaw.
Adds OpenCode model provider and native session catalog support to OpenClaw.
## Distribution
@@ -16,7 +16,19 @@ Adds OpenCode model provider support to OpenClaw.
## Surface
providers: opencode; contracts: mediaUnderstandingProviders
providers: opencode; contracts: mediaUnderstandingProviders; session catalog: opencode
## Native sessions
OpenClaw auto-detects the `opencode` CLI on the Gateway and paired nodes. Stored
sessions then appear in the **OpenCode** sessions-sidebar group, with read-only
transcript browsing through the official `opencode --pure db ... --format json`
and `opencode --pure export` commands. The restricted environment and `--pure`
mode prevent catalog browsing from loading project plugins or inheriting unrelated
Gateway credentials.
Turn **OpenCode Session Catalog** off under **Config > Plugins > OpenCode** to
disable discovery. It is enabled by default.
## Related docs