跳到主要内容

📝 Prompts 提示词

可重用的斜杠命令,将复杂的指令转化为一键表单。

提示词(Prompts)允许您将常用的指令保存为斜杠命令。在任何聊天中输入 /summarize(总结),即可立即触发完整的提示词。添加自定义输入变量,用户在发送提示词之前会看到一个包含下拉菜单、日期选择器和文本输入框的弹窗表单。任何人都不需要死记硬背具体的措辞或文本结构。

每次保存修改都支持全量版本历史追踪。您可以回滚到先前的版本、横向比对差异,并通过访问控制将提示词共享给您的团队。


为什么选择 Prompts?

告别重复输入相同指令

只需保存一次提示词,便能通过 /command 快捷使用。缺陷报告模板、会议纪要、代码审查、内容大纲:任何您输入超过两次的内容,都应该变成一个 Prompts 提示词。

将提示词转化为交互式表单

添加类型化的输入变量(下拉菜单、日期选择器、数字字段、复选框等),用户即可获得一个干净的表单,而不是直接去修改粗糙的原始文本。非技术背景的用户也能运行非常复杂的提示词,而无需理解其底层的特殊语法。

带有回滚功能的版本历史

每一次修改都会自动创建一个新版本。并排(side-by-side)比对版本差异、将旧版本回滚发布到生产环境、并追踪是谁做出了哪些改动。

受控的共享机制

支持将提示词共享给特定的用户或用户组。公开的提示词会出现在每个人的 / 键入建议中。私有的提示词则只保留在您个人的工作区中。


核心功能

斜杠命令输入 /command 即可快速插入完整的提示词
📋 输入变量表单类型化字段(文本、下拉菜单、日期、数字、复选框等)自动生成弹窗表单
🕑 版本历史包含 Commit 提交信息、版本回滚和生产版本绑定的完整变更追踪
🔄 系统变量在运行时自动替换 {{CURRENT_DATE}}{{USER_NAME}}{{CLIPBOARD}}
🔒 访问控制共享给特定用户、用户组,或面向全员公开
🔀 启用/禁用开关无需删除即可直接停用提示词
🏷️ 标签分类组织并过滤筛选您的提示词库

创建提示词

导航至 Workspace > Prompts 并点击 + New Prompt(新建提示词)。

