WorldSeed
用 YAML 定义规则与角色,运行可观察、可干预的多智能体世界。
- Star 数
- ★ 822
- 最近更新
- 4 个月前
- License
- MIT
- 主语言
- Python
- FA 评分
- 37/100 · 缺口较多
30 秒速览
- 可在哪里用
- 通用 · 跨平台Codex · OpenAI API · Claude API
- 开始前需要
- 典型场景
- 研究团队想把一个粗略研究想法交给多名专业角色提出假设、执行实验、同行评审并保留可审计过程时。
- 主要局限
- 运行环境同时依赖 Python 3.11+、Node.js 18+、uv 和前端 npm 构建步骤。
这个 Agent 能做什么,适合哪些场景?
WorldSeed 是一个用于构建涌现式多智能体场景的本地世界引擎。开发者在 YAML 中声明实体、角色、私密信息、感知过滤、动作、规则与后果,随后通过 worldseed CLI 启动场景。运行时采用 tick 循环:每个角色看到经过过滤的世界状态、提出动作,确定性结果由 YAML DSL 处理,不确定结果交给基于 LLM 的 Dungeon Master 返回结构化 effects。它提供本地 Web 仪表盘,可观察角色内在状态、私下干预角色,或以角色身份参与;运行记录可保留并回放。仓库附带 AI Layoffs 和 Teahouse 等场景,并支持接入 OpenClaw agents、Codex subagents 及 LiteLLM 支持的模型提供商。
使用 uv run worldseed validate configs/my_scene.yaml 校验场景 YAML,再使用 uv run worldseed play configs/my_scene.yaml 运行世界。引擎在每个 tick 按角色的 perception 规则筛选状态,让角色提出 action;YAML 中可确定的规则由 DSL 解析,无法确定的结果则发送给 LLM Dungeon Master,接收结构化 effects 并更新世界状态、触发后果和日志。启动后在 http://localhost:8000 提供仪表盘,用户可 Watch、Intervene 或 Play。/create-world 可根据提示生成经过验证的 YAML scene config 和 UI config,用户也可直接编辑 configs/teahouse.yaml、configs/ai_layoffs.yaml 一类文件。
- 研究团队想把一个粗略研究想法交给多名专业角色提出假设、执行实验、同行评审并保留可审计过程时。
- 游戏或叙事设计师需要用同一套 tick 引擎测试带有秘密、阵营和非对称信息的间谍或办公室剧情时。
- AI 工具团队希望让学习 API 的角色、构建者、批评者、受众和策展者在一个可追溯场景中竞争产出时。
- 开发者需要通过 YAML 快速试验社会模拟中的角色规则、感知边界和后果链,而不为每个领域重写引擎时。
- 想把 OpenClaw agents 或 Codex subagents 接入一个可观察、可私下干预的多角色世界的工程团队。
如何安装或部署这个 Agent?
需要 Python 3.11+、Node.js 18+ 和 uv。执行:
git clone https://github.com/AIScientists-Dev/WorldSeed && cd WorldSeed
uv sync --extra dmcd frontend && npm install && npm run build && cd ..
cp .env.example .env在 .env 中添加任一 LiteLLM 提供商的 API key,例如 OpenAI、Anthropic 或 Ollama 配置所需的凭据。
如何使用这个 Agent?
先运行 uv run worldseed validate configs/ai_layoffs.yaml 校验场景,再运行 uv run worldseed play configs/ai_layoffs.yaml。打开 http://localhost:8000,在仪表盘中选择 Watch 观察、Intervene 私下提示角色,或 Play 进入角色。创建新场景时可执行 /create-world "你的世界描述",或直接编写 YAML,然后以 uv run worldseed validate configs/my_scene.yaml 和 uv run worldseed play configs/my_scene.yaml 校验并启动。
这个 Agent 有哪些优点和局限?
- 以 YAML 声明角色、规则、私密信息和感知过滤,核心引擎不依赖硬编码领域知识。
- 将确定性动作交给场景内 DSL,将不确定结果交给返回结构化 effects 的 Dungeon Master,便于同时表达规则与开放式判断。
- 每名角色拥有被过滤的感知视图,适合模拟秘密、误解、情报不对称和社会互动。
- 本地仪表盘同时支持观察、私下干预和扮演,并记录状态变化以便回放。
- 运行环境同时依赖 Python 3.11+、Node.js 18+、uv 和前端 npm 构建步骤。
- 需要配置 LiteLLM 提供商凭据;涉及 Dungeon Master 的结果取决于所选模型。
- 新世界需要理解并维护 YAML 场景、UI 配置、感知规则和 DSL 规则。
- 仓库给出了本地启动方式,但未提供生产部署、托管服务或成本控制的具体说明。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| WorldSeed 当前 | 37 · 缺口较多 | ★ 822 | 4 个月前 | Python | Codex · OpenAI API · Claude API |
| MassGen 多智能体协作系统 | 51 · 缺口较多 | ★ 1.1k | 3 个月前 | Python | Codex · Claude Code · OpenAI API · Claude API |
| IR-SIM 智能机器人模拟器 | 43 · 缺口较多 | ★ 1.1k | 5 天前 | Python | — |
| RAI 具身智能机器人框架 | 55 · 缺口较多 | ★ 592 | 13 天前 | Python | — |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属。所有信任相关标准均缺失,故为0。
自一致性:README、pyproject.toml和测试文件在架构描述上一致,但未提供运行时验证。依赖可用性:依赖列表明确,但未提供锁定文件或完整性校验。失败消息:测试和文档中未提供错误处理或用户可操作的失败提示。
受众与场景:README描述了多种场景,但未明确目标用户。能力边界:文档说明了引擎的通用性,但未明确限制。触发精度:未提供明确的触发条件或输入验证。环境适配:提供了安装和运行说明,但未覆盖所有平台。
信息架构:文档结构清晰,有架构说明。安装说明:提供了安装步骤。命名稳定性:未提供API稳定性承诺。示例与FAQ:提供了示例,但无FAQ。已知限制:未明确列出。许可证:MIT许可证明确。版本与变更日志:有版本号但无变更日志。维护责任:未明确维护者。
输出可用性:提供了演示和示例,但未验证输出质量。边际价值:提供了独特功能,但未与其他方案对比。成本效益:未提供性能或成本数据。
声明可追溯性:README中的声明未提供证据。跨来源佐证:未提供外部验证。事实与推断分离:未明确区分事实和推断。
- 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
- 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
- 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
- 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
- 仓库未提供任何安全或权限控制机制,运行代理可能具有不受限制的权限。
- 依赖未锁定版本,存在供应链风险。
- 未提供回滚或恢复机制,运行失败可能导致状态丢失。