---
summary: "共享操作员管理的指令,无需重写代理工作区文件"
read_when:
- "维护选定代理的共享指令"
- "配置代理指导插件"
title: "代理指导"
---
# 代理指导
座席指导在选定的座席之间共享说明文件。 OpenClaw 将其文本直接添加到发送到模型的提示中,在其正常指令之前或之后。该插件不会编辑 `AGENTS.md`、`SOUL.md` 或其他工作区文件。每个代理都有自己的指令、个性和记忆。
## 何时使用它
| 你需要什么 | 用途 |
| ---------------------------------------------------------------- | ------------------------------------------------------------------------- |
| 一名智能体的说明 | 该代理的工作空间 `AGENTS.md` |
| 工作区中其他已识别的上下文文件 | [bootstrap-extra-files 钩子](/automation/hooks#bootstrap-extra-files) |
| 为多个代理单独维护的一组指令 | 代理指导 |
| 依赖于自定义运行时逻辑的指令 | 使用 [prompt hooks](/plugins/hooks/prompt-and-session) 的插件 |
如果没有此插件,您可以将共享指令复制到每个代理的工作区文件中并保持副本同步,或者使用现有的 `before_prompt_build` 挂钩编写插件。 Agent Guidance 打包了共享文件方法,因此您无需编写代码即可对其进行配置。它没有添加新的插件 SDK 挂钩。
## 示例:两个代理,一个共享文件
假设 `main` 回答日常问题,而 `research` 深入研究主题。两者都应该引用来源,但每个人都应该保持自己的工作风格。
| | 前 | 有代理指导 |
| -------------------- | --------------------------------------------------------------- | ------------------------------------------------ |
| `main` 工作区 | 它自己的说明加上引文指南的副本 | 它自己的指令 |
| `research` 工作区 | 它自己的说明加上引文指南的另一份副本 | 它自己的指令 |
| 共享指导 | 当指南发生变化时更新两个副本 | 编辑一个`instructions.md`并重新加载插件 |
下面的配置将相同的共享文本添加到两个代理的提示中。未在 `agents` 中列出的代理不会收到任何信息。现有工作区文件保持不变;迁移时自行删除任何旧的重复指南。
## 配置
该插件默认处于禁用状态。在代理可写工作区之外创建一个操作员控制的目录,使用文件系统权限保护其文件和祖先目录,然后将一个条目添加到您的配置中:
```json
{
"plugins": {
"entries": {
"agent-guidance": {
"enabled": true,
"hooks": {
"allowConversationAccess": true,
"allowPromptInjection": true
},
"config": {
"directory": "/srv/agent-guidance",
"agents": ["main", "research"],
"append": ["instructions.md"]
}
}
}
}
}
```
如果您使用 `plugins.allow`,还应将 `agent-guidance` 包含在该列表中。在 Windows 上,使用绝对 Windows 目录。本机 `before_prompt_build` 挂钩需要上述两种权限,尽管此插件会忽略事件内容。
示例 `instructions.md`:
```text
Cite sources when doing research.
Distinguish observations from assumptions.
```
`agents` 包含准确、区分大小写的代理 ID,而不是发件人身份。使用您现有的代理 ID;此配置不会创建代理。未选择的代理和没有代理 ID 的挂钩不会收到任何贡献。指令被发送到配置的模型:永远不要在其中放入秘密。
## 文件和放置
- `directory`:必需的绝对路径。没有环境扩展或工作区默认值。
- `agents`:1 到 64 个不同的显式代理 ID。
- `prepend`:通过 `prependSystemContext` 放置在正常系统提示符之前的有序相对文件名。
- `append`:通过`appendSystemContext`放置在正常系统提示符之后的有序相对文件名。
放置控制文本顺序,而不是工具权限或保证的指令优先级。除非您需要前缀,否则请像示例中那样使用 `append`。
在两个位置配置 1 到 8 个文件。每个必须是非空 UTF-8 常规文件,最多 16 个 KiB;合并贡献仅限于 64 KiB,包括每个布局中文件之间的两个换行符。过大的内容会被拒绝,而不是被截断。该模型的上下文限制仍然适用。
文件名使用正斜杠、字母、数字、点、下划线和连字符。遍历、重复名称、symbolic/hard 链接、链接祖先目录、非常规文件、格式错误的 UTF-8 和 NUL 均被拒绝。这些检查不会取代操作员管理的权限,也不是文件系统沙箱。
## 更新并禁用
文件在插件注册时读取一次。单独编辑文件不会更改活动快照。编辑完成后,使用native reload或者重启:
```sh
openclaw plugins reload agent-guidance
```
可以更新单独安装的指令文件,而无需重建插件或映像。烘焙到不可变图像中的指令仍然需要新图像。没有文件观察器、每轮读取或远程配置获取。
使用 `openclaw plugins disable agent-guidance` 禁用未来贡献;使用 `openclaw plugins enable agent-guidance` 重新启用。之前提交的提示无法撤回。现有对话可以在重新加载后看到新指令:此插件不会将指令版本固定到会话。当需要稳定的会话提示时,请在更新之前耗尽现有会话。
## 故障行为
文件加载错误导致整个贡献无法注册。诊断功能可识别文件的配置位置,而无需打印路径或内容。 OpenClaw 可以在没有失败插件的情况下继续:指导是 **,不是失败关闭的策略门**、工具授权或模型服从的保证。
重新加载失败并不能保证之前的指令保持活动状态。本机恢复恢复插件 code/configuration,而不是外部指令字节。将已知良好的副本置于操作员控制之下。错误编辑后,恢复有效文件,重新加载并验证插件,然后再恢复相关工作。
请参阅 [ 管理插件](/plugins/manage-plugins) 和 [ 插件架构](/plugins/architecture) 了解本机权限和生命周期。