字段描述
Name用于识别提示词的描述性标题
Tags进行分类以方便过滤筛选
Access控制谁可以查看和使用此提示词
Command斜杠命令触发器(例如 /summarize
Prompt Content发送给模型的实际文本,包含变量占位符
Commit Message可选的修改说明,用于版本追踪

使用清晰的变量名称(使用 {{your_name}} 而非 {{var1}}),添加描述性的 placeholder 占位文本,在合理的情况下提供 default 默认值,并只将真正必要的字段标记为 :required(必填)。公开的提示词会出现在所有用户的 / 键入建议中,因此在公开时请有所甄选。使用启用/禁用开关来暂时搁置您当前不活跃使用的提示词。


变量

系统变量

在运行时,系统变量会自动替换为当前时刻的对应值:

变量描述
{{CLIPBOARD}}来自您剪贴板的内容(需授予剪贴板读取权限)
{{CURRENT_DATE}}当前日期
{{CURRENT_DATETIME}}当前日期和时间
{{CURRENT_TIME}}当前时间
{{CURRENT_TIMEZONE}}当前时区
{{CURRENT_WEEKDAY}}当前星期
{{USER_NAME}}您的显示名称
{{USER_EMAIL}}您的电子邮箱地址
{{USER_BIO}}来自“设置 > 账户 > 用户资料”中的个人简介(若未设置则不替换)
{{USER_GENDER}}来自“设置 > 账户 > 用户资料”中的性别(若未设置则不替换)
{{USER_BIRTH_DATE}}来自“设置 > 账户 > 用户资料”中的生日(若未设置则不替换)
{{USER_AGE}}根据生日自动计算出的年龄(若未设置则不替换)
{{USER_LANGUAGE}}您在系统里选择的语言
{{USER_LOCATION}}您的地理位置(需要启用 HTTPS + 在“设置 > 界面”中开启开关)
{{USER_GROUPS}}用户所属用户组的逗号分隔列表(若无则为空)。仅在占位符存在时才从数据库中检索。

自定义输入变量

在您的提示词内容中添加变量,用户在运行对应的斜杠命令时,便会看到一个弹窗表单。

简单输入创建一个单行文本输入框:

{{variable_name}}

类型化输入创建配置了特定属性的特定字段类型:

{{variable_name | type:property="value"}}

默认情况下,所有的自定义变量都是可选的(optional)。添加 :required 可以使字段成为必填项:

{{title | text:required}}
{{notes | textarea:placeholder="附加的上下文(可选)"}}

可用的输入类型

类型描述示例
text单行文本(默认){{name | text:placeholder="请输入名字":required}}
textarea多行文本{{description | textarea:required}}
select下拉菜单{{priority | select:options=["High","Medium","Low"]:required}}
number数字输入{{count | number:min=1:max=100:default=5}}
checkbox布尔开关{{include_details | checkbox:label="包含分析"}}
date日期选择器{{start_date | date:required}}
datetime-local日期与时间选择器{{appointment | datetime-local}}
color颜色选择器{{brand_color | color:default="#FFFFFF"}}
email支持格式校验的邮箱输入框{{email | email:required}}
range滑动条(Slider){{rating | range:min=1:max=10}}
tel电话号码{{phone | tel}}
time时间选择器{{meeting_time | time}}
url支持格式校验的 URL 输入框{{website | url:required}}
month月份与年份(仅 Chrome/Edge 支持,Firefox/Safari 中回退为文本框){{billing_month | month}}
map用于获取经纬度坐标的交互式地图(实验性){{location | map}}

消息与提示词修饰符

当对话包含诸如粘贴的超长文档或代码时,这些修饰符对于任务模型提示词(如自动生成标题、生成标签、后续问题推荐等)特别有用。

提示词截断

{{prompt}} 变量支持基于字符数的截断:

修饰符用途
{{prompt:start:N}}保留前 N 个字符
{{prompt:end:N}}保留后 N 个字符
{{prompt:middletruncate:N}}保留前半段 + 后半段,总共 N 个字符

消息选择器(Selectors) vs 管道过滤器(Filters)

{{MESSAGES}} 变量具有两种工作在不同层级的修饰符类型:

消息选择器(冒号 :)控制包含多少条消息

选择器用途示例
START:N包含前 N 条消息{{MESSAGES:START:5}}
END:N包含最后 N 条消息{{MESSAGES:END:5}}
MIDDLETRUNCATE:N包含前 N/2 + 最后 N/2 条消息{{MESSAGES:MIDDLETRUNCATE:6}}

对于包含 20 条消息的对话,{{MESSAGES:MIDDLETRUNCATE:6}} 将保留消息 1-3 以及 18-20,跳过中间的 14 条消息。

管道过滤器(管道符 |)用于将单条消息的内容截断到指定的字符数上限:

过滤器用途示例
|start:N保留每条消息的前 N 个字符\{\{MESSAGES|start:300\}\}
|end:N保留每条消息的后 N 个字符\{\{MESSAGES|end:300\}\}
|middletruncate:N保留每条消息的前半段 + 后半段\{\{MESSAGES|middletruncate:500\}\}

结合使用两者,可以精准控制哪些消息被包含进来,以及每条消息的最大字符长度:

语法用途
\{\{MESSAGES:END:2|middletruncate:500\}\}仅包含最后 2 条消息,且每条消息上限 500 字符
\{\{MESSAGES:START:5|start:200\}\}仅包含前 5 条消息,且每条消息上限 200 字符
\{\{MESSAGES:MIDDLETRUNCATE:10|middletruncate:50\}\}包含前 5 条 + 后 5 条消息,且每条消息上限 50 字符
消息选择器计数的是消息数量,而非字符数

{{MESSAGES:MIDDLETRUNCATE:500}} 会选出 500 条消息。要限制每条消息的字符数,请使用管道过滤器:\{\{MESSAGES\|middletruncate:500\}\}。如果不配置管道过滤器,单次粘贴的长文档便可能会直接挤爆整个上下文窗口。


版本历史

每次保存都会自动生成一个新版本。在编辑提示词时,History 侧边栏会显示所有版本,包含 Commit 提交信息、作者、时间戳,以及标记在当前活跃生产版本上的 “Live” 徽章。

点击任何版本均可进行预览。点击 Set as Production(设为生产版本)可将旧版本恢复为当前活跃生效的版本。可以通过菜单删除旧版本(当前生产活跃的 "Live" 版本不可删除)。

历史数据迁移

在版本更新前创建的旧 Prompts 提示词已自动完成迁移,它们的内容作为初始的 “Live” 版本得以妥善保存。URL 结构从原来的基于 Command 命令改变为了基于全局唯一 ID,因此您已有的浏览器书签可能需要进行更新。从 v0.5.0 版本开始,所有的自定义输入变量默认都是可选的。


示例

缺陷报告生成器 (/bug_report)

一个包含必填摘要、优先级下拉菜单、复现步骤,以及可选上下文与临时规避方案的结构化表单:

Generate a bug report with the following details:

**Summary:** {{summary | text:placeholder="A brief summary of the issue":required}}
**Priority:** {{priority | select:options=["Critical","High","Medium","Low"]:default="Medium":required}}
**Steps to Reproduce:**
{{steps | textarea:placeholder="1. Go to...\n2. Click on...\n3. See error...":required}}

**Additional Context:** {{additional_context | textarea:placeholder="Browser version, OS, screenshots, etc."}}
**Workaround:** {{workaround | textarea:placeholder="Any temporary solutions found"}}

Please format this into a clear and complete bug report document.

会议纪要 (/meeting_minutes)

包含日期与时间选择器、必填的参会人与议程,以及可选的关键决策与待办事项:

# Meeting Minutes

**Date:** {{meeting_date | date:required}}
**Time:** {{meeting_time | time:required}}
**Title:** {{title | text:placeholder="e.g., Weekly Team Sync":required}}
**Attendees:** {{attendees | text:placeholder="Comma-separated list of names":required}}

## Agenda / Key Discussion Points
{{agenda_items | textarea:placeholder="Paste the agenda or list the key topics discussed.":required}}

## Decisions Made
{{decisions | textarea:placeholder="Key decisions and outcomes"}}

## Action Items
{{action_items | textarea:placeholder="Action item, assignee, and deadline for each."}}

## Next Meeting
**Date:** {{next_meeting | date}}
**Topics:** {{next_topics | text:placeholder="Items to discuss next time"}}

Please format this into a clean and professional meeting summary.

标题生成(任务模型模板)

配合消息选择器 + 管道过滤器,以保持紧凑的上下文占用:

Chat history:
<chat_history>
{{MESSAGES:END:2|middletruncate:500}}
</chat_history>

Generate a short title for this conversation.

上述指令仅发送最后 2 条聊天消息,且每条消息的上限仅为 500 字符。


局限性

斜杠命令命名空间

公开的提示词会出现在所有用户的 / 建议中。如果存在过多的公开提示词,会导致建议菜单非常杂乱。使用启用/禁用开关可以把不活跃的提示词排除在建议列表之外。

默认可选

除非显式指定了 :required,否则所有的自定义输入变量默认都是可选的。如果您的提示词高度依赖某个字段,请务必显式标记上 :required

This content is for informational purposes only and does not constitute a warranty, guarantee, or contractual commitment. Open WebUI is provided "as is." See your license for applicable terms.