a6-plugin-ai-prompt-template
概览
ai-prompt-template 插件通过预配置提示词模板和 {{variable}} 占位符处理 Chat Completions 请求。客户端只需提交模板名称和变量值,插件就会填充模板并生成完整请求。这样可以强制统一提示词结构,避免客户端发送任意系统提示词。
优先级:1071
该插件在优先级为 1070 的 ai-prompt-decorator 和优先级为 1040 的 ai-proxy 之前运行。
适用场景
- 为所有客户端强制使用统一的提示词结构
- 仅接受指定字段的用户输入并填充模板占位符
- 通过受控的系统消息降低提示词注入风险
- 构建可由客户端按名称选择的提示词模板库
插件配置参考
| 字段 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
templates | array | 是 | 模板对象数组(至少 1 个) |
templates[].name | string | 是 | 模板标识符(最小长度为 1) |
templates[].template | object | 是 | 模板规格 |
templates[].template.model | string | 是 | AI 模型名称 |
templates[].template.messages | array | 是 | 消息对象数组(至少 1 个) |
templates[].template.messages[].role | string | 是 | system, user, 或 assistant |
templates[].template.messages[].content | string | 是 | 使用 {{variable}} 占位符的提示词内容 |
模板变量语法
使用双花括号: {{variable_name}}
变量被客户端请求正文中的匹配键替换。
插件在内部使用body-transformer插件进行替换。
客户端请求格式
客户端没有发送标准messages数组,而是发送:
{
"template_name": "my-template",
"variable1": "value1",
"variable2": "value2"
}
插件按名称查找模板,填写变量, 生成一个完整的聊天完成请求正文。