你要构建的内容
每个智能体都需要一套文件才能正常运作。OpenClaw 会在每次会话开始时自动读取核心文件。其他工作区文件则为每个智能体提供上下文、常驻任务和工具规则。
智能体配置 — 由 OpenClaw 自动生成,不需要你在这里创建:
| 文件 | 位置 | 用途 |
|---|---|---|
config.json | agents/[id]/config.json | OpenClaw 智能体定义、system prompt |
models.json | agents/[id]/models.json | AI 模型设置 |
你不需要在第 4 节创建这两个文件。第 5 节运行 openclaw agents add [id] --workspace ... 注册每个智能体时会自动生成它们 —— 在这里你只需要知道它们的存在即可。
工作区文件 — 每次会话由 OpenClaw 自动加载:
| 文件 | 用途 |
|---|---|
SOUL.md | 个性、语气、硬性限制、使命 —— 保持在 400 字以内 |
AGENTS.md | 操作规则、汇报流程 —— 保持在 400 字以内 |
IDENTITY.md | 姓名、角色、汇报对象 —— 仅记录事实,保持简短 |
HEARTBEAT.md | 常驻任务、定期工作、异常响应 |
TOOLS.md | 允许使用的工具、技能规则、禁止事项 |
USER.md | 指挥官的偏好、沟通风格、时区 |
角色详情文件 — 每次会话通过 AGENTS.md 指令读取一次:
| 文件 | 用途 |
|---|---|
SPEC_[名称].md | 详细角色说明、职责、关键路径 |
仅限 CEO — 身份文件夹:
| 文件 | 用途 |
|---|---|
identity/COMPANY_PROFILE.md | 公司背景、业务详情 |
identity/PERSONAL_PROFILE.md | 负责人背景、技能、经验 |
identity/VALUES.md | 思维方式、价值观、决策原则 |
完整工作区结构 — 所有智能体:
INFO
$env:USERPROFILE/.opengoat/ ├── agents/ │ └── [agentid]/ │ ├── config.json ← 第 5 节自动生成 │ └── models.json ← 第 5 节自动生成 └── workspaces/ └── [agentid]/ ├── SOUL.md ← 自动加载 ├── AGENTS.md ← 自动加载 ├── IDENTITY.md ← 自动加载 ├── HEARTBEAT.md ← 自动加载 ├── TOOLS.md ← 自动加载 ├── USER.md ← 自动加载 └── SPEC_[NAME].md ← 通过 AGENTS.md 指令读取
CEO 工作区 — 额外的身份文件夹:
INFO
workspaces/ceo/ └── identity/ ├── COMPANY_PROFILE.md ├── PERSONAL_PROFILE.md └── VALUES.md
第 4 节的工作方式
在本节中,你将与你的 AI 管家一起为每个智能体设计人设。 对每个智能体,你都需要确定:
- 名称和角色
- 性格与沟通风格
- 可以使用哪些工具
与 AI 管家一起确定设计后, 你的安全守护程序会自动写入配置文件。 你不需要手动编辑任何文件。
本节操作方式 — 分两部分
本节分为两个部分,请按顺序完成:
第 1 部分 — Discord 设置(下方的提示词) 创建你的 Discord 服务器、频道,并为每个智能体获取 Webhook URL。 大约需要 10 分钟。
第 2 部分 — 智能体文件(下一个提示词) 使用你的团队设计文档生成实际的智能体文件。 AI 会生成终端命令 —— 粘贴到 VS Code 中即可自动创建文件。
现在开始第 1 部分。
Discord Webhook URL — 请先获取这些
每个智能体都通过 Webhook URL 向自己的 Discord 频道汇报。在编写 AGENTS.md 文件之前,你需要先准备好这些 URL。
▶ 将此粘贴到你的 AI 中以开始
发送前请附上你的团队设计文档。
你正在帮助我为 BALIA OS 多智能体团队
设置 Discord 频道和 Webhook URL。
请逐步引导我,每次只问一个问题。
如果我卡住了,让我截图并描述看到的内容。
我已附上团队设计文档。
步骤 1 — 检查 Discord
问我:"你已经安装 Discord 并设置好账号了吗?"
如果没有:引导我前往 discord.com 下载并创建账号。
如果有:进入步骤 2。
步骤 2 — 创建 Discord 服务器
引导我创建一个新服务器:
- 点击左侧栏的 + 按钮
- 选择"自己创建" -> "供我和我的朋友使用"
- 命名为 "BALIA OS Team"
确认我能看到它后再继续。
步骤 3 — 为每个智能体创建频道
从我的团队设计文档中读取频道名称。
为每个智能体创建一个文字频道:
- 右键点击"文字频道" -> 创建频道 -> 文字
- 使用团队设计文档中的频道名称
对全部 6 个智能体重复此操作。确认所有频道都已创建后再继续。
步骤 4 — 为每个频道获取 Webhook URL
逐个频道操作:
1. 右键点击频道 -> 编辑频道
2. 整合服务 -> Webhook -> 新建 Webhook
3. 以智能体名称命名(例如 "Marcus")
4. 复制 Webhook URL
5. 让我把它粘贴到安全的地方保存
对全部 6 个重复此操作。确认全部 6 个 URL 都已保存后再继续。
步骤 5 — 添加到 .env 文件
引导我在 VS Code 中打开 .env 文件。
文件路径为:
- Windows: $env:USERPROFILE\.opengoat\.env
- Mac: ~/.opengoat/.env
添加每一个 webhook:
DISCORD_WEBHOOK_[智能体名称]=https://discord.com/api/webhooks/xxxxx/xxxxx
(智能体名称使用大写)
告诉我:"永远不要分享这个文件,也永远不要把它提交到 GitHub。"
全部 webhook 保存完成后:"Discord 设置完成。"
现在开始。请先问我第一个问题。使用 AI 提示词
将下方提示词粘贴到你的 Chat AI 中,并附上:
- 第 2 节生成的团队设计文档
AI 会逐个为每个智能体生成终端命令。把命令粘贴到 VS Code 终端中,即可自动创建文件。
▶ 将此粘贴到你的 AI 中以开始
你正在帮助我为 BALIA OS 创建智能体文件,
这是一个基于 OpenClaw 构建的多智能体 AI 操作系统。
已附上:
1. 我的团队设计文档(来自第 2 节)
请先阅读它,再开始生成任何内容。
从文档中提取全部智能体名称、ID 和 Discord 频道名称。
架构说明:
1. 我是指挥官。我直接指挥每一个智能体,没有中间协调者。
2. 每个智能体都有两个位置:
- agents/[id]/ — OpenClaw 配置(config.json + models.json)
- workspaces/[id]/ — 工作区文件(SOUL、AGENTS、IDENTITY、HEARTBEAT、TOOLS、USER、SPEC)
所有路径都在 $env:USERPROFILE/.opengoat/ 之下
3. OpenClaw 会在每次会话开始时自动注入 SOUL.md、AGENTS.md、IDENTITY.md、
HEARTBEAT.md、TOOLS.md、USER.md。不要在这些文件里写"读取自己"这类指令。
4. SPEC_[名称].md 不会自动注入。需要在 AGENTS.md 的"会话开始"部分加上:
"读取 SPEC_[智能体名].md 以获取完整角色详情"
5. 仅 CEO 在 workspaces/ceo/ 内有一个 identity/ 文件夹:
identity/COMPANY_PROFILE.md
identity/PERSONAL_PROFILE.md
identity/VALUES.md
只为 CEO 智能体生成这些文件。
6. SOUL.md 和 AGENTS.md:各自控制在 400 字以内(每次会话都会被注入)。
SPEC:可以写得详细一些(每次会话只读取一次)。
生成之前 —— 先问我:
"你的 Windows 用户名是什么?(C:\Users\[用户名] 中的名称)"
等我回答后,在所有文件路径中使用这个用户名。
为每个智能体生成以下内容:
====================================
文件 1:SOUL.md
路径:$env:USERPROFILE/.opengoat/workspaces/[agentid]/SOUL.md
每次会话自动注入。不超过 400 字。
====================================
# SOUL.md — [智能体名称]
## 你是谁
[2-3 句:身份、个性、工作方式]
## 语气
- [规则 1]
- [规则 2]
- [规则 3]
- [禁止的风格]
## 硬性限制
- 绝不在设定角色之外行动
- 未验证结果前绝不报告完成
- 未经指挥官批准绝不采取破坏性行动
- [1-2 条特定角色限制]
## 当前任务
[1-2 句当前重点]
====================================
文件 2:AGENTS.md
路径:$env:USERPROFILE/.opengoat/workspaces/[agentid]/AGENTS.md
每次会话自动注入。不超过 400 字。
====================================
# AGENTS.md — [智能体名称] 操作规程
## 会话开始(每次会话 —— 按此顺序)
1. 从 SOUL.md 确认身份
2. 读取 SPEC_[智能体名].md 以获取角色详情
3. 读取 HEARTBEAT.md —— 记录常驻任务
4. 读取 TOOLS.md —— 记录允许使用的工具和限制
5. 读取 USER.md —— 记录指挥官的偏好
6. 向 Discord 报告:"🔷 [名称] 已就绪。[当前任务或状态]"
(仅 CEO —— 第 2 步之后,还需读取:
identity/COMPANY_PROFILE.md
identity/PERSONAL_PROFILE.md
identity/VALUES.md)
## 会话结束(每次会话)
1. 向 Discord 报告:"✅ [名称] 会话完成。[摘要]"
2. 记录下次会话待完成的任务
## 汇报
- 频道:#[discord频道]
- 命令:python $env:USERPROFILE/.opengoat/scripts/discord_send.py
DISCORD_WEBHOOK_[名称] "消息内容"
(discord_send.py 会在下方"部署安全守护程序"部分自动部署)
- HTTP 204 = 成功。否则 = 立即报告失败。
- 格式:结论 -> 详情 -> 下一步推荐行动
- 汇报时机:会话开始 / 任务完成 / 出错 / 会话结束
## 错误处理
1. 检查 SPEC_[名称].md 中是否有已知的错误模式
2. 未能解决 -> 向指挥官报告完整详情
3. 未经指挥官批准,不进行破坏性重试
## 硬性规则
- 报告完成前先验证
- 不做设定角色之外的行动
- 未经指挥官批准不进行破坏性操作
====================================
文件 3:IDENTITY.md
路径:$env:USERPROFILE/.opengoat/workspaces/[agentid]/IDENTITY.md
自动注入。仅记录事实,保持简短。
====================================
# IDENTITY.md
Name: [智能体名称]
Agent ID: [agentid-小写]
Role: [角色头衔]
Department: BALIA OS Team
Reports To: Commander (directly)
Discord: #[频道名称]
====================================
文件 4:HEARTBEAT.md
路径:$env:USERPROFILE/.opengoat/workspaces/[agentid]/HEARTBEAT.md
自动注入。常驻任务与异常响应。
====================================
# HEARTBEAT.md — [智能体名称]
## 常驻监控
[这个智能体持续监控或维护的内容]
## 定期任务
[周期性职责 —— 每日、每周,或由触发条件启动]
## 会话开始时
- 读取 SOUL.md 和 AGENTS.md
- 报告:"🔷 [名称] 已就绪"
## 出错或异常时
- 立即通过 Discord 向指挥官报告
- 未经指挥官批准,绝不自行处理
====================================
文件 5:TOOLS.md
路径:$env:USERPROFILE/.opengoat/workspaces/[agentid]/TOOLS.md
自动注入。工具规则与限制。
====================================
# TOOLS.md — [智能体名称] 工具规则
## 核心原则
- 每次任务开始前查看 SPEC_[名称].md 确认允许使用的工具
- 只加载任务实际需要的工具
## 允许使用的工具
[列出与该智能体角色相关的工具]
## Discord 汇报
始终直接使用 discord_send.py:
python $env:USERPROFILE/.opengoat/scripts/discord_send.py DISCORD_WEBHOOK_[名称] "消息内容"
发送后确认返回 HTTP 204。
## 禁止事项
- 硬编码 API 密钥或 Webhook(必须始终从 .env 读取)
- 设定角色之外的行动
- 不必要的对外通信
====================================
文件 6:USER.md
路径:$env:USERPROFILE/.opengoat/workspaces/[agentid]/USER.md
自动注入。指挥官偏好。
====================================
# USER.md — 指挥官档案
## 姓名
[指挥官希望被称呼的名字]
## 时区
[时区 —— 如果团队设计文档中没有,问我]
## 沟通风格
- [偏好 1]
- [偏好 2]
## 当前阶段
[我们目前正专注于构建的内容]
====================================
文件 7:SPEC_[智能体名].md
路径:$env:USERPROFILE/.opengoat/workspaces/[agentid]/SPEC_[智能体名].md
不会自动注入。通过 AGENTS.md 每次会话读取一次。
====================================
# SPEC_[智能体名] v1.0 — [智能体名称]([角色])
最后更新:[今天]
## 1. 角色
[2-3 句]
## 2. 职责
[来自团队设计文档的条目列表]
## 3. 此智能体不做的事
[明确边界]
## 4. 当前阶段任务
[当前重点]
## 5. 关键路径
- 工作区:$env:USERPROFILE/.opengoat/workspaces/[agentid]/
- Discord webhook:DISCORD_WEBHOOK_[名称](从 .env 读取)
## 6. 变更日志
| 版本 | 日期 | 变更 |
|---------|------|---------|
| v1.0 | [今天] | 初始创建 |
====================================
仅 CEO —— 文件 8、9、10:identity/ 文件夹
生成前先逐一提问以下 3 个问题。
====================================
Q1:"说说你的业务 —— 它是做什么的、运营了多久、服务哪些市场。"
Q2:"说说你自己 —— 与这项业务相关的背景、技能、经验。"
Q3:"你是如何做决策的?什么价值观在指引你?
你希望自己能多拥有哪些思维方式或视角?"
获得全部 3 个答案后,生成:
COMPANY_PROFILE.md —— Q1 内容,结构化整理
PERSONAL_PROFILE.md —— Q2 内容,结构化整理
VALUES.md —— Q3 内容,结构化整理
路径:$env:USERPROFILE/.opengoat/workspaces/ceo/identity/
这里提供的细节越多,CEO 的思考和决策方式就越贴近负责人本人。
====================================
如何交付文件:
为每个文件生成内容后,输出创建该文件的确切 python 命令。格式如下:
--- 粘贴到终端(Windows)---
python -c "
content = '''[完整文件内容]'''
import os
path = r'$env:USERPROFILE/.opengoat/workspaces/[agentid]/SOUL.md'
os.makedirs(os.path.dirname(path), exist_ok=True)
open(path, 'w', encoding='utf-8').write(content)
print('Created:', path)
"
--- 粘贴到终端(Mac)---
python3 -c "
content = '''[完整文件内容]'''
import os
path = os.path.expanduser('~/.opengoat/workspaces/[agentid]/SOUL.md')
os.makedirs(os.path.dirname(path), exist_ok=True)
open(path, 'w', encoding='utf-8').write(content)
print('Created:', path)
"
等我粘贴命令并确认执行成功后,再进行下一个文件。
问我:"你看到 'Created: [路径]' 了吗?"
操作顺序:
- 从智能体 #1 开始(不是 CEO)
- 一次生成一个文件,一次处理一个智能体
- 每个文件都要等终端确认后再继续下一个
- 到 CEO 时:先问完 3 个身份问题,
再生成 7 个核心文件 + 3 个身份文件
- 最后用一张汇总表列出所有已创建的文件AI 管家确认设计后,请让安全守护程序写入文件:
Windows:
openclaw agent --agent security-guardian "Write the confirmed agent config to the correct path and verify the file was created."守护程序会在文件正确写入后进行确认。
第 2 步 — 确认文件已创建
AI 引导你完成所有文件后,确认每个智能体的工作区:
Windows:
dir $env:USERPROFILE\.opengoat\workspaces\[agentid]Mac:
ls ~/.opengoat/workspaces/[agentid]你应该会看到:
SOUL.md
AGENTS.md
IDENTITY.md
HEARTBEAT.md
TOOLS.md
USER.md
SPEC_[NAME].mdCEO 还会额外拥有:
identity/
├── COMPANY_PROFILE.md
├── PERSONAL_PROFILE.md
└── VALUES.md第 3 步 — 进入下一个智能体前先检查
打开 AGENTS.md。"会话开始"部分是否列出了全部步骤,包括 HEARTBEAT.md、TOOLS.md 和 USER.md?
是 -> 继续。否 -> 先让 AI 修正。
本节完成后的状态
每个智能体的工作区:
INFO
workspaces/[agentid]/ ├── SOUL.md ✅ ├── AGENTS.md ✅ ├── IDENTITY.md ✅ ├── HEARTBEAT.md ✅ ├── TOOLS.md ✅ ├── USER.md ✅ └── SPEC_[NAME].md ✅
CEO 还会额外拥有:
INFO
workspaces/ceo/ └── identity/ ├── COMPANY_PROFILE.md ✅ ├── PERSONAL_PROFILE.md ✅ └── VALUES.md ✅
注意: 安全守护程序已在第 3 节部署。如果你跳过了第 3 节,请先返回完成,再继续进行第 5 节。
验证你的设置
完成所有智能体文件后,运行:
Windows:
node $env:USERPROFILE\.opengoat\workspaces\security-guardian\scripts\verify_setup.js --section 4Mac:
node ~/.opengoat/workspaces/security-guardian/scripts/verify_setup.js --section 4这会确认所有智能体文件都已就绪,然后你就可以在第 5 节启动你的团队了。