用途
blender-cli 用于根据随技能打包的「能力目录」与离线 Python API 证据来实现 Blender 命令行任务。它的核心约束是:所有 Blender 特有的能力选择、API 标识符、枚举值、参数含义和工作流声明,都必须来自该技能自带的数据;预训练的 Blender 知识不被视为可采纳的证据。也就是说,当技能数据中没有某个 Blender 事实时,使用者不得凭记忆填补,而应返回 insufficient_skill_evidence 并指明缺失的事实。
技能强调「先发现、再查询」。在查询 API 数据库或编写 Blender 代码之前,应先阅读完整的能力概览。该层以纯 Markdown 和压缩 JSON 呈现,无需 SQLite 即可读取,列出已编写的路由、全部源 API 页面卡片、状态,以及如何选择它们。
主要能力(能力域)
随技能提供的能力目录按工作领域划分,包括:
- 场景、对象、集合与变换:scene
- 网格、BMesh 与修改器:geometry
- 几何节点、字段与实例:geometry-nodes
- 曲线、3D 文字、毛发、点云与体积:curves-volumes
- 雕刻、笔刷与绘画:sculpt-paint
- UV 贴图、图像与纹理烘焙:uv
- 材质、着色器、纹理与世界:shading
- 灯光、相机与阴影:lights-shadows
- 渲染、通道、颜色与图像输出:render
- 合成、遮罩与图像处理:compositor
- 视频编辑、字幕与音频:video-audio
- 蜡笔(Grease Pencil)、2D 笔触与 Freestyle:grease-pencil-freestyle
- 运动跟踪与影片剪辑:tracking
- 关键帧、驱动器、绑定与约束:animation-rigging
- 模拟、物理与缓存:simulation
- 文件、导入导出、库与资产:files-assets
- Python 集成、数学、GPU 与 UI:integration-gpu
- API 指南、枚举与来源索引:api-guides
这些是导航分类,并不保证后台模式下的可执行性。确切的功能声明存在于与来源关联的卡片中。状态 documented_route_runtime_unverified 表示来源描述了某条路由;api_discovery_only 表示存在源页面,但在声明其行为前必须先阅读;identifier_only 表示介绍性源文本描述的行为不足。这些状态不应被转化为实现承诺。
使用方式(证据工作流)
- 发现先于查询:阅读概览,再阅读其中链接的相关域文件。使用
python3 scripts/features.py match "the user request"在不打开 SQLite 的情况下检索随附的越南语/英语别名。 - 用
features.py show ID阅读每个候选,比较其 choose_when、证据摘录与缺口。仅凭相同关键词出现不足以选择。如果仍有多条已记录路由合理,应澄清输出需求。 - 显式处理未知:若没有已编写的路由匹配,用
features.py pages DOMAIN和features.py symbols TEXT发现数据库之外的来源提供的名称/描述。选择api:...页面卡片仅作为发现步骤。若无来源支持所请求的行为,返回 insufficient_skill_evidence 并指明缺失的事实。不得凭记忆编造英文 Blender 术语、API、参数或配方。外部搜索不是静默的兜底:新材料必须连同出处并入技能后才能成为任务证据。 - 让选择可复核:用
features.py plan --request "..." --feature ID --output /absolute/path/plan.json创建计划,可重复 --feature 以组合任务。其初始 API 查询直接来自所选卡片,而非猜测的标识符。 - 阅读 API 证据:使用
docs.py read REF --plan /absolute/path/plan.json配合卡片的 next_queries。计划会记录实际的来源哈希与所显示的行范围。继续分页直到相关选段完整。只跟随读取证据实际暴露的链接,或在需要更多上下文时选择另一个已记录的功能/卡片。docs.py search/symbol 可用于细化已在此提供上下文中的术语;切勿将搜索命中或匹配的标识符视为行为证据。 - 只实现受支持的操作:在计划的 bindings 中记录每个 Blender 操作的来源及该来源确立了哪些内容;将缺失的事实保留在 unresolved 中。仅有类型/默认值的属性只能证明该有限契约,不能证明未记录的渲染器效果。当来源未明确时,必须检查节点插槽标签、动态枚举与操作器上下文。不要在没有为其 Blender 特有陈述提供依据的情况下复用熟悉的配方。
- 验证所选运行时:遵循 CLI 工作流。随附的探针可收集观察到的 RNA/版本数据;它无法提供缺失的概念性工作流语义。运行时观察只有在被记录时才成为任务证据,任何新使用的 Blender 事实仍必须由这些观察和/或提供的来源解释。若仍然无记录,停止该依赖操作。保持缺失的可执行文件或未解决的运行时事实明确可见。
- 绑定、执行与验证:
evidence.py inspect列出需要审查的操作;evidence.py seal校验已记录的读取/绑定并绑定脚本哈希。run_blender.py --plan ...会拒绝缺失/过期的计划、未解决的事实、未记录的引用和未覆盖的操作行。只有随附的探针可豁免。在声称成功之前,阅读实际结果、重新打开重要的已保存数据并检查视觉输出。
命令
以下路径相对于已安装的技能,而非用户项目。主机辅助工具使用 Python 3.10+ 与标准库;API 查询还需要 SQLite FTS5。在其他位置工作时使用绝对脚本路径。
python3 scripts/features.py overview
python3 scripts/features.py match "text strip shadow"
python3 scripts/features.py show FEATURE_ID
python3 scripts/features.py pages lights-shadows
python3 scripts/features.py plan --request "..." --feature FEATURE_ID --output /tmp/blender-plan.json
python3 scripts/docs.py read SOURCE_REF --plan /tmp/blender-plan.json
python3 scripts/evidence.py inspect --script /absolute/path/task.py
python3 scripts/evidence.py seal --plan /tmp/blender-plan.json --script /absolute/path/task.py
python3 scripts/run_blender.py --script /absolute/path/task.py --plan /tmp/blender-plan.json --timeout 900 -- --output /absolute/path/result.blend
使用目录返回的真实 ID/ref。运行器不安装 Blender、不自动保存,也不会使未记录的操作变得有效。不要用原始 CLI、记忆中的片段、旧的向前测试示例或伪造的绑定来绕过此证据工作流。引用必须支持其关联的陈述;仅有有效哈希是不够的。
适用场景
适用于需要在命令行环境中实现 Blender 任务,并且要求实现过程具备可追溯证据、拒绝凭模型记忆编造 Blender 事实的场景。
限制
提供的快照标识 API 5.2 与清单项目 Blender 5.2.1 LTS Python API,但这不代表已安装版本。目录覆盖区分了已编写的功能路由、全部源页面卡片与未解决的描述缺口。references/api/api.sqlite3 是 API 文本、锚点、链接、符号、搜索与覆盖元数据的打包事实来源。被索引的参考是为离线证据读取而打包的,任务中应只读取所选证据。目录由 SQLite 构建,而非来自嵌入或模型记忆。原始 HTML/资产、Blender 手册、上游仓库与扩展页面未打包。重建/更新说明位于语料指南;更新语义源内容会使先前的证据计划失效,并需要审查受影响的功能声明。该技能不安装 Blender,不自动保存文件,也不使未记录的操作变得有效。
暂未提供
本资料未提供具体的定价或收费信息,未提供交互式界面或图形化使用方式,也未提供除上述命令行脚本之外的安装步骤细节。