关于 DCC-MCP Core
DCC-MCP Core 为创意软件和游戏引擎提供 Agent 控制平面,供工作室技术人员和 Agent 集成者使用。它以统一的 MCP 与工具契约连接不同主机,并通过 Skills、路由和结构化结果管理实际会话。
主要功能
- 01统一 MCP 与工具契约
- 02发现并调用主机能力
- 03多实例会话路由
- 04以 Skill 封装可复用能力
- 05主线程调度与结构化结果
- 06为无 API 工具提供 UI 控制
适用场景
- 01让 Agent 控制运行中的 DCC 应用
- 02在工作室中分发项目级 Skills
- 03通过单一网关路由多个软件会话
- 04将仅支持界面的旧工具纳入工作流
MCP 相关
它通过 MCP 和 REST 将 DCC、游戏引擎及其他主机能力提供给 Agent;网关用统一的发现和调用契约转发请求。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
uvx dcc-mcp-serverDCC_MCP_GATEWAY_PORTPort the machine-wide gateway binds. One agent endpoint fronts every live DCC backend, so the port in the transport URL has to match this value.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
dcc-mcp-core

中文 | English
Website · Marketplace · Showcase · For Agents · Ecosystem
以技能为先、由 Rust 驱动,为不断扩大的创意工具生态系统提供控制平面。
dcc-mcp-core 通过可发现的 MCP 和 REST 功能,将 Agent 连接到桌面 DCC、游戏引擎、2D 工具、制作系统、资产提供方、性能分析器和自定义工作室主机。它提供运行实际会话所需的网关、技能、结构化结果、主线程调度、诊断、IPC、工作流,以及打包的 CLI/服务二进制文件。
一套协议,覆盖所有已注册主机。 该生态系统中的每个主机适配器都实现相同的 MCP 协议和工具契约。注册表是事实来源,且可以通过检出代码库复现条目数量:
rg -c '^ tags: \[.*"adapter".*\]' dcc-mcp-catalog.yml
结果显示,dcc-mcp-catalog.yml 中有 48 个适配器条目。
请参阅完整的生成主机列表,了解所有当前条目及其安装元数据。该数量包括仅用于发现的实验性 PhotoCraft;这并不代表所有条目都获得了正式发布支持或可自动安装。以下是部分示例:
| 领域 | 部分主机 |
|---|---|
| 桌面 DCC | Maya、Blender、Houdini、3ds Max、Cinema 4D、Nuke、Katana、MotionBuilder、ZBrush、Mari、Substance 3D Designer、Substance 3D Painter、Marmoset |
| 引擎与实时工具 | Unreal、Unity、Godot、Tiled、TouchDesigner |
| 设计、图像、视频 | Photoshop、Illustrator、GIMP、Krita、After Effects、Premiere、Kdenlive、PowerPoint、OBS、ComfyUI |
| CAD、程序化工具、互操作 | FreeCAD、OpenSCAD、SketchUp、Material Maker、LiquiGen、OpenUSD |
| 制作跟踪与 QA | Flow Production Tracking(ShotGrid)、RenderDoc、Shogun、Wwise |
包含安装元数据的完整列表已发布在生态系统目录中。
三项共享契约让它们构成统一矩阵。 主机覆盖只有在适配器保持可互换时才有意义。核心发布的三项契约能避免主机适配器各自变成互不相关的服务:
| 合约 | 保证内容 | 验证位置 |
|---|---|---|
| 核心共享合约 | 统一的资源导入合约(asset_import)、统一的发现决策架构(dcc-discovery-decision-v1),以及先写入再读回的后置条件,确保工具能够证明自身的结果 | python/dcc_mcp_core/asset_import.py、contracts/dcc-discovery-decision-v1.schema.json、python/dcc_mcp_core/runtime/postcondition.py |
| 配方运行时 | 由声明式 RECIPES.yaml 驱动的 recipes__list / recipes__get / recipes__validate / recipes__apply,让宿主以数据而非定制服务的形式提供功能 | skills/mesh-ops/RECIPES.yaml |
| Marketplace Skill 合约 | 每个已发布条目都包含 examplePrompts;Skills、Studio 和 Infrastructure 条目还必须声明 recovery 和 undo,确保失败时有后续步骤,编辑时有一步回滚方案 | 由 dcc-mcp/marketplace 中的 validate_marketplace.py 强制执行——运行 python scripts/validate_marketplace.py prompt-contract(参见 prompt-contract.md) |
如何比较我们。 比较宿主覆盖范围和合约完整性——两者都可通过上述命令和文件复现。我们不声称排名,也不按星标数或工具数量进行比较。
功能
- 内置 Agent Skill。 每次检出和每个版本发布都包含
llms.txt(精简索引)和llms-full.txt(完整 API 参考)。两者均可供机器读取,因此 Agent 可以直接从代码库读取并开始工作,无需安装 Skill、浏览 Marketplace 或抓取渲染后的文档。 - 以 Skills 作为生产单元。 将功能打包为带版本的
SKILL.md包,包含tools.yaml、渐进式发现、lint 和架构验证以及热重载 (DccSkillHotReloader)。 - 主线程分发。 操作会排入 DCC 的主线程队列,因此对于在非主线程执行脚本时会崩溃的应用,调用也能安全运行。
- 结构化结果和后置条件。 每次调用都会返回带类型的结果,而共享后置条件合约会先写入再读回,确保工具能够证明自身的效果。
- 多实例路由。 一个网关连接所有正在运行的 DCC 会话,并发布
gateway://instances,因此无论有多少宿主正在运行,Agent 都只需连接一个端点。 - UI Control 作为备用方案。 对于完全没有 API 的工具,有界的截图和点击自动化可将其纳入同一控制平面(DCC UI Control)。
选择入口
| 你想要…… | 从这里开始 |
|---|---|
| 通过 Agent 或 CI 任务控制正在运行的 DCC | 安装 dcc-mcp Agent Skill,然后使用 dcc-mcp-cli |
| 通过 MCP/REST 暴露 DCC 适配器 | create_skill_server |
| 从已解析的包(Rez)启动服务 | dcc-mcp-core serve |
| 无需 Python 注册代码即可添加工具 | SKILL.md + tools.yaml |
| 发现并安装可复用的 Skills | DCC-MCP Marketplace |
| 构建新的 DCC 适配器 | new-adapter-onboarding.md |
| 了解路由和多实例行为 | gateway.md |
| 从任意 HTTP 客户端进行集成 | rest-api-surface.md |
当前契约
默认 Agent 路径是 CLI + REST:
dcc-mcp-cli dcc-types (when adapter support is unclear)
-> list
-> search
-> describe
-> load-skill (only when needed)
-> call
网关会限制 tools/list 的规模。它公布规范的发现/调度封装(search、describe、load_skill 和 call),而不是将每个后端工具都展开到一个庞大的列表中。通过 search 发现后端能力,通过 describe 检查能力,并通过封装或 REST 对应接口(POST /v1/search、/v1/describe、/v1/call)调用能力。
需要连接具体的 DCC 会话时,请读取 gateway://instances;每个条目都已包含 mcp_url。不要使用已移除的旧版实例工具(list_dcc_instances、get_dcc_instance 或 connect_to_dcc)。封装的输入应放在 arguments 中;不要将后端字段放在 tool_slug 旁边。
对于直接连接各个 DCC 的 MCP,服务器提供这些兼容发现名称时,仍可使用(search_tools、describe_tool 和 call_tool)。新的网关集成应使用上述规范名称。
dcc-mcp-core 的存在意义
最简短的 DCC Agent 演示,就是让模型编写并运行 mayapy、hython 或 Blender Python 脚本。生产流水线不能依赖模型每次都生成正确的脚本。反复生成代码会消耗令牌,结果会随模型和上下文变化,而且每个适配器都得重新实现传输、主线程调度、校验、进程生命周期、路由和诊断功能。
dcc-mcp-core 将这些通用工程能力集中到一个可复用的控制平面中:
| 层级 | 可复用能力 |
|---|---|
| 集成 | MCP 和 REST 端点、Host RPC/IPC、类型化架构、资源、提示词和结构化结果 |
| DCC 运行时 | 主线程亲和性、就绪状态、多实例路由、异步任务、取消、检查点、工作流、产物和 UI Control |
| Skill 交付 | SKILL.md 包、渐进式发现、Lint/架构校验、热重载、持久化、市场分发以及项目/团队作用域 |
| 运维 | CLI、网关、管理 UI、策略、审计记录、追踪、日志、指标、运行状况检查和 VRS 回放 |
本项目提供 Agent 控制 DCC 应用所需的基础设施;它不构建也不指定 Agent 本身。Agent 和模型会不断变化,而工作室接口、权限边界和流水线知识仍需持续维护。该框架将这些投入转化为可复用的工程资产。
现有工具也需要 AI 访问能力
为新工具添加面向 AI 的接口通常很直接。更棘手的问题是:如何让 Agent 使用多年来积累的现有工具,尤其是在这些工具没有 API、无法修改,或只能通过窗口或模态对话框完成部分工作流的情况下。
为弥补这一缺口,dcc-mcp-core 提供了受限的类计算机使用能力 DCC UI Control。它结合精确窗口截图、可用时的语义控件、限定范围的操作、等待、录制、策略检查、审计和结果验证。原生 Skills/API 仍是首选方式;UI Control 让旧版工具和仅提供界面的工作流也能接入同一 Agent 控制平面,而不会假装每个应用都有完善的可编程 API。
MCP 是入口,而非上限
MCP 是我们复用的行业标准 Agent 接口,而非该框架的限制。稳定的 Python、C++、HTTP、命令端口或原生插件接口,都可以集成到同一套发现、执行、安全和运维契约中。
我们也会集成实用的供应商能力,而不是取而代之。Unreal Engine 5.8 引入了 实验性的内置 MCP 服务和 Toolset Registry。 Unreal Official MCP Bridge 可通过 DCC MCP 启用并调用这些官方工具集,且不会重新分发它们。供应商工具、DCC-MCP 工具和工作室工具可以共用一个面向 Agent 的工作流。
Skills 是生产单元
Skill 能将经过验证的流水线知识转化为可版本化、类型化、可测试和可分发的操作。成本较低的模型可能难以从头编写场景编辑逻辑,但在选择描述完善的工具并提供经过验证的参数时,仍然能够胜任。工作室可以按项目和制作阶段分发不同的 Skill 集,减少重复生成代码、Token 使用量和模型相关的差异。
这也是工作室 TD 和 TA 实际上可进行定制的边界。Core 和适配器负责管理宿主连接、主线程执行、路由、安全和可观测性。TD 或 TA 可以将实际项目流程——命名和场景检查、资源准备、发布关卡、缓存/导出规则以及审核交接——编码为由 SKILL.md、tools.yaml 和工作室现有脚本组成的 Skill。这些 Skill 可以经过测试、限定到某个项目或团队,并通过公共或私有市场分发,无需分叉控制平面或重建适配器。
一份契约,不断壮大的生态系统
如今,同一套 Skill 和运行时契约已涵盖远超最初 DCC 适配器的领域:
| 领域 | 示例 |
|---|---|
| 桌面 DCC | Maya、Blender、Houdini、3ds Max、Nuke、Katana、MotionBuilder、ZBrush |
| 设计和内容工具 | Photoshop、Substance 3D Designer/Painter、After Effects、Premiere、GIMP、Krita |
| 游戏和 2D 引擎 | Unreal Engine、Unity、Godot、Tiled、Material Maker |
| 流水线和质量 | OpenUSD、Flow Production Tracking、MaterialX、纹理/发布工作流、RenderDoc、Tracy |
| 可复用 Skills | 资源提供方、生成式 2D/3D 服务、UI 自动化、绑定、程序化创作、游戏发布和验收 |
浏览生态系统目录中的所有集成,或使用官方 Marketplace发现可选 Skills,无需更改适配器。
Admin UI 完成了反馈闭环。调用、跟踪记录、日志、运行状况、统计数据和使用数据会显示 Agent 选择了哪些工具,以及它们在哪些地方失败。团队可以改进描述、架构或实现,然后根据真实调用验证结果,而不是将工具使用视为黑盒。
边界仍然明确。Core 无法安全地抢占已在 DCC 主线程上运行的任意代码,无法保证对不支持事务的宿主 API 进行回滚,也无法为每个应用定义一种无损的网格/绑定/材质模型。宿主语义仍应由适配器和流水线 Skill 负责。
快速入门:操作 DCC
dcc-mcp-cli 是所有支持 Shell 的 Agent 首选的控制方式。
如果你有 Python 工具链,一条命令即可在 Linux、macOS 和 Windows 上安装:
uvx dcc-mcp-cli --version # run it without installing
# or install it into a managed tool environment
uv tool install dcc-mcp-cli
pipx install dcc-mcp-cli
# or into the current environment
pip install dcc-mcp-cli
通过包管理器安装的版本由包管理器管理:请使用 uv tool upgrade dcc-mcp-cli(或 pip install --upgrade dcc-mcp-cli)进行升级,而不要使用 dcc-mcp-cli update apply,因为这些版本已禁用该命令。
否则,请先征得用户同意,安装下方公开的 dcc-mcp Skill,然后从 Skill 目录运行其中附带且已验证的辅助工具:
python scripts/check_cli.py --ensure-cli --pretty
如果没有 Skill,请将官方安装程序下载到本地文件,检查后再执行该文件:
# Linux/macOS
curl -fL https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.sh -o install-cli.sh
cat install-cli.sh
# After reviewing the file:
sh ./install-cli.sh
# Windows PowerShell
Invoke-WebRequest https://raw.githubusercontent.com/dcc-mcp/dcc-mcp-core/main/scripts/install-cli.ps1 -OutFile .\install-cli.ps1
Get-Content -Raw .\install-cli.ps1
# After reviewing the file and subject to the current execution policy:
& .\install-cli.ps1
这两种方式都只接受官方 dcc-mcp/dcc-mcp-core 发布版本,会验证平台更新清单和 CLI SHA-256,并在验证或下载失败时保留任何现有二进制文件。这是完整性检查,不是数字签名。切勿将远程安装程序直接通过管道传入 Shell,也不要绕过计算机的脚本执行策略。
安装所需的 Agent Skill
三个公开 Skill 各有不同用途。开始实时 DCC 工作时,先使用 dcc-mcp;只有在任务进入相应环节时,才安装创作者 Skill:
| Agent 任务 | 公共 Skill | 来源 |
|---|---|---|
| 操作正在运行的 DCC、发现工具或搜索 Marketplace | @loonghao/dcc-mcp | dcc-mcp |
| 创建或现代化完整的 DCC-MCP 适配器/运行时 | @loonghao/dcc-mcp-creator | dcc-mcp-creator |
| 创建、验证或改进 DCC 专用 Skill 包 | @loonghao/dcc-mcp-skills-creator | dcc-mcp-skills-creator |
OpenClaw 默认安装到当前工作区;只有在所有本地 OpenClaw Agent 都应共用该 Skill 时,才添加 --global:
openclaw skills install @loonghao/dcc-mcp
openclaw skills install @loonghao/dcc-mcp-creator
openclaw skills install @loonghao/dcc-mcp-skills-creator
对于兼容 Codex 的项目,请安装到标准的项目 Skill 根目录:
npx --yes [email protected] install @loonghao/dcc-mcp
npx --yes [email protected] install @loonghao/dcc-mcp-creator
npx --yes [email protected] install @loonghao/dcc-mcp-skills-creator
其他 Agent Skills 宿主应将相同的 ClawHub 包安装到其配置的 Skill 根目录。安装后,请开始新一轮 Agent 对话。自然语言的 DCC 请求应触发 dcc-mcp;支持显式调用 Skill 的宿主可分别使用 $dcc-mcp、$dcc-mcp-creator 或 $dcc-mcp-skills-creator。
这三个包都包含 Codex agents/openai.yaml 元数据,同时保留各自的 DCC-MCP 和 ClawHub 契约。它们的源代码、供应商清单、不可变版本和发布工作流现已位于 dcc-mcp-agent-plugins。本仓库不会随附这些公共包。顶层 skills/ 目录包含由 Core 维护的 Marketplace 和参考 Skill。捆绑的运行时 Skill 仍位于 python/dcc_mcp_core/skills/。
通过发布清单保持官方构建为最新版本:
dcc-mcp-cli update check
dcc-mcp-cli update apply --yes # after user confirmation
官方发布构建会在后台每 24 小时刷新一次缓存的更新状态,不会阻塞前台命令。可用更新会以结构化的 cli_update 数据呈现;Agent 必须先征求用户同意,才能运行报告中给出的应用命令。update apply --yes 会下载并暂存最新版 CLI,供下次启动时使用。它不会更新或重启正在运行的 dcc-mcp-server;请在其自身环境中更新该服务。
然后先发现一项实时能力,再调用它:
dcc-mcp-cli dcc-types
dcc-mcp-cli --output json dcc-types --dcc-type unreal
dcc-mcp-cli list
dcc-mcp-cli search --query "create sphere" --dcc-type maya --limit 20
dcc-mcp-cli describe <tool-slug>
dcc-mcp-cli call <tool-slug> --json '{"radius": 2.0}' \
--meta-json '{"agent_context":{"session_id":"task-42"}}'
--query "create sphere" 与已发布的 CLI 构建兼容。包含统一搜索解析器的构建也接受不带引号的位置参数。
dcc-types 是基于目录的离线能力查询。它会报告规范的适配器标识符和安装计划可用性;实时实例的准确信息仍以 list 为准。指定 --dcc-type 的形式会输出带版本的决策结果,并将公共目录支持、包/引导程序状态、注册表注册、就绪状态、能力发现和真实主机验证区分开来。特别是,live_instances: 0 并不表示支持或已安装的应用数量为零;live_instances: null 表示无法获取本地注册表观测结果。
请将占位符替换为搜索返回的 slug。对于远程工作站,请注册网关配置并选择它:
dcc-mcp-cli gateway register https://workstation.example:19293 --name pcA
dcc-mcp-cli gateway set pcA
dcc-mcp-cli list
如果启动或就绪状态不明确,请使用 dcc-mcp-cli doctor。网关可用后,请在本地打开 Admin UI:http://127.0.0.1:9765/admin。
调用失败时,请保留其 request_id,运行 doctor 或按失败筛选的 stats 查询,并使用网关自带的 dcc-mcp-cli feedback。实时适配器的 dcc_feedback__report 只是转发到同一端点的轻量 Core 转发器。经网关路由的失败还会提供公共安全的 /v1/debug/issue-reports/<request_id> 载荷,以便编写经过审核的错误报告;绝不能自动上传原始数据包。
任务被接受后,Agent 可以通过 dcc-mcp-cli stats --range 24h --session-id task-42 查看范围受限的网关证据。调用次数为 0 表示没有遥测证据,直接进行的本地调用可能不会被记录。将结果以及简短的任务摘要和验证摘要提供给 review_skill_improvement prompt。该提示词默认不做更改,优先改进现有技能,且绝不会授予超出任务范围的编辑或发布权限。
快速开始:从 Python 暴露技能
pip install dcc-mcp-core
将服务指向技能目录并启动 MCP 端点:
import os
from dcc_mcp_core import McpHttpConfig, create_skill_server
os.environ["DCC_MCP_MAYA_SKILL_PATHS"] = "/path/to/skills"
server = create_skill_server("maya", McpHttpConfig())
handle = server.start()
print(handle.mcp_url())
本地 DCC 实例默认绑定由操作系统分配的端口。解析后的 URL 会自动注册,因此网关和 CLI 无需硬编码每个实例的端口即可发现该实例。仅在明确要求固定监听端口时才传入 port=<number>。
如需手动注册处理程序,请使用 McpHttpServer 和 ToolRegistry。如需管理适配器生命周期、就绪状态、网关注册和热重载,请按照适配器指南中的说明使用 DccServerBase。
不使用适配器代码启动服务
dcc-mcp-core 是一个控制台脚本,因此已解析的包(Rez、venv 或 pip)可以直接启动服务。Rez 的 package.py 会在 tools 中声明此脚本:
dcc-mcp-core info # print the full launch contract
dcc-mcp-core serve --dcc maya # Skills-First server on an OS-assigned port
serve 会输出解析后的 MCP URL;添加 --json 可输出单个可解析对象;还接受 --skill-path(可重复使用),用于指定 DCC_MCP_<DCC>_SKILL_PATHS 之外的技能目录。请参阅 Rez 技能包。
不依赖框架胶水代码添加技能
本项目遵循 agentskills.io frontmatter 契约。将 dcc-mcp-core 扩展放在 metadata.dcc-mcp 下,并将工具声明保存在同级文件中:
my-skill/
├── SKILL.md
├── tools.yaml
└── scripts/
└── do_thing.py
# SKILL.md
---
name: my-skill
description: "Does a useful Maya task. Use when the user asks for it."
metadata:
dcc-mcp:
dcc: maya
tools: tools.yaml
search-hint: "geometry, scene task"
---
# tools.yaml
tools:
- name: do_thing
description: Do the task in the active Maya scene.
source_file: scripts/do_thing.py
execution: sync
affinity: main
annotations:
read_only_hint: false
destructive_hint: true
使用 CI 所用的同一生产环境验证器运行 dcc-mcp-cli lint path/to/skills。有关架构、分组、依赖项、测试和迁移规则,请参阅 技能。
DCC UI 控制
适用于原生 DCC API 无法直接观察或驱动界面状态的桌面应用自动化场景。Agent 使用 ui_control__snapshot、ui_control__find、ui_control__act、ui_control__wait_for、ui_control__recording_start、ui_control__recording_state、ui_control__recording_stop 和 ui_control__stop_computer_use 来观察、查找、操作和录制指定目标应用。
将 UI 控制用作范围受限的备用方案,而不是默认的 DCC 集成方式:
- 场景、资产、渲染和项目相关工作优先使用结构化适配器工具。
- 对于没有 API 的控件、适配器覆盖不完整的部分,以及端到端 GUI 验收测试,请使用 UI 控制。
- 不要将 Agent 任务中的每张图像都视为 UI 控制证据。DCC 原生截图、RenderDoc 导出内容、ImageGen 输出和视频帧的来源各不相同。

