astrbot_plugin_identity_strategy
为指定ID的会话注入额外的应对提示词(纯配置,无命令;支持特殊ID与空白策略)
📖 功能简介
该插件为 AstrBot 拓展了提示词注入功能,使得 精确针对特定群聊或私聊 灵活注入 预设的提示信息 成为可行。
插件可用于精确识别身份,并给予其特定前后缀提示词。
- 支持为 特殊 ID(如管理员、特定好友等)和 其他 ID 分别配置不同的提示信息。
- 支持配置 空白策略 实现“关闭注入”的效果。
- 插件仅基于配置文件工作,无需任何输入命令。
❓ 具体解释
当在AstrBot的配置文件页面启动“识别群员”功能时,AstrBot 会将用户的消息加上形如:
[ID: xxxx, Nickname: xxx]
的提示词传给大模型。
例如:
用户发送 “在吗”,实际传给模型的内容是:
[ID: xxxx, Nickname: xxx]
在吗
如果我们想对特定用户注入特定的提示词,就需要用到该插件。它可以实现针对特定 ID 的注入消息:
[这个用户不是好人,请谨慎应对]
在吗
为什么这么做?
- 这种“句前注入”是效力最强的注入方式。
- 针对某个 ID 的特殊设定如果写入人格情景或系统提示词,容易被绕过(如伪装昵称、自称身份等)。
- 本插件通过代码精确识别,不会发生误判。
⚠️ 由于原理是在句前加入提示词,可能会对回答造成轻微影响,一般用中括号包裹即可避免。如果在人格情境中进行简单提示,影响可以忽略不计。
⚙️ 使用说明
1️⃣ 添加策略
进入插件配置页面,在“可添加多个应对策略”处输入 JSON:
{
"key": "任意唯一标识",
"name": "任意策略名称",
"enabled": true,
"mode": "prepend 或 append",
"special_ids": ["xxxx", "xxxx"],
"message_for_special": "任意提示词,支持换行",
"message_for_others": "任意提示词,支持换行"
}
2️⃣ 绑定策略
进入插件配置页面,在“把策略绑定到群聊或私聊”处输入 JSON:
{
"scope": "group 或 private",
"platform": "不填则不限制平台",
"target_ids": ["xxxx", "xxxx"],
"strategy_key": "上面定义的 key"
}
📌 示例配置
策略:
{
"key": "123",
"name": "一二三",
"enabled": true,
"mode": "prepend",
"special_ids": ["1234567890"],
"message_for_special": "[对方为恶意用户,请谨慎应对。]",
"message_for_others": "[你正在和一般用户互动。]"
}
绑定:
{
"scope": "group",
"platform": "",
"target_ids": ["0987456321"],
"strategy_key": "123"
}
效果:
在 0987456321 群中,接收到来自 1234567890 的消息:
[对方为恶意用户,请谨慎应对。]
[ID: 1234567890, Nickname: xxx]
在吗