创建 Forward Template 基线。
请求头
|
Header |
是否必填 |
说明 |
|
Authorization |
是 |
|
|
Content-Type |
是 |
|
|
Idempotency-Key |
否 |
有副作用请求可选的幂等键。 |
请求体参数
|
参数 |
类型 |
是否必填 |
说明 |
|
|
string |
是 |
Template 名称,1-256 个字符,租户内唯一。 |
|
|
string | object |
是 |
模型标识。可传 string(如 |
|
|
string |
是 |
创建 Session 时默认使用的 Environment ID。 |
|
|
string |
否 |
Template 描述,最多 2048 个字符。 |
|
|
string |
否 |
System Prompt,最多 100,000 个字符。 |
|
|
array |
否 |
工具配置列表,最多 128 项。 |
|
|
array |
否 |
MCP Server 配置列表,最多 20 项。 |
|
|
array |
否 |
Skill 绑定列表,最多 20 项。 |
|
|
object |
否 |
Managed Agents 配置。 |
|
|
object |
否 |
默认 Vault 配置,按 Vault ID 组织。 |
|
|
object |
否 |
默认文件资源配置,按 file ID 组织。 |
|
|
object|string |
否 |
默认 Session 环境变量。 |
|
|
object |
否 |
自定义元数据。 |
嵌套配置对象
Model
model 支持两种等价形态:直接传模型 ID 字符串,或传包含模型 ID 和可选调优字段的对象。
|
字段 |
类型 |
是否必填 |
说明 |
|
|
string |
是 |
模型标识;可通过列出模型接口查询可用值。 |
|
|
string |
否 |
Reasoning effort 等级。可选值: |
|
|
integer |
否 |
期望的上下文窗口(token 数,正整数);取值请从列出模型返回的 |
Vaults
vaults 是按 Vault ID 组织的 map。每个配置项支持可选的 enabled boolean;省略等同于 true。配置项内无需重复填写 vault_id、id 或 resource_id。
{
"vaults": {
"vault_019f18f2761b": {
"enabled": true
}
}
}
响应统一返回对象形态的 vaults。
文件资源
files 是按 File ID 组织的 map。在会话时会将file挂载在环境的/data/workspace/<文件名>路径下。
|
字段 |
类型 |
是否必填 |
说明 |
|
|
boolean |
否 |
省略等同于 |
tools 数组项
每个 tools[] 项通过 type 选择结构。
|
字段 |
类型 |
适用类型 |
说明 |
|
|
string |
全部 |
必填。取值为 |
|
|
array |
|
便捷白名单;非空数组表示只启用这些内置工具。 |
|
|
array |
|
便捷禁用列表;编译为 disabled tool config。 |
|
|
array |
|
单工具启用状态和权限策略。 |
|
|
string |
|
必填,必须匹配某个 |
|
|
string |
|
必填,自定义工具名,不能与内置工具重名。 |
|
|
string |
|
必填,自定义工具描述。 |
|
|
object |
|
必填 JSON Schema, |
内置工具名包括 Bash、Read、Write、Edit、Glob、Grep、WebFetch、WebSearch、DeliverArtifacts。
Tool config
tools[].configs[] 使用以下结构。
|
字段 |
类型 |
是否必填 |
说明 |
|
|
string |
是 |
工具名;内置工具使用 built-in tool name,MCP toolset 使用 MCP tool name。 |
|
|
boolean |
否 |
|
|
|
object |
否 |
运行时权限行为。 |
Permission policy
|
字段 |
类型 |
是否必填 |
说明 |
|
|
string |
是 |
|
MCP servers
|
字段 |
类型 |
是否必填 |
说明 |
|
|
string |
否 |
当前只支持 |
|
|
string |
是 |
Template 内唯一的 MCP server 名称,由 |
|
|
string |
是 |
Streamable HTTP MCP endpoint URL。 |
skills 数组项
|
字段 |
类型 |
是否必填 |
说明 |
|
|
string |
是 |
|
|
|
string |
是 |
Skill ID。 |
|
|
string |
否 |
Skill 版本,省略时使用最新版本。 |
|
|
boolean |
否 |
省略等同于 |
示例请求
curl -s -X POST 'https://api.qoder.com/api/v1/forward/templates' \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"name": "Support assistant",
"description": "Handles customer support requests",
"model": {
"id": "ultimate",
"effort": "high",
"context_window": 400000
},
"system": "You are a helpful support assistant.",
"tools": [],
"mcp_servers": [],
"skills": [],
"environment_id": "env_xxx",
"vaults": {
"vault_019f18f2761b": {
"enabled": true
}
},
"files": {},
"environment_variables": {
"BASE_MODE": "support"
},
"metadata": {}
}'
示例响应
HTTP 200 OK
{
"type": "template",
"id": "tmpl_support",
"name": "Support assistant",
"description": "Handles customer support requests",
"status": "active",
"model": {
"id": "ultimate",
"effort": "high",
"context_window": 400000
},
"system": "You are a helpful support assistant.",
"tools": [],
"mcp_servers": [],
"skills": [],
"environment_id": "env_xxx",
"vaults": {
"vault_019f18f2761b": {
"enabled": true
}
},
"files": {},
"environment_variables": {
"BASE_MODE": "support"
},
"metadata": {},
"created_at": "2026-06-18T10:00:00Z",
"updated_at": "2026-06-18T10:00:00Z"
}
响应字段
|
字段 |
类型 |
说明 |
|
|
string |
固定为 |
|
|
string |
Template ID。 |
|
|
string |
|
|
|
string |
默认 Environment ID。 |
|
|
string | object |
与请求提交的形态一致;对象形态保留 |
|
|
object |
默认 Vault 配置,按 Vault ID 组织。 |
|
|
object |
默认文件资源配置。 |
错误
|
HTTP |
Type |
Code |
触发条件 |
|
400 |
|
- |
请求体或字段取值不合法。 |
|
404 |
|
- |
引用的 Environment、Skill、Vault 或 File 不存在。 |
|
409 |
|
- |
Template 名称已存在。 |
|
401 |
|
|
PAT 无效或已过期。 |
备注
-
创建时不要传
template_id,ID 由 Forward 生成。 -
files使用 file ID 作为 map key,配置项内不要重复写file_id、id或resource_id。 -
Forward 在创建 Session 时自动补充文件挂载路径。