v1.11.0
Added
- Proxy routing for many more CLIs. A shared
observer <tool>launcher
family plus a per-provider upstream seam (/up/<id>path prefix +
[proxy.upstreams]) now route OpenAI- and Gemini-shaped traffic from
opencode,gemini-cli,copilot-cli,pi,cline-cli, andhermes
through the proxy for accurate token capture and conversation compression —
each via its own mechanism (a launch-time base-URL env var, amodels.json/
providers.jsoncustom provider, or a secret-free named provider with
key_env). The launchers never write an API key. All live-verified. - Gemini conversation compressor. A Google
generateContentprovider lane
in the proxy (providerForPath→parseGeminiResponse/parseGeminiStream,
accurateusageMetadatacapture) plus agenerateContentbody compressor:
deep-recursive tool-output compression at any nesting depth, content-addressed
stash parity, and a pairing/alternation-safe budget drop pass forcontents[]
that never produces an invalid or 400-bound body. Default-off, like all
conversation compression. - Adapter capability registry (
internal/integration). One data-owned row
per adapter declares its proxy / route / hook / MCP / native-console / token
capabilities;observer init,observer doctor, and the new
observer adapterssupport-matrix command all dispatch on capability SHAPE,
not tool name. Surface-specific routability buckets retire the old
"permanently impossible" framing. - Cache-expiry warning system (
cachewarm): classifies live prompt caches
into ok / soon / critical / cold with value-at-risk, and recommends the
cheapest content-free keep-warm lever. Surfaced in the dashboard,
observer cache-status, the MCPcache_statustool, and the VS Code status
bar. - Real-time Live capture. A Linux eBPF process-capture backend (with
self-capture exclusion + exec-duration fallback), action-derived command rows
(message↔command capture with no OS polling), all-adapter process attribution,
and Codex limit tracking — surfaced on the Live page with row-click detail. - Broader trace + MCP coverage. A full trace-coverage sweep captures user
prompts, assistant text, reasoning, system prompts, and per-message
stop_reasonacross the non-reference adapters; MCP config is now written for
clineandopencode(incl. the cross-OS WSL bridge). - SuperBased favicons on the local and admin dashboards.
Fixed
- Token & cost accuracy across adapters: net cached tokens out of gross
OpenAI-shaped input (gemini-cli), capture Gemini reasoning from the live
thoughtskey, correct the copilot-cli cache-tier ledger, propagate hermes
session cost, resolve Cursor's real model fromstore.dbwhen the hook
reportsdefault, capture the newer AntigravityagyCLI plaintext-SQLite
conversations, and read OpenClaw's accurate per-call tokens from the
trajectory trace. - Proxy: detect OpenAI-compatible endpoints on non-
/v1paths so custom
upstreams with an/api/v1base still capture. - Org dashboard: the Projects page no longer crashes when a project has no
team overlap (a nil teams slice marshaled to JSONnulland broke the
.lengthread); show the real compression-savings figure in the milestone
card; COALESCE action-count sums so pruned sessions don't 500.
Notes
- Conversation compression stays default-off (opt-in); the privacy push seam is
unchanged. OpenClaw remains a documented runtime-block — routing stalls inside
the CLI's own--localstartup, independent of credentials
(docs/plans/openclaw-runtime-block-followup-2026-06-27.md).
Downloads
Pre-built binaries for each supported platform are attached below. Linux variants bundle antigravity-bridge.exe next to the observer binary for WSL2 users of the Antigravity adapter.
| Platform | Asset |
|---|---|
| Linux x86_64 | observer-v1.11.0-linux-x64.tar.gz |
| Linux arm64 | observer-v1.11.0-linux-arm64.tar.gz |
| macOS x86_64 (Intel) | observer-v1.11.0-darwin-x64.tar.gz |
| macOS arm64 (Apple Silicon) | observer-v1.11.0-darwin-arm64.tar.gz |
| Windows x86_64 | observer-v1.11.0-win32-x64.zip |
Verify with sha256sum -c SHA256SUMS (or shasum -a 256 -c SHA256SUMS on macOS) from the directory containing the downloads.
Also available via npm: npm install -g @superbased/observer@1.11.0
Org server (Docker)
The self-hosted org server ships as a Docker image and as per-platform observer-org-v1.11.0-* archives (attached below).
docker pull ghcr.io/marmutapp/observer-org:v1.11.0The image is keyless-signed with cosign. Verify it:
cosign verify ghcr.io/marmutapp/observer-org:v1.11.0 \
--certificate-identity-regexp 'https://github.com/marmutapp/superbased-observer-private/.*' \
--certificate-oidc-issuer https://token.actions.githubusercontent.comSupply chain
CycloneDX SBOMs are attached: observer.cdx.json and observer-org.cdx.json.
SLSA Level 3 build provenance for the binaries is attached below as a *.intoto.jsonl attestation. The build runs on the private origin repo, so pass that as the source when verifying an extracted binary with slsa-verifier v2.7.0 or newer (older versions fail with unexpected tlog entry type: expected intoto:0.0.2, got dsse:0.0.1):
slsa-verifier verify-artifact ./observer \
--provenance-path *.intoto.jsonl \
--source-uri github.com/marmutapp/superbased-observer-private