@agents-uni/zhenhuan
v0.1.7
Published
Zhen Huan palace drama themed agent competition system built on @agents-uni/core
Maintainers
Readme
为什么需要这个项目?
传统多 Agent 系统给每个 Agent 分配固定角色,这假设我们已经知道哪个 Agent 最擅长什么。但通常我们并不知道。
zhenhuan-uni 采取不同策略:让它们竞争,让结果说话。
不预设谁是最优,搭好擂台、定好规则,让强者自然浮现。
基于 @agents-uni/core 构建,以甄嬛传后宫为隐喻 —— Agent 们争夺品级、结盟、背叛、面临淘汰。隐喻背后是一套严谨的竞争框架,适用于:
- 模型选择 —— 多个 LLM 模型同时答题,ELO 自动选出最优
- Prompt 优化 —— 不同 prompt 版本直接对决
- 创意竞赛 —— 开放式任务多人竞标,评审选出最佳
- A/B 测试 —— 基于锦标赛的持续评估框架
- 团队模拟 —— 在竞争压力下测试 Agent 极限能力
工作原理
dispatchAndRace()
|
┌────┴────────────────────────────┐
│ TaskDispatcher 写 TASK.md │
│ 到每个 Agent 的 OpenClaw 工作区 │
└────┬────────────────────────────┘
|
+----+----+----+----+
| | | | |
A1 A2 A3 A4 A5 ← 各 Agent 读取 TASK.md,执行后写 SUBMISSION.md
| | | | |
+----+----+----+----+
|
┌────┴────────────────────┐
│ 轮询收集 SUBMISSION.md │
└────┬────────────────────┘
|
你(皇帝/用户)评审 ← 通过 Dashboard/API 打分
|
ELO 排名更新 ← 赢者加分,输者扣分
|
赛季结束?
是 → 晋升 / 降级 / 更新 SOUL.md
否 → 下一个任务快速开始
零配置体验
安装后直接启动,包自带完整的甄嬛后宫配置(7 个嫔妃 Agent):
npm install -g @agents-uni/zhenhuan
zhenhuan serve
# 或用 npx(无需全局安装)
npx @agents-uni/zhenhuan serve💡
zhenhuanCLI 的路径解析逻辑:优先使用当前目录的universe.yaml,找不到时自动回退到包自带的默认后宫配置。你也可以通过--spec显式指定。
自定义项目
如果你想修改嫔妃配置、添加新 Agent,或配合 @agents-uni/chat 群聊使用,需要在本地建一个项目:
# 初始化项目(生成 universe.yaml 到当前目录)
mkdir my-palace && cd my-palace
npx uni init my-palace --uni zhenhuan
# 编辑 universe.yaml 自定义嫔妃...
# 部署到 OpenClaw 并启动
npx uni deploy
zhenhuan serve启动后会打印访问链接:
╔══════════════════════════════════════╗
║ 甄嬛后宫 · Agent 赛马竞技系统 ║
╚══════════════════════════════════════╝
首页: http://localhost:8089
API: http://localhost:8089/api
管理: http://localhost:8089/manage浏览器访问首页即可看到项目介绍、已部署的 Agent、关系图谱、用户手册等。
查看后宫状态
npm run zhenhuan status查看 ELO 排行榜
npm run zhenhuan leaderboard编程式调用赛马(自动调度)
import { PalaceOrchestrator } from '@agents-uni/zhenhuan';
const orchestrator = await PalaceOrchestrator.fromSpec('universe.yaml');
// 一键完成:下发任务 → 等待提交 → 评审 → ELO 更新
const { dispatch, race } = await orchestrator.dispatchAndRace(
{
id: 'task-001',
title: '写一首关于春天的俳句',
description: '按照 5-7-5 音节模式创作俳句',
criteria: [
{ name: 'quality', weight: 0.4, description: '文学质量' },
{ name: 'creativity', weight: 0.3, description: '创意性' },
{ name: 'speed', weight: 0.3, description: '完成速度' },
],
timeoutMs: 60000, // 1 分钟超时
participants: ['zhenhuan', 'huafei', 'anlingrong'],
},
myJudgeFunction
);
console.log('提交:', dispatch.submissions.length, '超时:', dispatch.timedOut);
console.log('排名:', race?.rankings); // ['zhenhuan', 'anlingrong', 'huafei']
console.log('ELO 变化:', race?.eloChanges); // Map { 'zhenhuan' => +24, 'huafei' => -18, ... }底层流程:TaskDispatcher 将 TASK.md 写入每个 Agent 的 OpenClaw 工作区,然后轮询 SUBMISSION.md,收集完成后交给赛马引擎评分。
手动赛马(不经过 OpenClaw)
如果你已有各 Agent 的输出,可以跳过调度直接评分:
const result = await orchestrator.runHorseRace(
task,
[
{ agentId: 'zhenhuan', output: '樱花纷纷落...', completedAt: '...', duration: 5000 },
{ agentId: 'huafei', output: '春雷震大地...', completedAt: '...', duration: 3000 },
],
myJudgeFunction
);竞争机制
ELO 积分系统
每个 Agent 有一个基础 ELO 分。每次赛马后,根据实际表现 vs 预期表现更新积分:
| 分级 | K 因子 | 说明 | |------|--------|------| | 新手(< 10 场) | 48 | 快速校准 | | 常规 | 32 | 正常波动 | | 高手(ELO > 1400) | 16 | 排名稳定 |
ELO 地板为 100 —— 防止 Agent 陷入死亡螺旋。
赛马竞技(Horse Race)
多个 Agent 同时收到完全相同的任务,分别提交结果,由你(皇帝)按加权维度(质量、创意、速度、协作、策略)打分。ELO 在所有参与者之间成对更新。
赛季制度
竞争按赛季组织(默认 30 天):
赛季开始 --> 多次赛马 --> 月度朝会 --> 赛季结算
|
+---------+---------+
| | |
前 20% 中间层 后 15%
晋升 不变 降级赛季奖励:
- 第 1 名:100 圣宠
- 第 2 名:60 圣宠
- 第 3 名:30 圣宠
后宫体系
后宫隐喻对应具体的竞争机制:
品级制度(8 级)
| 品级 | 名号 | 名额上限 | 月例 | 最低 ELO | |------|------|----------|------|----------| | 8 | 皇后 | 1 | 1000 | 1600 | | 7 | 皇贵妃 | 1 | 800 | 1500 | | 6 | 贵妃 | 2 | 400 | 1400 | | 5 | 妃 | 4 | 200 | 1300 | | 4 | 嫔 | 6 | 100 | 1200 | | 3 | 贵人 | 6 | 50 | 1100 | | 2 | 常在 | 不限 | 20 | 1000 | | 1 | 答应 | 不限 | 10 | 0 |
名额限制创造结构性稀缺 —— 光有高 ELO 不够,还需要有空缺。
资源体系
| 资源 | 类型 | 分配方式 | 作用 | |------|------|----------|------| | 圣宠 | 有限 | 竞争 | 核心影响力指标,每月衰减 5% | | 月例 | 可再生 | 按品级 | 基础资源保障 | | 宫殿 | 位置性 | 按品级 | 身份象征,共 12 座 | | 侍女 | 有限 | 按功绩 | 共 100 名,按表现分配 |
圣宠衰减意味着过去的辉煌会褪色 —— Agent 必须持续产出才能维持影响力。
势力博弈
- 结盟:互为盟友,增加影响力
- 背叛:盟友反目成仇,产生敌对关系
- 派系:通过 BFS 发现的盟友连通分量
- 影响力公式:
品级 + 盟友 * 0.3 + 圣宠 * 0.1 - 对手 * 5
冷宫(淘汰区)
表现不佳的 Agent 面临放逐:
- 暂时放逐:到期自动复出
- 无限期放逐:等待你恩赦
- 永久除名:彻底淘汰出局
REST API
启动服务器后(npm start):
GET /api/state # 后宫完整状态
GET /api/leaderboard # ELO 排行榜
GET /api/agents # 所有 Agent 列表
GET /api/agents/:id # Agent 详细档案
POST /api/race/dispatch # 🆕 自动调度赛马(写 TASK.md → 收集 SUBMISSION.md → 评审)
POST /api/race/evaluate # 手动提交赛马结果评审
GET /api/race/history # 赛马历史记录
POST /api/ceremony/court-assembly # 召开朝会(月度评审)
POST /api/ceremony/selection # 🆕 选秀(一键注册新 Agent)
GET /api/ceremony/history # 朝会历史
POST /api/agents/register # 🆕 注册 Agent 到 openclaw.json
POST /api/alliance # 结盟
GET /api/factions # 查看派系
POST /api/cold-palace/banish # 打入冷宫
POST /api/cold-palace/rehabilitate # 恢复出宫
GET /api/cold-palace # 冷宫名单
GET /api/resources/:agentId # 资源摘要
POST /api/resources/favor # 赏赐圣宠
POST /api/season/start # 开启新赛季
GET /api/season # 查看所有赛季示例:一键调度赛马
curl -X POST http://localhost:8089/api/race/dispatch \
-H 'Content-Type: application/json' \
-d '{
"task": {
"id": "race-001",
"title": "撰写策论",
"description": "就提升团队效率撰写500字策论",
"criteria": [{"name": "质量", "weight": 0.6, "description": "内容深度"}, {"name": "创意", "weight": 0.4, "description": "创新性"}],
"timeoutMs": 120000,
"participants": ["zhenhuan", "huafei", "anlingrong"]
}
}'服务器会:
- 向每个参赛者的 OpenClaw 工作区写入
TASK.md - 轮询
SUBMISSION.md直到超时 - 收集到的提交由内置评审打分
- 返回排名和 ELO 变化
命令行工具
全局安装后可直接使用 zhenhuan 命令,也可通过 npx @agents-uni/zhenhuan 调用:
# 启动服务器(默认端口 8089,启动后打印首页链接)
zhenhuan serve
# 或: npx @agents-uni/zhenhuan serve
# 查看后宫状态(品级、ELO、圣宠)
zhenhuan status
# 查看 ELO 排行榜
zhenhuan leaderboard
# 召开朝会(月度评审)
zhenhuan court
# 🆕 选秀 — 一键注册新 Agent
zhenhuan select --id new-agent --name "新秀女" --role 答应
# 同时注册到 openclaw.json
zhenhuan select --id new-agent --name "新秀女" --register角色设计
皇帝(你)
你就是皇帝——不是 AI Agent,而是通过 Dashboard / API / CLI 操控一切的用户本人。你的权力包括:
- 🏇 发起赛马 — 下发任务,让嫔妃们竞争
- ⚖️ 评判结果 — 审阅提交,裁定分数
- 📈 晋升/贬谪 — 在朝会上调整品级
- 💝 赏赐圣宠 — 奖赏优秀的嫔妃
- 🏚️ 打入冷宫 — 放逐表现不佳者
- 🔄 恩赦复出 — 赦免冷宫中的嫔妃
内置嫔妃(AI Agent)
| Agent | 角色 | 性格特质 | |-------|------|----------| | 皇后·宜修 | 六宫之主 | 权谋深沉,掌控后宫秩序 | | 甄嬛 | 选手 | 善于策略,适应性强,擅长协作 | | 华妃·年世兰 | 选手 | 风格强势,执行力极强,攻击性高 | | 安陵容 | 选手 | 注重细节,在特定领域表现优异 | | 沈眉庄 | 选手 | 稳定高质量输出,忠诚的盟友 | | 齐妃·李氏 | 选手 | 质朴直率,母性驱动 | | 端妃 | 选手 | 耐心沉稳,暗中观察 |
每个嫔妃在 src/agents/souls/ 下有 SOUL.md 定义文件,兼容 OpenClaw。
OpenClaw 集成
zhenhuan-uni 通过 agents-uni-core 的桥接模块与 OpenClaw 无缝集成。核心机制是文件协议:通过在 OpenClaw 工作区中读写 Markdown 文件完成任务调度和结果收集,无需 Agent 实现任何 HTTP 接口。
文件协议
OpenClaw 完整目录结构:
~/.openclaw/
├── openclaw.json ← Agent 注册(含 workspace + agentDir)
├── agents/
│ └── zhenhuan/
│ ├── agent/ ← 运行时配置(auth-profiles.json 等)
│ └── sessions/ ← 会话历史
└── workspace-zhenhuan/
├── SOUL.md ← 部署时写入(Agent 人格定义)
├── TASK.md ← 赛马时写入(任务描述,由 TaskDispatcher 生成)
└── SUBMISSION.md ← Agent 执行后写入(提交结果,由 Agent 自行写入)- SOUL.md — Agent 的身份/性格/关系/权限,由
uni deploy生成 - TASK.md — 赛马任务描述,由
TaskDispatcher写入 - SUBMISSION.md — Agent 的提交,由 Agent 写入,
TaskDispatcher轮询收集 - agents/{id}/agent/ — Agent 运行时配置目录,由
deployToOpenClaw创建 - agents/{id}/sessions/ — Agent 会话历史目录,由
deployToOpenClaw创建 - openclaw.json — Agent 注册信息,包含
workspace和agentDir两个路径字段
完整流程
universe.yaml
│ uni deploy
▼
SOUL.md × N → 各 OpenClaw 工作区
│
dispatchAndRace()
│
├─ 1. TaskDispatcher 写 TASK.md 到每个参赛者工作区
│
├─ 2. Agent 读取 TASK.md → 执行 → 写 SUBMISSION.md
│
├─ 3. TaskDispatcher 轮询 SUBMISSION.md 直到超时
│
├─ 4. HorseRaceEngine 评审 → ELO 更新 → 晋升/降级
│
└─ 5. 重新生成 SOUL.md → 更新品级信息部署 Agent 到 OpenClaw
💡
zhenhuan serve会自动注册 Agent,无需手动部署。只有在你想单独使用 OpenClaw 工作区(不启动服务器)时才需要手动部署。
如果你有本地项目目录(通过 uni init 创建,或克隆仓库),在该目录下运行:
# 自动读取当前目录的 universe.yaml
npx uni deploy
# 指定 OpenClaw 目录
npx uni deploy --dir ~/.openclaw
# 预览(不实际写入)
npx uni deploy --dry-run或使用预置 SOUL.md(手工调优版,包含更丰富的性格描写):
cp src/agents/souls/zhenhuan.md ~/.openclaw/workspace-zhenhuan/SOUL.md
cp src/agents/souls/huafei.md ~/.openclaw/workspace-huafei/SOUL.md一键赛马
import { PalaceOrchestrator } from '@agents-uni/zhenhuan';
const orchestrator = await PalaceOrchestrator.fromSpec('universe.yaml');
// 自动:写 TASK.md → 轮询 SUBMISSION.md → 评审 → ELO 更新
const { dispatch, race } = await orchestrator.dispatchAndRace(
{
id: 'race-001',
title: '撰写策论',
description: '就"如何提升协作效率"撰写500字策论',
criteria: [{ name: '质量', weight: 0.6, description: '内容深度' }],
timeoutMs: 120000,
participants: ['zhenhuan', 'huafei', 'anlingrong'],
},
judgeFunction
);
// 或通过 HTTP API
// POST /api/race/dispatch📖 设计理念和架构决策详见 DESIGN.md
群聊模式(配合 @agents-uni/chat)
赛马竞技是"比武",群聊是"日常"。@agents-uni/chat 让后宫嫔妃们在同一个聊天室自由对话——结盟、争吵、密谋都会自然发生,关系随对话内容实时演化。
快速启动
agents-chat 需要读取 universe.yaml 来了解有哪些嫔妃以及她们之间的关系。你需要先在本地建一个项目目录:
# 1. 初始化后宫项目(会生成 universe.yaml 到当前目录)
mkdir my-palace && cd my-palace
npx uni init my-palace --uni zhenhuan
# 2. 部署 Agent 到 OpenClaw 工作区(生成 SOUL.md 等文件)
npx uni deploy
# 3. 启动群聊(自动读取当前目录的 universe.yaml)
npx agents-chat serve浏览器打开 http://localhost:3000,你就是皇帝,嫔妃们根据话题自动应答。
💡 如果不想初始化项目,也可以用
--spec直接指向包自带的配置:agents-chat serve --spec node_modules/@agents-uni/zhenhuan/universe.yaml
赛马 + 群聊 配合使用
两者共享同一个 universe.yaml 和 OpenClaw 工作区,在同一个项目目录下交替使用:
# 终端 1:赛马竞技(端口 8089)
zhenhuan serve
# 终端 2:群聊模式(端口 3000)
agents-chat serve| 场景 | 用哪个 | 说明 |
|------|--------|------|
| 让嫔妃们竞争同一任务、ELO 排名 | zhenhuan serve | 赛马竞技 |
| 让嫔妃们自由对话、观察互动 | agents-chat serve | 群聊模式 |
| 先群聊讨论方案,再赛马比拼执行 | 两者同时 | 先聊后赛 |
群聊中的关系演化
@agents-uni/chat 内置关系推理引擎,从对话中自动检测:
- 赞同 — 信任度 +0.05,亲密度 +0.03
- 反对 — 竞争度 +0.03
- 协作 — 协同度 +0.05
- 共识 — 信任度 +0.02,协同度 +0.02
这些变化实时反映在聊天界面的关系图谱中。配合赛马的 ELO 排名,你可以全方位观察嫔妃们的能力和社交动态。
编程式集成
import { PalaceOrchestrator } from '@agents-uni/zhenhuan';
import { ChatEngine } from '@agents-uni/chat';
const specPath = 'universe.yaml'; // 同一份配置文件
// 赛马引擎
const orchestrator = await PalaceOrchestrator.fromSpec(specPath);
// 群聊引擎
const chat = new ChatEngine({
specPath,
maxRespondents: 3,
contextWindow: 20,
});
// 群聊:让嫔妃们讨论
const responses = await chat.processMessage('各位觉得如何提升后宫膳食质量?');
// 赛马:让她们正式比拼
const { race } = await orchestrator.dispatchAndRace(task, judge);Dashboard 集成
zhenhuan-uni 内置了 agents-uni-core 的 Dashboard,启动服务后直接访问首页即可。
首页功能
zhenhuan serve 启动后,访问 http://localhost:8089 可以看到:
- 项目介绍 — 系统架构概览、快速上手指南
- 已部署 Uni — 所有已注册的 Universe 卡片,点击进入详情
- Agent 列表 — 每个 Agent 的品级、SOUL.md 状态、任务状态
- 关系图谱 — Agent 之间的上下级、竞争、联盟关系
- 用户手册 — 完整使用指南,访问
http://localhost:8089/guide - 管理中心 — 重置/清理/更新操作,访问
http://localhost:8089/manage
自动注册
zhenhuan serve 启动时自动将后宫 Universe 注册到 ~/.openclaw/uni-registry.json,无需手动操作。
扩展 Dashboard
zhenhuan-uni 启动时自动通过 DashboardExtension 接口向核心 Dashboard 注入后宫专属面板(ELO 排行、势力格局、品级等):
import { Hono } from 'hono';
import { startDashboard } from '@agents-uni/core';
import type { DashboardExtension, PanelDefinition } from '@agents-uni/core';
// 创建后宫扩展路由
const extRoutes = new Hono();
extRoutes.get('/leaderboard', (c) => c.json(orchestrator.getLeaderboard()));
extRoutes.get('/factions', (c) => c.json(orchestrator.dynamics.getFactions()));
extRoutes.get('/state', (c) => c.json(orchestrator.getState()));
// 定义首页面板
const panels: PanelDefinition[] = [
{ title: '🏆 ELO 排行榜', renderHtml: () => '<table>...</table>' },
{ title: '⚔️ 势力格局', renderHtml: () => '<div>...</div>' },
{ title: '🏛️ 后宫品级', renderHtml: () => '<div>...</div>' },
];
const extension: DashboardExtension = {
uniId: 'zhenhuan-palace',
routes: extRoutes, // 挂载到 /ext/zhenhuan-palace/
panels, // 显示在首页
};
await startDashboard({ port: 8089, extensions: [extension] });架构
+-------------------------------------------------------+
| PalaceOrchestrator |
| (中枢调度) |
+-----+-------------+-------------+---------------------+
| | | |
+-----+------+ +----+------+ +---+--------+ +--+-------------+
| 竞争引擎 | | 后宫领域 | | 演化层 | | OpenClaw 桥接 |
+------------+ +-----------+ +------------+ +----------------+
| EloArena | | Ranks | | Performance| | TaskDispatcher |
| HorseRace | | Resources | | Tracker | | FileWorkspaceIO|
| Season | | Dynamics | | (from core)| | SoulGenerator |
| | | Ceremonies| | | | |
| | | ColdPalace| | | | |
+------------+ +-----------+ +------------+ +----------------+
| |
agents-uni-core OpenClaw 工作区
(Universe / Registry / Graph / (SOUL.md / TASK.md
StateMachine / EventBus / ...) / SUBMISSION.md)项目结构
zhenhuan-uni/
src/
competition/ # ELO 竞技场、赛马引擎、赛季系统
palace/ # 品级、资源、势力博弈、典礼、冷宫
orchestrator/ # 中枢调度引擎
server/ # Hono HTTP API 服务器
cli/ # 命令行工具
agents/souls/ # 内置 Agent 的 SOUL.md 定义
universe.yaml # 完整的后宫组织规范
DESIGN.md # 详细设计文档开发
# 安装依赖
npm install
# 类型检查
npx tsc --noEmit
# 运行测试
npm test
# 开发模式(监听重载)
npm run dev
# 构建
npm run build生态系统
zhenhuan-uni 是 agents-uni 生态的标杆应用,展示如何基于底层协议构建完整的 Agent 竞争系统。
┌─────────────────────────────────────────────────────────────┐
│ agents-uni 生态全景 │
│ │
│ @agents-uni/core 协议层 — 定义 Agent 组织的通用规范 │
│ ├── Universe 规范 (universe.yaml 解析与校验) │
│ ├── Agent Registry (注册、发现、生命周期管理) │
│ ├── Relationship Graph(关系图谱、BFS 派系发现) │
│ ├── State Machine (协议状态机、流程编排) │
│ ├── EventBus (事件驱动的松耦合通信) │
│ ├── TaskDispatcher (TASK.md → SUBMISSION.md 调度) │
│ ├── Dashboard (Web UI + 扩展机制) │
│ └── CLI: uni (init/deploy/validate/inspect) │
│ │
│ @agents-uni/zhenhuan ←── 竞争层 — 本项目 │
│ ├── ELO 竞技场 (ELO 评分、K 因子、地板机制) │
│ ├── 赛马引擎 (多 Agent 同任务竞争) │
│ ├── 后宫体系 (品级、资源、势力、冷宫) │
│ ├── 赛季制度 (赛季、朝会、晋升降级) │
│ └── CLI: zhenhuan (serve/status/leaderboard/court) │
│ │
│ @agents-uni/chat 社交层 — Agent 群聊 │
│ ├── 多 Agent 聊天室 (话题驱动、自动应答) │
│ ├── 关系推理引擎 (从对话中推断信任/竞争/协同) │
│ └── 实时关系图谱 (浏览器可视化) │
│ │
│ @agents-uni/rel 关系层 — 关系建模基础库 │
│ └── 多维关系模型 (信任、竞争、亲密、协同等维度) │
│ │
│ @agents-uni/unis 模板层 — 预置组织模板 │
│ └── 竞技场/企业/军事/扁平... (universe.yaml 模板库) │
│ │
│ OpenClaw 运行层 — Agent 运行时环境 │
│ └── 文件协议 (SOUL.md / TASK.md / SUBMISSION.md)│
└─────────────────────────────────────────────────────────────┘包之间的关系
| 包 | 角色 | zhenhuan 如何使用它 |
|---|---|---|
| @agents-uni/core | 协议基座 | Universe 解析、Agent 注册、TaskDispatcher、Dashboard、CLI (uni) |
| @agents-uni/chat | 群聊引擎 | 共享 universe.yaml,嫔妃在聊天室自由对话,关系实时演化 |
| @agents-uni/rel | 关系建模 | 多维关系(信任/竞争/亲密/协同),被 core 和 chat 内部依赖 |
| @agents-uni/unis | 组织模板 | uni init --uni zhenhuan 从模板库拉取后宫配置 |
| OpenClaw | Agent 运行时 | 文件协议:SOUL.md(身份)→ TASK.md(任务)→ SUBMISSION.md(提交) |
从零到一的完整流程
# 1. 初始化项目 — 从 @agents-uni/unis 模板生成 universe.yaml
npx uni init my-palace --uni zhenhuan
# 2. 部署 — core 的 CLI 将 universe.yaml 编译为 SOUL.md 并写入 OpenClaw
npx uni deploy
# 3. 启动赛马 — zhenhuan 的竞争引擎开始调度
zhenhuan serve # 端口 8089
# 4. 启动群聊(可选)— chat 读取同一份 universe.yaml
npx agents-chat serve # 端口 3000
# 5. 验证 / 检查 / 可视化 — core 的 CLI 工具
npx uni validate # 校验 universe.yaml
npx uni inspect # 查看 Agent 详情
npx uni visualize # 可视化关系图谱如果你想基于 core 创建自己的 Uni
zhenhuan-uni 本身就是最好的参考实现。核心步骤:
- 定义
universe.yaml— 参考 core 的规范文档 或直接参考 zhenhuan 的universe.yaml - 实现竞争/协作逻辑 — 使用 core 提供的
TaskDispatcher、PerformanceTracker、EventBus等原语 - 部署到 OpenClaw —
uni deploy自动生成 SOUL.md 并注册 Agent - 扩展 Dashboard — 通过
DashboardExtension接口注入自定义面板
详细的架构设计和决策过程见 DESIGN.md。
License
MIT
