UNPKG

openclaw

Version:

Multi-channel AI gateway with extensible messaging integrations

303 lines (253 loc) 13.8 kB
--- summary: "Use Venice AI privacy-focused models in OpenClaw" read_when: - You want privacy-focused inference in OpenClaw - You want Venice AI setup guidance title: "Venice AI" --- [Venice AI](https://venice.ai) provides privacy-focused inference: open models run with no logging, plus anonymized proxy access to Claude, GPT, Gemini, and Grok. All endpoints are OpenAI-compatible (`/v1`). ## Privacy modes | Mode | Behavior | Models | | -------------- | ---------------------------------------------------------------- | --------------------------------------------------------------- | | **Private** | Prompts/responses are never stored or logged. Ephemeral. | GLM, Gemma, Grok, Qwen, DeepSeek, Kimi, Venice Uncensored, etc. | | **Anonymized** | Proxied through Venice with metadata stripped before forwarding. | Claude, GPT, and selected Qwen models | <Warning> Anonymized models are not fully private. Venice strips metadata before forwarding, but the underlying provider (OpenAI, Anthropic, Google, xAI) still processes the request. Use Private models when full privacy is required. </Warning> ## Getting started <Steps> <Step title="Install the plugin"> ```bash openclaw plugins install @openclaw/venice-provider ``` </Step> <Step title="Get your API key"> 1. Sign up at [venice.ai](https://venice.ai) 2. Go to **Settings > API Keys > Create new key** 3. Copy your API key (format: `vapi_xxxxxxxxxxxx`) </Step> <Step title="Configure OpenClaw"> <Tabs> <Tab title="Interactive (recommended)"> ```bash openclaw onboard --auth-choice venice-api-key ``` Prompts for the API key (or reuses an existing `VENICE_API_KEY`), lists available Venice models, and sets your default model. </Tab> <Tab title="Environment variable"> ```bash export VENICE_API_KEY="vapi_xxxxxxxxxxxx" ``` </Tab> <Tab title="Non-interactive"> ```bash openclaw onboard --non-interactive --accept-risk --skip-health \ --auth-choice venice-api-key \ --venice-api-key "vapi_xxxxxxxxxxxx" ``` </Tab> </Tabs> </Step> <Step title="Verify setup"> ```bash openclaw agent --model venice/zai-org-glm-4.7 --message "Hello, are you working?" ``` </Step> </Steps> ## Model selection - **Default**: `venice/zai-org-glm-4.7` (private reasoning). - **Strongest anonymized option**: `venice/claude-opus-5`. ```bash openclaw models set venice/zai-org-glm-4.7 openclaw models list --all --provider venice ``` You can also run `openclaw configure` and pick **Model/auth provider > Venice AI**. <Tip> | Use case | Model | Why | | --------------------- | -------------------------------------------- | -------------------------------------- | | General chat (default) | `zai-org-glm-4.7` | Venice live default trait | | Best overall quality | `claude-opus-5` | Current promoted anonymized Opus model | | Privacy + coding | `qwen3-coder-480b-a35b-instruct-turbo` | Private coding model with large context | | Fast + cheap | `google-gemma-4-31b-it` | Low-cost promoted private vision model | | Complex private tasks | `deepseek-v3.2` | Promoted private reasoning model | | Uncensored | `venice-uncensored-1-2` | Current uncensored Venice model | </Tip> ## Built-in catalog (16 visible models) <AccordionGroup> <Accordion title="Private models (10) — fully private, no logging"> | Model ID | Name | Context | Notes | | -------------------------------------- | --------------------------- | ------- | --------------------------- | | `zai-org-glm-5-2` | GLM 5.2 | 1M | Recommended, coding | | `zai-org-glm-4.7` | GLM 4.7 | 198k | Private reasoning | | `venice-uncensored-1-2` | Venice Uncensored 1.2 | 128k | Most uncensored, vision | | `google-gemma-4-31b-it` | Google Gemma 4 31B Instruct | 256k | Recommended, vision | | `kimi-k2-6` | Kimi K2.6 | 256k | Recommended, coding, vision | | `deepseek-v3.2` | DeepSeek V3.2 | 160k | Recommended, reasoning | | `qwen3-235b-a22b-thinking-2507` | Qwen3 235B Thinking | 128k | Default reasoning | | `qwen3-coder-480b-a35b-instruct-turbo` | Qwen3 Coder 480B Turbo | 256k | Default coding | | `qwen3-vl-235b-a22b` | Qwen3 VL 235B | 128k | Default vision | | `grok-4-5` | Grok 4.5 | 500k | Recommended, coding, vision | </Accordion> <Accordion title="Anonymized models (6) — via Venice proxy"> | Model ID | Name | Context | Notes | | ------------------- | -------------------------------- | ------- | --------------------------- | | `qwen-3-7-max` | Qwen 3.7 Max (via Venice) | 1M | Recommended, coding, vision | | `qwen-3-7-plus` | Qwen 3.7 Plus (via Venice) | 1M | Recommended, coding, vision | | `claude-fable-5` | Claude Fable 5 (via Venice) | 1M | Recommended, coding, vision | | `claude-opus-5` | Claude Opus 5 (via Venice) | 1M | Recommended, coding, vision | | `claude-sonnet-4-6` | Claude Sonnet 4.6 (via Venice) | 1M | Recommended, coding, vision | | `openai-gpt-56-sol` | GPT-5.6 Sol (via Venice) | 1M | Recommended, vision | </Accordion> <Accordion title="Deprecated compatibility rows (3) — hidden from pickers"> | Model ID | Replacement | | ----------------------- | --------------------------- | | `zai-org-glm-4.6` | `zai-org-glm-4.7` | | `google-gemma-3-27b-it` | `google-gemma-4-31b-it` | | `kimi-k2-5` | `kimi-k2-6` | </Accordion> </AccordionGroup> Grok-backed Venice models (`grok-4-3` and similar) get the same tool-schema compat patch as the native xAI provider, since they share the same upstream tool-call format. ## Model discovery The bundled catalog above is a manifest-backed seed list. At runtime OpenClaw refreshes it from the Venice `/models` API and falls back to the seed list if the API is unreachable. The `/models` endpoint is public (no auth needed for listing), but inference requires a valid API key. Venice may continue accepting retired model IDs as provider-owned aliases. The OpenClaw catalog advertises only the canonical model IDs returned by `/models`. ## DeepSeek V4 replay behavior If Venice exposes DeepSeek V4 models such as `deepseek-v4-pro` or `deepseek-v4-flash`, OpenClaw fills the required `reasoning_content` replay field on assistant messages when Venice omits it, and strips `thinking`/ `reasoning`/`reasoning_effort` from the request payload (Venice rejects DeepSeek's native `thinking` control on these models). This replay fix is separate from the native DeepSeek provider's own thinking controls. ## Streaming and tool support | Feature | Support | | ---------------- | ------------------------------------------------------ | | Streaming | All models | | Function calling | All visible seed models; live rows follow API metadata | | Vision/Images | Models marked "Vision" above | | JSON mode | Via `response_format` | ## Pricing Venice uses a credit-based system. Anonymized models cost roughly the same as direct API pricing plus a small Venice fee. See [venice.ai/pricing](https://venice.ai/pricing) for current rates. OpenClaw reads live prices from Venice's public [`GET /api/v1/models`](https://docs.venice.ai/api-reference/endpoint/models/list) response during model discovery. The same plugin parser supplies the hosted catalog publisher. Known and newly discovered models use the API's complete schedule in USD per million tokens; the manifest prices are an offline seed. Missing or invalid live prices retain the complete seed schedule for known models. Unknown models without valid pricing keep zero estimates; that does not mean the model is free. Explicit API zero rates are valid. When the API supplies extended pricing, its rates apply to the entire request only when total prompt input **exceeds** `context_token_threshold`. Prompt input includes uncached input, cache reads, and cache writes; output tokens do not select the tier. A request exactly at the threshold still uses base rates. Base and extended rates always come from one schedule. An invalid extended schedule is not combined with seed or other-source prices. Explicit `models.providers.venice.models[].cost` entries override catalog estimates, including zero. Omitted `cost` or `{}` inherits the catalog schedule. Partial flat overrides inherit missing base rates and remove inherited tiers; explicit `tieredPricing` wins, and `tieredPricing: []` selects flat pricing. Agent-local root `models.json` prices retain highest priority. New onboarding in `models.mode: "merge"` leaves generated catalog rows out of the configuration so they cannot become price pins. Re-onboarding preserves existing model entries, aliases, and model selection. In `models.mode: "replace"`, onboarding retains explicit seed rows because that mode disables discovery. Existing serialized costs are never automatically removed or migrated, even if they match an old seed. With merge mode enabled, back up your configuration and remove only unwanted `cost` fields to resume catalog pricing; keep intentional overrides. Discovery reuses its existing fetched rows and cache. Usage display makes no price requests, and a running Gateway does not immediately adopt every upstream price change. Hosted catalog updates activate at the existing restart boundary; see [Hosted model catalog](/concepts/models#hosted-catalog-updates). Make sizing-only edits in your source configuration without copying generated model rows back into it: replacing an entire model array from a runtime snapshot can persist inherited costs as explicit overrides. Historical estimated costs remain subject to the existing repricing policy; provider-billed amounts are unchanged. See [Token use and costs](/reference/token-use). ## Usage examples ```bash # Default private model openclaw agent --model venice/zai-org-glm-4.7 --message "Quick health check" # Claude Opus via Venice (anonymized) openclaw agent --model venice/claude-opus-5 --message "Summarize this task" # Uncensored model openclaw agent --model venice/venice-uncensored-1-2 --message "Draft options" # Vision model with image openclaw agent --model venice/qwen3-vl-235b-a22b --message "Review attached image" # Coding model openclaw agent --model venice/qwen3-coder-480b-a35b-instruct-turbo --message "Refactor this function" ``` ## Troubleshooting <AccordionGroup> <Accordion title="API key not recognized"> ```bash openclaw models list --provider venice ``` Confirm the API key is configured and starts with `vapi_`; do not print or share its value. </Accordion> <Accordion title="Model not available"> Run `openclaw models list --all --provider venice` to see currently available models; the catalog changes as Venice adds or retires models. </Accordion> <Accordion title="Connection issues"> Venice API is at `https://api.venice.ai/api/v1`. Confirm your network allows HTTPS to that host. </Accordion> </AccordionGroup> <Note> More help: [Troubleshooting](/help/troubleshooting) and [FAQ](/help/faq). </Note> ## Advanced configuration <AccordionGroup> <Accordion title="Config file example"> ```json5 { env: { vars: { VENICE_API_KEY: "vapi_..." } }, agents: { defaults: { model: { primary: "venice/zai-org-glm-4.7" } } }, models: { mode: "merge", providers: { venice: { baseUrl: "https://api.venice.ai/api/v1", apiKey: "${VENICE_API_KEY}", api: "openai-completions", models: [ { id: "zai-org-glm-4.7", name: "GLM 4.7", reasoning: true, input: ["text"], contextWindow: 198000, maxTokens: 16384, }, ], }, }, }, } ``` </Accordion> </AccordionGroup> ## Related <CardGroup cols={2}> <Card title="Model selection" href="/concepts/model-providers" icon="layers"> Choosing providers, model refs, and failover behavior. </Card> <Card title="Venice AI" href="https://venice.ai" icon="globe"> Venice AI homepage and account signup. </Card> <Card title="API documentation" href="https://docs.venice.ai" icon="book"> Venice API reference and developer docs. </Card> <Card title="Pricing" href="https://venice.ai/pricing" icon="credit-card"> Current Venice credit rates and plans. </Card> </CardGroup>