Venice's API doesn't support certain OpenAI-compatible parameters that Clawdbot sends by default: - `store`: Venice returns HTTP 400 with no body when this is present - `developer` role: Not supported by Venice's API This adds VENICE_COMPAT settings (supportsStore: false, supportsDeveloperRole: false) to all Venice model definitions, both from the static catalog and dynamically discovered models. Fixes issues reported in PR #1666 where users experienced silent failures (HTTP 400, no body) when using Venice models. Co-authored-by: jonisjongithub <jonisjongithub@users.noreply.github.com> Co-authored-by: Clawdbot <bot@clawd.bot>
40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
---
|
||
summary: "How the mac app embeds the gateway WebChat and how to debug it"
|
||
read_when:
|
||
- Debugging mac WebChat view or loopback port
|
||
---
|
||
# WebChat (macOS app)
|
||
|
||
The macOS menu bar app embeds the WebChat UI as a native SwiftUI view. It
|
||
connects to the Gateway and defaults to the **main session** for the selected
|
||
agent (with a session switcher for other sessions).
|
||
|
||
- **Local mode**: connects directly to the local Gateway WebSocket.
|
||
- **Remote mode**: forwards the Gateway control port over SSH and uses that
|
||
tunnel as the data plane.
|
||
|
||
## Launch & debugging
|
||
|
||
- Manual: Lobster menu → “Open Chat”.
|
||
- Auto‑open for testing:
|
||
```bash
|
||
dist/Clawdbot.app/Contents/MacOS/Clawdbot --webchat
|
||
```
|
||
- Logs: `./scripts/clawlog.sh` (subsystem `com.clawdbot`, category `WebChatSwiftUI`).
|
||
|
||
## How it’s wired
|
||
|
||
- Data plane: Gateway WS methods `chat.history`, `chat.send`, `chat.abort`,
|
||
`chat.inject` and events `chat`, `agent`, `presence`, `tick`, `health`.
|
||
- Session: defaults to the primary session (`main`, or `global` when scope is
|
||
global). The UI can switch between sessions.
|
||
- Onboarding uses a dedicated session to keep first‑run setup separate.
|
||
|
||
## Security surface
|
||
|
||
- Remote mode forwards only the Gateway WebSocket control port over SSH.
|
||
|
||
## Known limitations
|
||
|
||
- The UI is optimized for chat sessions (not a full browser sandbox).
|