AI Skill Hub 推荐使用:开源AI工作流 是一款优质的Agent工作流。AI 综合评分 7.5 分,在同类工具中表现稳健。如果你正在寻找可靠的Agent工作流解决方案,这是一个值得深入了解的选择。
AI agent that assembles production-ready OpenUSD scenes from natural language,提供了一个AI工作流的解决方案,帮助用户快速创建生产就绪的3D场景。
开源AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
AI agent that assembles production-ready OpenUSD scenes from natural language,提供了一个AI工作流的解决方案,帮助用户快速创建生产就绪的3D场景。
开源AI工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install bowerbot
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install bowerbot
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/binary-core-llc/bowerbot
cd bowerbot
pip install -e .
# 验证安装
python -c "import bowerbot; print('安装成功')"
# 命令行使用
bowerbot --help
# 基本用法
bowerbot input_file -o output_file
# Python 代码中调用
import bowerbot
# 示例
result = bowerbot.process("input")
print(result)
# bowerbot 配置文件示例(config.yml) app: name: "bowerbot" debug: false log_level: "INFO" # 运行时指定配置文件 bowerbot --config config.yml # 或通过环境变量配置 export BOWERBOT_API_KEY="your-key" export BOWERBOT_OUTPUT_DIR="./output"
<img src="docs/mascot.png" alt="BowerBot" width="200">
defaultPrim, metersPerUnit, upAxis, all correct out of the box. BowerBot authors a single scene.usda as the live working layer; save_scene_snapshot(name) writes a flattened, DCC-stripped <name>.usda alongside whenever you want to publish a frozen versionvariants.usda; scene-level (lighting moods, light-type swap, model selection at a placement) live inline in scene.usda. Architectural invariants protect every mutation: auto-promote existing references into a model-selection variant on first add, auto-demote back to a direct ref when the set is removed, cascading orphan-opinion cleanup on prim delete/rename, automatic texture-asset staging for Asset-typed attribute values, and suspect-set detection that flags variants that collapse to a single choicegeo.usda composes via a payload arc for lazy-load (city-scale digital twins, robot fleets, large layouts open instantly); mtl.usda / lgt.usda / contents.usda use referencesroot.usd → <folder>.usda), and external dependencies (textures, sublayers) are localized into the asset folder so the project copy is always portable.usda materials to specific mesh parts; procedural materials author hybrid MaterialX + UsdPreviewSurface outputs so they render across studio renderers (Renderman, Arnold), Hydra Storm, Apple RealityKit / AR Quick Look, and Isaac Simlight:link collections so a rim light, kicker, or product-shot key only illuminates the prims you targetdefaultPrim, units, up-axis, reference resolution, and material binding checks plus USD's modern UsdValidation framework (the same validators behind usdchecker) run automatically on intake and on validate_sceneBuilt on OpenUSD, the ASWF USD Working Group standards, and the Alliance for OpenUSD (AOUSD) core spec driven by Pixar, Apple, NVIDIA, and others.
---
There are two paths for end users (pick whichever fits your environment), plus a separate path for contributors who want to modify BowerBot itself.
uv manages Python and isolated tool environments for you, so you do not need to install or pin Python yourself.
uv tool install bowerbot
If you already maintain a Python 3.12+ environment, plain pip works:
pip install bowerbot
To modify BowerBot itself, clone the repo and let uv manage the dev environment:
git clone https://github.com/binary-core-llc/bowerbot.git
cd bowerbot
uv sync
uv run bowerbot onboard
bowerbot onboard
The wizard asks for your LLM API key, your asset library directory, and your projects directory, then writes ~/.bowerbot/config.json. One file, one place, no .env.
bowerbot new "Coffee Shop"
bowerbot open coffee_shop
To plug in asset providers like Sketchfab, see Skills below.
---
BowerBot's core tools for building USD scenes:
| Tool | Description |
|---|---|
create_stage | Initialize a new USD scene with standard hierarchy |
place_asset | Add an asset (auto-creates ASWF folder for loose geometry) |
place_asset_inside | Nest an asset inside an ASWF container's contents.usda |
move_asset | Reposition an existing object without creating duplicates |
compute_grid_layout | Calculate evenly spaced positions |
list_scene | Show current scene with positions and bounding boxes |
rename_prim | Move/rename objects in the hierarchy |
remove_prim | Delete objects from the scene |
create_light | Add native USD lights (sun, dome, point, area, disk, tube) |
update_light | Modify an existing light's properties |
remove_light | Delete a light from the scene or asset |
create_material | Author a procedural MaterialX material and bind it to a prim |
bind_material | Apply a material to a specific mesh part (writes into asset mtl.usda) |
remove_material | Clear material binding from a prim |
list_materials | Show all materials and their bindings |
cleanup_unused_materials | Prune material definitions no prim binds to (per asset or project-wide) |
cleanup_unused_contents | Prune empty contents.usda scopes left after removing nested assets |
freeze_asset | Bake non-identity root transforms (Maya/Houdini unfrozen exports) into vertex data, per asset or project-wide |
list_prim_children | Discover mesh parts inside a referenced asset |
list_project_assets | Show asset folders with scene usage status |
delete_project_asset | Remove an asset folder (checks references first) |
delete_project_texture | Remove a texture file (checks references first) |
search_assets | Find USD assets in the user's library by keyword (geo, mtl, package) |
list_assets | List every USD asset in the user's library, classified by category |
search_textures | Find HDRIs and material maps in the asset library by keyword |
list_textures | List every HDRI and material map in the asset library |
validate_scene | Check for USD errors |
package_scene | Bundle as .usdz |
New to BowerBot? Watch the tutorial playlist on YouTube for setup walkthroughs, scene building demos, and tips for working with USD pipelines.
---
All settings live in ~/.bowerbot/config.json. The skills block holds the config for any skill packages you've installed; the example below shows what it looks like once you've installed bowerbot-skill-sketchfab (see Skills). A fresh install starts with "skills": {}.
{
"llm": {
"model": "gpt-4.1",
"api_key": "sk-...",
"temperature": 0.1,
"max_tokens": 4096,
"context_window": null,
"summarization_threshold": 0.75,
"num_retries": 3,
"request_timeout": 120.0,
"max_tool_rounds": 25
},
"scene_defaults": {
"meters_per_unit": 1.0,
"up_axis": "Y",
"default_room_bounds": [10.0, 3.0, 8.0]
},
"skills": {
"sketchfab": {
"enabled": true,
"config": { "token": "your-sketchfab-token" }
}
},
"assets_dir": "./assets",
"projects_dir": "./scenes"
}
Switch models by changing one line:
{ "model": "gpt-4.1" }
{ "model": "anthropic/claude-sonnet-4-6" }
{ "model": "deepseek/deepseek-chat" }
| Command | Description |
|---|---|
bowerbot new "name" | Create a new project |
bowerbot open name | Open a project and start chatting |
bowerbot list | Show all projects |
bowerbot chat | Auto-detect project in current directory |
bowerbot build "prompt" | Single-shot build (auto-creates project) |
bowerbot skills | List scene builder tools and enabled skills |
bowerbot info | Show current configuration |
bowerbot onboard | First-time setup wizard |
---
BowerBot enforces ASWF USD standards at every step, not just placing assets. Fixable mismatches (non-canonical folder names, external dependencies) are auto-normalized on intake so the project copy is always self-contained. Production-required invariants are validated at intake too: assets with non-identity root transforms (Maya pivot dance, unfrozen DCC exports) are refused with a clear message and the option to bake transforms into vertex data on the project copy without touching the source. Unfixable violations (wrong root prim type, missing defaultPrim, incorrect metersPerUnit, circular references, missing dependencies) are caught at assembly time with a clear message about what's wrong and how to fix it.
"The cheapest bug to fix is the one you catch before it enters the pipeline."
---
When you apply materials to an asset, BowerBot writes them into the asset folder's mtl.usda, not the scene file. The scene stays clean with only references:
You: Apply wood material to the table top
BowerBot: [searches local assets for "wood" materials]
[discovers mesh parts: table top, legs, frame]
[writes material definition + binding into assets/table/mtl.usda]
Bound /table/mtl/wood_varnished to table top
The result is a production-ready asset folder:
assets/single_table/
single_table.usda <- root (references geo + mtl)
geo.usda <- geometry (untouched from source)
mtl.usda <- materials inline + bindings
Maintained by Binary Core LLC alongside the BowerBot core.
| Skill | Install | What it does |
|---|---|---|
| [bowerbot-skill-sketchfab](https://github.com/binary-core-llc/bowerbot-skill-sketchfab) | pip install bowerbot-skill-sketchfab | Searches and downloads models from your own Sketchfab account in USDZ format. |
Built by external contributors, published to PyPI under each author's namespace, and listed here for discoverability. To add yours, open a PR on this README adding a row to the table below. The skill must be open source, installable via pip from public PyPI, and follow the contract in CONTRIBUTING.md.
| Skill | Author | Install | What it does |
|---|---|---|---|
| _be the first_ |
When this list grows large enough to warrant tooling, it becomes the BowerHub skill registry.
Three steps. Sketchfab as the worked example.
1. Install the skill alongside BowerBot. With uv, add it to the same tool environment:
uv tool install bowerbot --with bowerbot-skill-sketchfab
To add more skills later, rerun with every --with you want and --reinstall:
uv tool install bowerbot --with bowerbot-skill-sketchfab --with bowerbot-skill-polyhaven --reinstall
If you used plain pip to install BowerBot, install the skill in the same Python environment:
pip install bowerbot-skill-sketchfab
2. Get any credentials the skill needs. Sketchfab requires an API token from https://sketchfab.com/settings/password. Each skill's README documents what credentials (if any) it needs.
3. Add the skill's config block to ~/.bowerbot/config.json:
"skills": {
"sketchfab": {
"enabled": true,
"config": { "token": "your-sketchfab-token" }
}
}
That's it. BowerBot auto-discovers the skill via Python entry points the next time you run it. The exact shape of config is per-skill; consult the skill's README.
Three commands, in increasing depth. All work on Windows, macOS, and Linux.
1. Ask BowerBot what it sees:
bowerbot skills
Lists the core scene-builder tools plus every extension skill the registry has loaded successfully. If your skill shows under "Extension skills" with its tools, you are done.
2. If it does not appear, check the package is installed:
pip show bowerbot-skill-sketchfab
If the package is installed, this prints its name, version, and location. If not, it prints Package(s) not found and exits non-zero. Install it (see Installing a skill above). Replace bowerbot-skill-sketchfab with whichever skill you are checking.
3. If the package is installed but BowerBot still does not see it, inspect the entry-point registration directly:
python -c "from importlib.metadata import entry_points; print('\n'.join(f'{ep.name} -> {ep.value}' for ep in entry_points(group='bowerbot.skills')))"
If your skill does not appear in this output despite being pip-installed, the skill's pyproject.toml is missing or broken. File an issue on the skill's repo. If the skill does appear here but bowerbot skills still does not show it, the gap is in your ~/.bowerbot/config.json: the skill's block is missing, enabled: false, or the credentials fail validate_config().
Skills do not have to be public. Install from a private PyPI index, a git URL, or a local path:
```bash
Stuck on something? See docs/TROUBLESHOOTING.md for common issues: working alongside a DCC, skill installation, CLI rendering on Windows, and LLM tool-calling pitfalls.
---
本项目是 BowerBot 的简介,包含项目 logo 和介绍。
BowerBot 的主要功能包括 OpenUSD 原生支持、USD 变体集支持等。
BowerBot 的安装步骤包括使用 uv 或 pip 进行安装,以及配置项目和技能包。
BowerBot 的使用教程包括新手入门指南、场景构建示例和 USD 管道工作流的使用。
BowerBot 的配置文件存储在 ~/.bowerbot/config.json 中,包含 LLM API 密钥、资产库目录和项目目录等设置。
BowerBot 提供 CLI 命令,包括创建新项目、打开项目、列出项目和自动检测当前目录等功能。
BowerBot 的工作流包括管道质量、材料工作流和 USD 管道等方面的支持和规范。
BowerBot 的常见问题包括与 DCC 合作、技能安装、Windows 上的 CLI 渲染和 LLM 工具调用陷阱等。
该项目提供了一个AI工作流的解决方案,帮助用户快速创建生产就绪的3D场景,值得关注
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ Apache 2.0 — 宽松开源协议,可商用,需保留版权声明和 NOTICE 文件,含专利授权条款。
总体来看,开源AI工作流 是一款质量良好的Agent工作流,在同类工具中具备一定竞争力。AI Skill Hub 将持续追踪其更新动态,建议收藏备用,结合自身场景选择合适时机引入使用。
| 原始名称 | bowerbot |
| 原始描述 | 开源AI工作流:🐦 AI agent that assembles production-ready OpenUSD scenes from natural language。⭐20 · Python |
| Topics | workflow3daiai-agentsdigital-twinopenusdpython |
| GitHub | https://github.com/binary-core-llc/bowerbot |
| License | Apache-2.0 |
| 语言 | Python |
收录时间:2026-05-20 · 更新时间:2026-05-24 · License:Apache-2.0 · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端