OpenClaw 接入 Venice AI:隐私优先模型提供商的安装、配置与源码级解析

发布时间:2026/9/10 12:44:00
OpenClaw 接入 Venice AI:隐私优先模型提供商的安装、配置与源码级解析 OpenClaw 接入 Venice AI隐私优先模型提供商的安装、配置与源码级解析【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw本文以 OpenClaw 官方文档 Venice AI 为主体讲解如何在 OpenClaw 中安装并配置 Venice AI 模型提供商插件覆盖隐私模式、内置模型目录、运行时模型发现、流式与工具调用兼容、计费与用量查询等核心内容并结合仓库中 venice 插件源码 展开底层原理说明。读完本文你将能够独立完成 Venice 插件安装、API Key 配置、默认模型切换并理解其定价规则与兼容性补丁的实现机制。Venice AI 与 OpenClaw隐私优先推理接入Venice AI 提供隐私优先的推理服务开源模型以不记录日志的方式运行同时通过匿名代理方式提供 Claude、GPT、Gemini 与 Grok 等闭源模型的访问。其所有端点均为 OpenAI 兼容协议/v1这意味着 OpenClaw 可以复用既有的 OpenAI 兼容接入能力仅通过一个插件即可完成对接。在 OpenClaw 仓库中该能力由openclaw/venice-provider插件实现插件入口位于 extensions/venice/index.ts注册信息见 openclaw.plugin.jsonProvider IDveniceContractsusageProviders提供用量/余额查询能力Base URLhttps://api.venice.ai/api/v1API 风格openai-completions默认模型zai-org-glm-4.7两种隐私模式Venice 的核心卖点是隐私模式的选择官方文档给出了清晰的对比模式行为模型Private私有提示词与响应永不被存储或记录临时性ephemeralGLM、Gemma、Grok、Qwen、DeepSeek、Kimi、Venice Uncensored 等Anonymized匿名代理经 Venice 代理转发转发前剥离元数据Claude、GPT 及部分 Qwen 模型⚠️ 重要说明匿名代理模型并非完全隐私。Venice 在转发前会剥离元数据但底层供应商OpenAI、Anthropic、Google、xAI仍会处理该请求。当需要完整隐私保护时应使用 Private 模式模型。插件在 onboarding 提示中也明确传达了这一点见 index.ts支持 private完全私有与 anonymized代理两种模式并引导用户到https://venice.ai/settings/api获取 API Key。安装与配置三步走第 1 步安装插件openclaw plugins install openclaw/venice-provider插件可通过 npm 或 ClawHub 安装ClawHub 规格为clawhub:openclaw/venice-provider见 package.json 中的openclaw.install字段。插件要求宿主机版本2026.6.9当前插件版本为2026.9.3pluginApi兼容要求2026.9.3。第 2 步获取 API Key在 venice.ai 注册账号进入Settings API Keys Create new key复制 API Key格式为vapi_xxxxxxxxxxxx第 3 步配置 OpenClaw官方文档提供三种配置方式交互式推荐openclaw onboard --auth-choice venice-api-key该命令会提示输入 API Key或复用已有的VENICE_API_KEY环境变量列出可用的 Venice 模型并设置默认模型。这一行为由插件中的 onboard.ts 驱动它通过createModelCatalogPresetAppliers把默认模型引用zai-org-glm-4.7、openai-completionsAPI、Venice Base URL 以及别名GLM 4.7写入配置。环境变量方式export VENICE_API_KEYvapi_xxxxxxxxxxxx非交互式脚本/CI 场景openclaw onboard --non-interactive --accept-risk --skip-health \ --auth-choice venice-api-key \ --venice-api-key vapi_xxxxxxxxxxxx其中--venice-api-key是插件清单中声明的 CLI 选项见 openclaw.plugin.json 的providerAuthChoices对应的配置项为veniceApiKey。第 4 步验证设置openclaw agent --model venice/zai-org-glm-4.7 --message Hello, are you working?模型选择策略官方文档给出的模型选择建议默认模型venice/zai-org-glm-4.7私有推理最强匿名代理选项venice/claude-opus-5openclaw models set venice/zai-org-glm-4.7 openclaw models list --all --provider venice也可以运行openclaw configure在Model/auth provider Venice AI中选择。按使用场景选择的速查表使用场景模型理由通用对话默认zai-org-glm-4.7Venice 官方默认特性最佳整体质量claude-opus-5当前主推的匿名代理 Opus 模型隐私 编码qwen3-coder-480b-a35b-instruct-turbo大上下文私有编码模型快速 廉价google-gemma-4-31b-it低成本主推私有视觉模型复杂私有任务deepseek-v3.2主推私有推理模型Uncensored无审查venice-uncensored-1-2当前 Venice 无审查模型内置模型目录16 个可见模型插件清单 openclaw.plugin.json 的modelCatalog.providers.venice.models内置了完整的种子目录运行时加载逻辑见 models.tsbuildManifestModelProviderConfig生成离线目录decorateVeniceModelDefinition统一标注supportsUsageInStreaming: false兼容位。Private 模型10 个——完全私有、无日志模型 ID名称上下文备注zai-org-glm-5-2GLM 5.21M推荐编码zai-org-glm-4.7GLM 4.7198k私有推理venice-uncensored-1-2Venice Uncensored 1.2128k最无审查视觉google-gemma-4-31b-itGoogle Gemma 4 31B Instruct256k推荐视觉kimi-k2-6Kimi K2.6256k推荐编码视觉deepseek-v3.2DeepSeek V3.2160k推荐推理qwen3-235b-a22b-thinking-2507Qwen3 235B Thinking128k默认推理qwen3-coder-480b-a35b-instruct-turboQwen3 Coder 480B Turbo256k默认编码qwen3-vl-235b-a22bQwen3 VL 235B128k默认视觉grok-4-5Grok 4.5500k推荐编码视觉Anonymized 模型6 个——经 Venice 代理模型 ID名称上下文备注qwen-3-7-maxQwen 3.7 Max (via Venice)1M推荐编码视觉qwen-3-7-plusQwen 3.7 Plus (via Venice)1M推荐编码视觉claude-fable-5Claude Fable 5 (via Venice)1M推荐编码视觉claude-opus-5Claude Opus 5 (via Venice)1M推荐编码视觉claude-sonnet-4-6Claude Sonnet 4.6 (via Venice)1M推荐编码视觉openai-gpt-56-solGPT-5.6 Sol (via Venice)1M推荐视觉已弃用兼容行3 个——从选择器中隐藏模型 ID替代品zai-org-glm-4.6zai-org-glm-4.7google-gemma-3-27b-itgoogle-gemma-4-31b-itkimi-k2-5kimi-k2-6清单中这些行带有status: deprecated与replacedBy字段因此会从模型选择器中隐藏仅保留兼容性引用。此外Grok 系 Venice 模型grok-4-3等会应用与原生 xAI 提供商相同的工具 schema 兼容补丁因为二者共享相同的上游工具调用格式。该逻辑实现在 index.tsapplyXaiModelCompat会设置toolSchemaProfile: xai、声明不支持minLength/maxLength/minItems/maxItems/minContains/maxContains等 schema 关键字并采用html-entities工具调用参数编码凡模型 ID 包含grok即命中该补丁。模型发现机制manifest 种子 运行时刷新内置目录本质上是 manifest 驱动的种子列表。运行时 OpenClaw 会从 Venice 的/modelsAPI 刷新它若 API 不可达则回退到种子列表。/models端点是公开的列模型无需认证但推理需要有效 API Key。这一机制在源码中有具体参数可循models.tstimeoutMs: 10_000发现请求超时 10 秒ttlMs: 60_000发现结果缓存 60 秒authentication: none列表端点免认证projectRows: projectVeniceModels将 API 行投影为 OpenClaw 模型定义projectVeniceModels的投影逻辑值得注意对于已知模型种子目录中存在保留目录的 input/context 等配置但用 API 返回的实时价格parseVeniceModelPricing覆盖成本若 API 返回maxCompletionTokens则会在已知 maxTokens 与硬上限131_072之间取最小值更新maxTokens若 API 明确标注不支持函数调用supportsFunctionCalling: false会写入supportsTools: false兼容位。对于未知模型API 新增则根据model_spec.capabilities推断reasoningID 含 thinking/reason/r1 或声明 supportsReasoning、视觉能力supportsVision→input: [text, image]等属性使用默认上下文 128k、默认 maxTokens 4096 兜底。Venice 可能继续接受已退役的模型 ID 作为提供商侧别名但 OpenClaw 目录只公布/models返回的规范模型 ID。DeepSeek V4 replay 兼容行为如果 Venice 暴露 DeepSeek V4 模型如deepseek-v4-pro、deepseek-v4-flashOpenClaw 会在 Venice 省略时补齐 assistant 消息中必需的reasoning_contentreplay 字段并从请求负载中剥离thinking/reasoning/reasoning_effortVenice 会拒绝这些模型上的 DeepSeek 原生 thinking 控制。该修复与原生 DeepSeek 提供商自身的 thinking 控制是相互独立的。源码实现见 stream.tscreateVeniceStreamWrapper通过createPayloadPatchStreamWrapper包装底层流函数当model.provider venice且模型 ID 命中deepseek-v4-flash/deepseek-v4-pro时删除上述三个 thinking 字段并以thinkingEnabled: true、replaceNullReasoningContent: true调用normalizeOpenAICompatibleReasoningReplay补齐 replay。流式与工具支持特性支持情况流式输出所有模型函数调用所有可见种子模型动态发现的行遵循 API 元数据视觉/图像上表标记 Vision 的模型JSON 模式通过response_formatGemini 历史工具调用兼容补丁除 DeepSeek V4 与 Grok 补丁外stream.ts 还实现了 Gemini 系模型的历史工具调用兼容逻辑对gemini-*前缀的 Venice 模型在历史 assistant 消息存在thoughtSignature时将其回填到新一轮请求对应 tool_call 的thought_signature字段对 Gemini 3 系模型/^gemini-3(?:[.-]|$)/若历史调用缺少签名则降级处理把历史工具结果改写为 user 消息文本[Historical tool result for tool: ...]避免上游因缺少签名而拒绝请求。这类补丁的目标是让多轮工具调用对话在切换模型路由后仍能稳定重放历史上下文。计费与定价机制Venice 采用积分制。匿名代理模型的价格约等于直接调用 API 的价格加少量 Venice 费用最新费率以官网定价页为准。OpenClaw 在模型发现阶段会从 Venice 公开的GET /api/v1/models响应中读取实时价格同一解析器也供托管的目录发布器使用。已知与新发现的模型使用 API 的完整价目表USD/百万 tokensmanifest 价格只是离线种子。当实时价格缺失或无效时已知模型回退到完整种子价目表无有效定价的未知模型保持零估计——这不代表模型免费而 API 显式给出的零费率则是有效的。扩展价格tiered pricing规则当 API 提供扩展定价时其费率仅当总提示输入超过context_token_threshold时才作用于整个请求。提示输入包含未缓存输入、缓存读取与缓存写入输出 tokens 不参与档位选择。恰好等于阈值的请求仍使用基础费率。基础与扩展费率必须来自同一份 schedule无效的扩展 schedule 不会与种子或其他来源的价格混用。源码层面pricing-api.ts 的parseVeniceModelPricing按此实现读取input/output/cache_input/cache_write四个字段的usd值缓存字段缺省视为 0表示缓存不支持或不收费若有extended块则读取其费率与阈值把阈值向下取整 1 作为分档起点产出tieredPricing: [{base, range: [0, start]}, {rates, range: [start]}]。若扩展 schedule 缺失缓存费率而基础费率有缓存字段则整体拒绝该 schedule避免用基础费率去推算缓存档位。Grok 4.5 与 Qwen 3.7 Plus 在清单中即带有这种双档定价。成本覆盖的优先级显式models.providers.venice.models[].cost条目覆盖目录估算包括显式 0省略cost或写{}时继承目录 schedule部分扁平覆盖会继承缺失的基础费率并移除继承的档位显式tieredPricing优先tieredPricing: []表示选择扁平定价Agent 本地的根级models.json价格优先级最高。与 onboarding / discovery 的交互新 onboarding 在models.mode: merge下不把生成的目录行写入配置避免它们成为价格钉子price pins重新 onboarding 会保留已有模型条目、别名与模型选择。在models.mode: replace下onboarding 会保留显式种子行因为该模式禁用了 discovery。对应源码见 onboard.ts仅在replace模式下写入catalogModels。已序列化的成本永远不会被自动移除或迁移即使它们匹配旧的种子值。启用 merge 模式后建议备份配置只删除不需要的cost字段以恢复目录定价保留有意的覆盖。Discovery 会复用已获取的行与缓存用量展示不发价格请求运行中的 Gateway 不会立刻采纳每次上游价格变化。托管目录更新在既有的重启边界生效详见 Hosted model catalog。仅在源配置中做 sizing 类编辑不要把运行时快照生成的模型行整体拷回源配置整体替换模型数组会把继承的成本固化为显式覆盖。历史记录成本保留当前价格只填充缺失成本或未知价格的零占位符详见 Token use and costs。用量与余额查询插件通过usageProviderscontract 提供余额查询能力usage.ts请求https://api.venice.ai/api/v1/billing/balance携带Authorization: Bearer key响应上限 1MB。它会解析DIEM 余额与USD 余额balances.diem/balances.usdDIEM epoch 分配diemEpochAllocation并据此计算 epoch 已用百分比与 budget 行消费货币consumptionCurrency会以大写形式展示为 plan若canConsume false则标记 API consumption unavailable。网络失败返回 Usage unavailableHTTP 错误按状态码构造快照响应解析失败返回 Malformed usage response均有防御性兜底。常用命令速查# 默认私有模型 openclaw agent --model venice/zai-org-glm-4.7 --message Quick health check # Claude Opus 经 Venice匿名代理 openclaw agent --model venice/claude-opus-5 --message Summarize this task # 无审查模型 openclaw agent --model venice/venice-uncensored-1-2 --message Draft options # 带图像的视觉模型 openclaw agent --model venice/qwen3-vl-235b-a22b --message Review attached image # 编码模型 openclaw agent --model venice/qwen3-coder-480b-a35b-instruct-turbo --message Refactor this function故障排查API Key 不被识别openclaw models list --provider venice确认 API Key 已配置且以vapi_开头不要打印或分享其值。从源码看Key 的解析路径为ctx.resolveApiKeyFromConfigAndStore({ envDirect: [ctx.env.VENICE_API_KEY] })index.ts即环境变量、配置与凭据存储三处均可提供。模型不可用运行openclaw models list --all --provider venice查看当前可用模型目录会随 Venice 上架/下架模型而变化。也可关注上文提到的运行时发现机制——新模型通常会在/modelsAPI 出现后自动进入列表。连接问题Venice API 位于https://api.venice.ai/api/v1。请确认你的网络允许 HTTPS 访问该主机。更多帮助参见 Troubleshooting 与 FAQ。高级配置配置文件示例{ 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, }, ], }, }, }, }要点解读env.vars.VENICE_API_KEY与models.providers.venice.apiKey均可用于注入密钥后者支持${VENICE_API_KEY}变量插值api: openai-completions与baseUrl必须与插件内置值保持一致见 openclaw.plugin.json否则请求无法路由agents.defaults.model.primary设置全局默认模型models.mode: merge让 onboarding 与 discovery 生成的行不落盘为价格钉子见上文定价规则手写的models[].cost会覆盖目录估算含显式 0省略则继承目录 schedule如 GLM 4.7 的种子价 input 0.55 / output 2.65 USD 每百万 tokens见 openclaw.plugin.jsoncontextWindow/maxTokens的种子默认值分别见 models.ts 的VENICE_DEFAULT_CONTEXT_WINDOW 128_000与VENICE_DEFAULT_MAX_TOKENS 4096。延伸阅读Model selection模型提供方选择、模型引用与故障转移Hosted model catalog托管目录更新机制Token use and costsToken 用量与成本语义插件官方 README 见 extensions/venice/README.md其安装命令与本文一致openclaw plugins install openclaw/venice-provider【免费下载链接】openclawThe AI that really does things. Any OS. Any Platform. The lobster way. 项目地址: https://gitcode.com/GitHub_Trending/cl/openclaw创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考