Skip to content

你要构建的内容

每个智能体都需要一套文件才能正常运作。OpenClaw 会在每次会话开始时自动读取核心文件。其他工作区文件则为每个智能体提供上下文、常驻任务和工具规则。

智能体配置 — 由 OpenClaw 自动生成,不需要你在这里创建:

文件位置用途
config.jsonagents/[id]/config.jsonOpenClaw 智能体定义、system prompt
models.jsonagents/[id]/models.jsonAI 模型设置

你不需要在第 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 中,并附上:

  1. 第 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].md

CEO 还会额外拥有:

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 4

Mac:

node ~/.opengoat/workspaces/security-guardian/scripts/verify_setup.js --section 4

这会确认所有智能体文件都已就绪,然后你就可以在第 5 节启动你的团队了。