Crie uma linha de base de modelo do Forward para sessões futuras.
Cabeçalhos da requisição
|
Cabeçalho |
Obrigatório |
Descrição |
|
|
Sim |
|
|
|
Sim |
|
|
|
Não |
Chave de idempotência opcional para requisições que alteram estado. |
Corpo da requisição
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
|
|
|
string |
Sim |
Nome do modelo. Deve ter entre 1 e 256 caracteres e ser único na conta. |
|
|
|
string |
Sim |
Identificador do modelo, como |
|
|
|
string |
Sim |
Ambiente padrão aplicado às sessões criadas a partir deste modelo. |
|
|
|
string |
Não |
Descrição do modelo. Até 2.048 caracteres. |
|
|
|
string |
Não |
Prompt do sistema. Até 100.000 caracteres. |
|
|
|
array |
Não |
Configurações de ferramentas. Até 128 itens. |
|
|
|
array |
Não |
Configurações de servidores MCP. Até 20 itens. |
|
|
|
array |
Não |
Vinculações de habilidades. Até 20 itens. |
|
|
|
object |
Não |
Configuração de Managed Agents. |
|
|
|
array |
Não |
IDs de vault padrão aplicados às sessões. |
|
|
|
object |
Não |
Recursos de arquivo padrão, indexados por ID de arquivo. |
|
|
|
object |
string |
Não |
Variáveis de ambiente padrão para as sessões. |
|
|
object |
Não |
Metadados personalizados. |
Objetos de configuração aninhados
Arquivos
files é um mapa indexado por ID de arquivo. Não inclua file_id, id ou resource_id em cada entrada. O Forward injeta o mount_path automaticamente ao iniciar uma sessão.
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
boolean |
Não |
A omissão do campo equivale a |
Itens de tools[]
Cada entrada em tools seleciona uma estrutura com base no type.
|
Campo |
Tipo |
Aplica-se a |
Descrição |
|
|
string |
Todos |
Obrigatório. Um entre |
|
|
array |
|
Lista de permissões simplificada. Um array não vazio ativa apenas as ferramentas integradas listadas. |
|
|
array |
|
Lista de bloqueios simplificada. Compilada nas configurações de ferramentas desativadas. |
|
|
array |
|
Estado de ativação e política de permissão por ferramenta. |
|
|
string |
|
Obrigatório. Deve corresponder a um dos valores de |
|
|
string |
|
Obrigatório. Nome da ferramenta personalizada; não deve entrar em conflito com o nome de uma ferramenta integrada. |
|
|
string |
|
Obrigatório. Descrição legível da ferramenta personalizada. |
|
|
object |
|
JSON Schema obrigatório. |
Os nomes das ferramentas integradas incluem Bash, Read, Write, Edit, Glob, Grep, WebFetch, WebSearch e DeliverArtifacts.
Configuração de ferramenta
Cada entrada em tools[].configs utiliza a seguinte estrutura.
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
string |
Sim |
Nome da ferramenta. Use o nome da ferramenta integrada para um conjunto de ferramentas integrado ou o nome da ferramenta MCP para um conjunto de ferramentas MCP. |
|
|
boolean |
Não |
|
|
|
object |
Não |
Comportamento de permissão em tempo de execução. |
Política de permissão
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
string |
Sim |
Um entre |
Servidores MCP
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
string |
Não |
Atualmente, apenas |
|
|
string |
Sim |
Nome do servidor MCP, único no modelo. Referenciado por |
|
|
string |
Sim |
URL do endpoint MCP HTTP com suporte a streaming. |
Itens de skills[]
|
Campo |
Tipo |
Obrigatório |
Descrição |
|
|
string |
Sim |
Pode ser |
|
|
string |
Sim |
ID da habilidade. |
|
|
string |
Não |
Versão da habilidade. Se omitida, assume a versão mais recente. |
|
|
boolean |
Não |
A omissão do campo equivale a |
Exemplo de requisição
curl -s -X POST 'https://api.qoder.com.cn/api/v1/forward/templates' \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"name": "Support assistant",
"description": "Handles pre-sales and after-sales support",
"model": "ultimate",
"system": "You are a helpful support assistant.",
"tools": [
{
"type": "agent_toolset_20260401",
"configs": [
{ "name": "Read", "enabled": true },
{ "name": "Grep", "enabled": true },
{ "name": "WebSearch", "enabled": true }
]
}
],
"mcp_servers": [],
"skills": [
{
"type": "custom",
"skill_id": "skill_customer_reply",
"version": "1",
"enabled": true
}
],
"environment_id": "env_support",
"vault_ids": ["vault_crm"],
"files": {
"file_019eXXXX": { "enabled": true }
},
"environment_variables": {
"BASE_MODE": "support"
},
"metadata": {}
}'
Exemplo de resposta
HTTP 201 Created
{
"type": "template",
"id": "tmpl_support",
"name": "Support assistant",
"description": "Handles pre-sales and after-sales support",
"status": "active",
"model": "ultimate",
"system": "You are a helpful support assistant.",
"tools": [
{
"type": "agent_toolset_20260401",
"configs": [
{ "name": "Read", "enabled": true },
{ "name": "Grep", "enabled": true },
{ "name": "WebSearch", "enabled": true }
]
}
],
"mcp_servers": [],
"skills": [
{
"type": "custom",
"skill_id": "skill_customer_reply",
"version": "1",
"enabled": true
}
],
"multiagent": null,
"environment_id": "env_support",
"vault_ids": ["vault_crm"],
"files": {
"file_019eXXXX": { "enabled": true }
},
"environment_variables": {
"BASE_MODE": "support"
},
"metadata": {},
"created_at": "2026-06-18T10:00:00Z",
"updated_at": "2026-06-18T10:00:00Z"
}
Campos da resposta
|
Campo |
Tipo |
Descrição |
|
|
string |
Sempre |
|
|
string |
ID do modelo. |
|
|
string |
|
|
|
string |
ID do ambiente padrão aplicado às sessões. |
|
|
array |
IDs de vault padrão. |
|
|
object |
Configuração de recursos de arquivo padrão, indexada por ID de arquivo. |
|
|
string |
Timestamp de criação. |
|
|
string |
Timestamp da última atualização. |
Erros
|
HTTP |
Tipo |
Gatilho |
|
400 |
|
Corpo da requisição ou valor de campo inválido. |
|
401 |
|
PAT inválido ou expirado. |
|
404 |
|
Ambiente, habilidade, vault ou arquivo referenciado inexistente. |
|
409 |
|
Já existe um modelo com o mesmo nome. |
Observações
Não envie um ID de modelo na requisição de criação. O Forward gera o
idautomaticamente.filesé indexado por ID de arquivo. Não incluafile_id,idouresource_idem cada entrada.O Forward injeta os caminhos de montagem de arquivos automaticamente ao iniciar uma sessão.