目录

Developers

Provider schema 参考

本页面渲染由固定版本 bricoop-releases 生成的 provider 定义 schema。provider schema 比 application schema 更大,其字段按 auths[]、models[]、services[] 和 profiles[] 分组,所以 provider manifest 的每个部分都有自己的字段集合。每个字段都列出了它的 path、type、required 标志以及任何 enum 或 default 值。

切勿手动编辑这些行。这些字段在构建时由 sources/synced/protocol/reference.json 生成,任何手动编辑都会在下一次同步时被覆盖。如果某个字段有误,请在上游 bricoop-releases 中修正并重新运行 protocol 同步;本页的下一次发布会带上修正后的行。

该表格由路由从构建所校验的同一固定快照渲染,所以你在这里读到的行与 Bricoop Desktop 在运行时执行的行一致。表格上方显示的 schemaRevision 是按文件计算的哈希;页面页脚显示的 revision 是导入快照时所用的 40 字符上游 commit。

Provider stable schema

版本: 2a9d04b42b3af8105097f1148b18f363ccb947cd414789e270c473b134e4b967

pathtyperequired defaultenum
auths[].api_key.console.name string yes
auths[].api_key.console.url string yes
auths[].api_key.enabled boolean no true
auths[].enabled boolean no true
auths[].method string yes OAuth, ApiKey
auths[].name string yes
auths[].oauth.auth_code.authorize.params[].json any yes
auths[].oauth.auth_code.authorize.params[].value string yes
auths[].oauth.auth_code.authorize.url.json any yes
auths[].oauth.auth_code.authorize.url.value string yes
auths[].oauth.auth_code.enabled boolean no true
auths[].oauth.auth_code.exchange.body.fields[].json any yes
auths[].oauth.auth_code.exchange.body.fields[].value string yes
auths[].oauth.auth_code.exchange.body.type string yes json, form_urlencoded
auths[].oauth.auth_code.exchange.delay integer|null no
auths[].oauth.auth_code.exchange.headers[].json any yes
auths[].oauth.auth_code.exchange.headers[].value string yes
auths[].oauth.auth_code.exchange.response.body_mapping.system[] string no
auths[].oauth.auth_code.exchange.response.body_mapping.vars[] string no
auths[].oauth.auth_code.exchange.url.json any yes
auths[].oauth.auth_code.exchange.url.value string yes
auths[].oauth.auth_code.redirect_uri string yes
auths[].oauth.device_code.enabled boolean no true
auths[].oauth.device_code.poll.body.fields[].json any yes
auths[].oauth.device_code.poll.body.fields[].value string yes
auths[].oauth.device_code.poll.body.type string yes json, form_urlencoded
auths[].oauth.device_code.poll.delay integer|null no
auths[].oauth.device_code.poll.headers[].json any yes
auths[].oauth.device_code.poll.headers[].value string yes
auths[].oauth.device_code.poll.response.body_mapping.system[] string no
auths[].oauth.device_code.poll.response.body_mapping.vars[] string no
auths[].oauth.device_code.poll.url.json any yes
auths[].oauth.device_code.poll.url.value string yes
auths[].oauth.device_code.request.body.fields[].json any yes
auths[].oauth.device_code.request.body.fields[].value string yes
auths[].oauth.device_code.request.body.type string yes json, form_urlencoded
auths[].oauth.device_code.request.delay integer|null no
auths[].oauth.device_code.request.headers[].json any yes
auths[].oauth.device_code.request.headers[].value string yes
auths[].oauth.device_code.request.response.body_mapping.system[] string no
auths[].oauth.device_code.request.response.body_mapping.vars[] string no
auths[].oauth.device_code.request.url.json any yes
auths[].oauth.device_code.request.url.value string yes
auths[].oauth.device_code.scopes[] string no
auths[].oauth.device_code.vars[] string no
auths[].oauth.enabled boolean no true
auths[].oauth.refresh.access_token_ttl_seconds integer|null no
auths[].oauth.refresh.body.fields[].json any yes
auths[].oauth.refresh.body.fields[].value string yes
auths[].oauth.refresh.body.type string yes json, form_urlencoded
auths[].oauth.refresh.delay integer|null no
auths[].oauth.refresh.headers[].json any yes
auths[].oauth.refresh.headers[].value string yes
auths[].oauth.refresh.method null|string no
auths[].oauth.refresh.response.body_mapping.system[] string no
auths[].oauth.refresh.response.body_mapping.vars[] string no
auths[].oauth.refresh.response.error.permanent_codes[] string no
auths[].oauth.refresh.response.error.permanent_statuses[] integer no
auths[].oauth.refresh.url null|string no
auths[].oauth.scopes[] string no
auths[].oauth.vars[] string no
auths[].request.additional_fields[].json any yes
auths[].request.additional_fields[].value string yes
auths[].request.additional_headers[].json any yes
auths[].request.additional_headers[].value string yes
auths[].request.body_template null|string no null
auths[].request.delay integer|null no
enabled boolean no true
id string yes
minimal_client_version string yes
models[].aliases[] string no
models[].capabilities.compaction.encoding null|string no
models[].capabilities.compaction.transport null|string no local
models[].capabilities.deferred_tool_loading boolean no false
models[].capabilities.parallel_tool_calls boolean yes
models[].capabilities.structured_output boolean yes
models[].capabilities.thinking null no
models[].description null|string no
models[].enabled boolean no true
models[].kind string yes Chat
models[].max_context_tokens integer yes
models[].max_output_tokens integer yes
models[].modalities.input[] string no text, image, video
models[].modalities.output[] string no text, image, video
models[].model_id string yes
models[].name string yes
models[].release_date string yes
models[].scenes[] string no
models[].supported_protocols[] string no OpenaiChatCompletions, OpenaiResponses, AnthropicMessages, GeminiGenerateContent
models[].tier string yes frontier
name string yes
profiles[].auth string yes
profiles[].billing_mode string no Subscription, UsageBasedApiKey, Hybrid, Unknown
profiles[].enabled boolean no true
profiles[].encrypted_compaction_plain_strategy string no lazy, eager
profiles[].max_context_tokens integer|null no null
profiles[].max_output_tokens integer|null no null
profiles[].name string yes
profiles[].post_auth[].body.fields[].json any yes
profiles[].post_auth[].body.fields[].value string yes
profiles[].post_auth[].body.type string yes json, form_urlencoded
profiles[].post_auth[].delay integer|null no
profiles[].post_auth[].headers[].json any yes
profiles[].post_auth[].headers[].value string yes
profiles[].post_auth[].method null|string no
profiles[].post_auth[].name string yes
profiles[].post_auth[].response.body_mapping.system[] string no
profiles[].post_auth[].response.body_mapping.vars[] string no
profiles[].post_auth[].url.json any yes
profiles[].post_auth[].url.value string yes
profiles[].request.additional_fields[].json any yes
profiles[].request.additional_fields[].value string yes
profiles[].request.additional_headers[].json any yes
profiles[].request.additional_headers[].value string yes
profiles[].request.body_template null|string no null
profiles[].request.delay integer|null no
profiles[].routing_filters[].action string no allow, deny
profiles[].routing_filters[].kind string yes Chat
profiles[].routing_filters[].model null|string no
profiles[].routing_filters[].protocol null|string no OpenaiChatCompletions, OpenaiResponses, AnthropicMessages, GeminiGenerateContent
profiles[].services[] string no
profiles[].vars[].default null|string no
profiles[].vars[].description null|string no
profiles[].vars[].required boolean no false
profiles[].vars[].type string no string, integer, number, boolean
schema_version integer yes 2
services[].capabilities.compaction.encoding null|string no
services[].capabilities.compaction.transport null|string no local, remote
services[].capabilities.custom_tools boolean no false
services[].capabilities.max_output_tokens.field string yes max_tokens, max_completion_tokens
services[].capabilities.mid_conversation_system boolean no false
services[].capabilities.namespace_tools boolean no false
services[].capabilities.stop boolean no true
services[].capabilities.thinking.adaptive.request.additional_fields[].json any yes
services[].capabilities.thinking.adaptive.request.additional_fields[].value string yes
services[].capabilities.thinking.adaptive.request.additional_headers[].json any yes
services[].capabilities.thinking.adaptive.request.additional_headers[].value string yes
services[].capabilities.thinking.adaptive.request.body_template null|string no null
services[].capabilities.thinking.adaptive.request.delay integer|null no
services[].capabilities.thinking.disabled.request.additional_fields[].json any yes
services[].capabilities.thinking.disabled.request.additional_fields[].value string yes
services[].capabilities.thinking.disabled.request.additional_headers[].json any yes
services[].capabilities.thinking.disabled.request.additional_headers[].value string yes
services[].capabilities.thinking.disabled.request.body_template null|string no null
services[].capabilities.thinking.disabled.request.delay integer|null no
services[].capabilities.thinking.enabled.effort_to_budget.high integer no
services[].capabilities.thinking.enabled.effort_to_budget.low integer no
services[].capabilities.thinking.enabled.effort_to_budget.max integer no
services[].capabilities.thinking.enabled.effort_to_budget.medium integer no
services[].capabilities.thinking.enabled.effort_to_budget.minimal integer no
services[].capabilities.thinking.enabled.effort_to_budget.xhigh integer no
services[].capabilities.thinking.enabled.effort_to_value.high string no
services[].capabilities.thinking.enabled.effort_to_value.low string no
services[].capabilities.thinking.enabled.effort_to_value.max string no
services[].capabilities.thinking.enabled.effort_to_value.medium string no
services[].capabilities.thinking.enabled.effort_to_value.minimal string no
services[].capabilities.thinking.enabled.effort_to_value.xhigh string no
services[].capabilities.thinking.enabled.request.additional_fields[].json any yes
services[].capabilities.thinking.enabled.request.additional_fields[].value string yes
services[].capabilities.thinking.enabled.request.additional_headers[].json any yes
services[].capabilities.thinking.enabled.request.additional_headers[].value string yes
services[].capabilities.thinking.enabled.request.body_template null|string no null
services[].capabilities.thinking.enabled.request.delay integer|null no
services[].capabilities.thinking.encoding string no plain
services[].enabled boolean no true
services[].endpoint.json any yes
services[].endpoint.value string yes
services[].execution.idle_timeout_seconds integer|null no
services[].execution.max_attempts integer|null no
services[].execution.timeout_seconds integer|null no
services[].kind string yes Chat
services[].name string yes
services[].path.json any yes
services[].path.value string yes
services[].priority integer no 0
services[].protocol string yes OpenaiChatCompletions, OpenaiResponses, AnthropicMessages, GeminiGenerateContent
services[].request.additional_fields[].json any yes
services[].request.additional_fields[].value string yes
services[].request.additional_headers[].json any yes
services[].request.additional_headers[].value string yes
services[].request.body_template null|string no null
services[].request.delay integer|null no
services[].response.reasoning_fields.content null|string no
services[].response.reasoning_fields.encrypted_content null|string no
services[].response.reasoning_fields.signature null|string no
services[].response.reasoning_fields.summary null|string no
services[].response.selector null|string no null
version string yes
版本: 31bf27f69920354164f5444f75767b2fe6d39f19