截图和点击的工作方式
ui_control__snapshot 仅捕获绑定的窗口。在最长边超过 1600 像素或图像超过 150 万像素之前,都会保留原生分辨率;超过后则会在保持宽高比的同时缩小尺寸。1280×720 的窗口会保持 1280×720;1920×1080 的窗口则会变为 1600×900。因此,当目标窗口较大且未被遮挡时,更容易识别较小的文字和自定义绘制的图标。
Agent 会收到三种互补信号:
- 用于视觉识别和空间理解的 PNG 像素。
- CUA 无障碍树,其中包含标签、角色和稳定的元素令牌(如果应用提供这些信息)。
- 用于标识确切 PID、HWND、DPI、源矩形、桌面代次、会话和快照的观测元数据。
点击操作优先使用语义化的 control_id。对于自定义绘制的 UI,截图相对坐标会通过源矩形和 DPI 映射回原位置。每项操作都必须引用最新的 snapshot_id;主机会在发送输入前重新验证窗口、桌面、几何信息和代次,并拒绝过期的观测结果。
成功的快照会包含 capture_provenance,其中包括后端、会话、目标 PID/HWND、输出和源尺寸、缩放信息以及原生捕获后端。将截图用作证据时,请保留此区块。缺少来源信息的旧图像事后无法可靠地归属于 UI Control。
功能
- 限定范围的窗口定位 — 快照和操作绑定到单个进程或窗口句柄,绝不会绑定到整个桌面。
- 多实例会话 — 网关会选择 DCC
instance_id,原生主机则会为每个适配器连接创建独立命名空间。因此,不同的 DCC 实例可以重复使用诸如default的逻辑session_id,而不会共享功能或清理状态。 - 语义化无障碍功能 + 原始输入回退 — 优先使用通过
ui_control__find定位的稳定语义控件(按钮、文本字段、复选框),然后在自定义绘制控件没有语义节点时,回退到截图相对坐标。 - 边界明确的安全模型 — 每项操作都受适配器/操作者绑定的 PID/HWND 限定。默认情况下,在该确切范围内启用原始输入;可通过
DCC_MCP_CUA_ALLOW_RAW_INPUT=false将其禁用。明确禁止:密码、身份验证控件、LockApp、Windows Security、终端和凭据管理器窗口。 - 可见的控制标记 — 独立 CUA Host 负责目标边框、横幅、Agent 光标和
Esc停止控件。 - 一个共享的输入安全控制器 — 多个精确应用会话可以保持活动状态。独立 Host 会串行处理原生输入并广播
Esc,而普通停止操作只会释放所选会话。 - 轨迹记录 — 在操作前后启动和停止 CUA 录制,以保留最终确定的 CUA 产物和结构化录制状态。
- 审计记录 — 每个快照、录制、操作、等待、停止和被拒绝的操作,都会将经过脱敏的
ui_control_operation事件追加到共享日志目录;这些事件可在 Admin Logs 面板中查看,且不会暴露输入的文本或截图坐标。
工具参考
| 工具 | 描述 |
|---|---|
ui_control__snapshot | 从限定的应用程序中截取有界 PNG 图像并获取无障碍树 |
ui_control__find | 按查询、角色、标签或对象名称查找语义控件 |
ui_control__act | 执行一次限定范围内的语义操作或基于坐标的操作 |
ui_control__recording_start | 在绝对输出目录中开始录制 CUA 操作轨迹/视频 |
ui_control__recording_state | 读取当前 CUA 录制状态 |
ui_control__recording_stop | 完成 CUA 录制,以便后续渲染 |
ui_control__wait_for | 轮询,直到 UI 条件满足或超时 |
ui_control__stop_computer_use | 释放 capsule、热键和全局输入所有者 |
详细的技能参考和 Agent 工作流,请参阅 ui-control 技能。

