跳到主要内容

AiCreateProfileInput

Input for creating a new profile — the same shape as Profile without the engine-generated fields (id, createdAt).

NameTypeDescriptionNotes
nameStringUser-defined profile display name.[required] [example: OpenAI GPT-4o]
providerTypeAiProviderTypeProvider type for this profile. Use external to delegate all HTTP transport to PlatformAdapter.externalFetch while reusing an existing provider's response parser — see Profile.basedOn for the format selector.[required] [example: openai]
basedOnAiBuiltinProviderTypeSelects the response-format parser used by the external provider. Ignored for any other providerType. Supported values are openai, anthropic, mistral and openrouter. Remaining values (genai, stabilityai, …) are accepted by the type but not yet implemented; passing one raises an error at request time.[optional] [example: openai] [enum: anthropic, ollama, openai, openaicompatible, together, openrouter, genai, deepseek, xai, lm-studio, mistral, groq, zhipu, stabilityai, gpt4all, onlyoffice, external]
baseUrlStringBase URL of the provider API.[required] [example: https://api.openai.com/v1]
keyStringAPI key or token. Optional for local providers.[optional] [example: sk-your-provider-api-key]
headersMapExtra HTTP headers sent with every request to this provider. Merged into the SDK client's default headers; an explicit Authorization here wins over the one derived from key. Honoured by the OpenAI-family providers.[optional] [example: {X-Organization=acme}]
modelIdStringSelected model ID within this provider.[required] [example: gpt-4o]
reasoningBooleanWhether extended thinking is enabled for this profile's model.[optional] [example: false]
reasoningSupportAiReasoningSupportExtended-thinking capabilities of the selected model as reported by the provider's catalogue at save time (see Model.reasoningSupport). When present the composer's Effort row follows it exactly; when absent the provider's id-based table answers. Hosts persist it with the rest of the profile.[optional]
capabilitiesBigDecimalBitmask of capabilities supported by the selected model.[optional] [example: 7]
canUseToolBooleanResult of the live tool-capability probe performed at create time and on changes to modelId / providerType / baseUrl. undefined means the probe has never run for this profile (legacy record).[optional] [example: true]
useResponsesApiBooleanResult of the live Responses-API probe (parallel to canUseTool). true means the model speaks /v1/responses and the OpenAI provider must route through client.responses.create — required for gpt-5+ reasoning models that reject reasoning_effort together with tools on /v1/chat/completions. Probed at create time and whenever modelId / providerType / baseUrl change. undefined means the probe never ran (legacy record) — readers treat that as false.[optional] [example: false]
isCloudProviderBooleanWhether this profile uses a cloud-hosted provider (e.g. ONLYOFFICE DocSpace).[optional] [example: true]
useProxyBooleanRoute every provider request through the host's fetchProxy instead of the global fetch. Useful when the host runs the widget in a sandbox without direct network access (CORS, custom auth, etc.). Has no effect when the PlatformAdapter.fetchProxy is not configured.[optional] [example: false]