架构
运行时包含四个实用层:
- DCC 服务 — 拥有技能,并在单个 DCC 进程中执行工具。
- Sidecar/监督程序 — 当适配器使用打包运行时时,负责连接主机 RPC、就绪状态、进程生命周期和网关注册。
- 网关守护进程 — 汇总运行中的实例,并负责发现、路由、REST、Admin UI、审计和诊断。
- 客户端界面 — CLI、MCP 客户端、REST 客户端和市场工具。
Rust 工作区和包成员定义在根目录的 Cargo.toml 中。Python 包是 PyO3 扩展,包含纯 Python 辅助程序,并支持 Python 3.7–3.14。源码构建要求来自 rust-toolchain.toml 和包元数据;本仓库不会在此 README 中重复列出版本或包数量。
文档索引
- 快速入门 — 安装包并启动第一个服务。
- MCP Registry 配置 — 查找版本、启动本地网关并验证标准 MCP 客户端。
- CLI 参考 — 完整的运维命令和标志。
- 网关指南 — 守护进程、注册表、路由、中继和多实例行为。
- REST API 接口 — 请求封装、tool_slug、就绪状态和错误约定。
- 技能指南 — 编写、加载、验证和持久化。
- 适配器接入指南 — 支持的适配器实现和发布流程。
- 文档索引 — 完整的指南/API 索引。
- AI Agent 指南 和 AGENTS.md — Agent 工作流和仓库规则。
开发
尽可能使用仓库指定的工具链:
vx just install
vx just dev
vx just test
vx just test-rust
vx just lint
vx just docs-check
docs-check 会构建 VitePress 站点,并检查文档链接和语法错误。Markdown lint 在文档 CI 工作流中运行。编码、测试和发布规则请参阅 CONTRIBUTING.md。
许可证
MIT — 详见 LICENSE。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。
