uipath-solution
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseUiPath Solution — uip solution
lifecycle
uip solutionUiPath Solution — uip solution
生命周期
uip solutionCreate, pack, publish, deploy, and manage UiPath Solution packages () via the CLI surface. A Solution bundles multiple automation projects (processes, libraries, tests, agent projects, API workflows) into a single deployable unit.
.uipxuip solutionUse the CLI. Don't roll your own REST for solution ops. Hand-rolling HTTP calls misses thefolder header, OData filter shape, pagination envelope,X-UIPATH-OrganizationUnitIddeploy semantics, retry behavior, and thepipelinesInstalloutput contract. The CLI is the source of truth.Result/Code/Data
Platform support. Solutions runs on Automation Cloud and on self-hosted Automation Suite fromonward; not on Standalone Orchestrator. Available project types vary by AS version (Maestro self-hosted only from2.2510.0). Compat matrix + project-type-by-version table → Solution Overview — Platform availability.2.2510.2
通过 CLI界面创建、打包、发布、部署和管理UiPath Solution包()。一个Solution可将多个自动化项目(流程、库、测试、代理项目、API工作流)捆绑为一个单一的可部署单元。
uip solution.uipx**请使用CLI。不要自行编写REST接口处理解决方案操作。**手动编写HTTP调用会遗漏文件夹头、OData筛选器格式、分页信封、X-UIPATH-OrganizationUnitId部署语义、重试机制以及pipelinesInstall输出约定。CLI是权威实现。Result/Code/Data
**平台支持。**Solutions可在Automation Cloud和自托管Automation Suite 版本及以上运行;不支持Standalone Orchestrator。支持的项目类型因AS版本而异(Maestro自托管版本从2.2510.0开始支持)。兼容性矩阵及按版本划分的项目类型表 → Solution Overview — Platform availability。2.2510.2
When to Use This Skill
何时使用该技能
- User has a solution and wants to pack / publish / deploy / activate / upload
.uipx - User wants to create a new solution (), add or remove projects, or refresh solution resources
uip solution init - User asks to set up a CI/CD pipeline that builds, publishes, and deploys a UiPath solution
- User mentions deploy configs, environment promotion, or activating a deployed solution
- A skill or main agent detected a file and redirected the user here
.uipx
Skip this skill when:
- The task is PDD → SDD architecture/design (sdd.md / pdd.md) — load .
uipath-planner - The deployable is a single non-solution package (e.g., a one-off RPA library or coded app) — those use /
uip rpa publishand route throughuip codedapp publishor the relevant specialist.uipath-platform - The task is non-solution Orchestrator work (folders, jobs, assets, queues, IS connections) — load .
uipath-platform
- 用户拥有解决方案,需要进行打包/发布/部署/激活/上传操作
.uipx - 用户想要创建新解决方案()、添加或移除项目,或刷新解决方案资源
uip solution init - 用户询问如何搭建用于构建、发布和部署UiPath解决方案的CI/CD流水线
- 用户提及部署配置、环境升级或激活已部署的解决方案
- 某个技能或主代理检测到文件并将用户引导至此处
.uipx
跳过该技能的场景:
- 任务涉及PDD→SDD架构/设计(sdd.md / pdd.md)——请加载。
uipath-planner - 可部署对象为单个非解决方案包(例如,一次性RPA库或编码应用)——这些场景使用/
uip rpa publish,并通过uip codedapp publish或相关专业技能处理。uipath-platform - 任务涉及非解决方案的Orchestrator操作(文件夹、作业、资产、队列、IS连接)——请加载。
uipath-platform
CLI Surface Probe
CLI界面探测
Before the first command in a session, probe the surface to detect pre- vs post-rename CLI:
uip solution …solutionbash
uip solution init --help --output json- Result → post-rename CLI (default). Use the commands and flags as documented in the references.
Success - / non-zero exit → pre-rename CLI. Translate via the table below before each call. Re-probe on any later
unknown commanderror.unknown command - /
command not found/uip: not found→ CLI not installed. Tell the user to run'uip' is not recognized, thennpm install -g @uipath/cli, and abort the work until those succeed.uip login
| Post-rename (default) | Pre-rename equivalent |
|---|---|
| |
| |
| |
All other subcommands (, , , , , ) are unchanged on both surfaces.
solutionpackpublishdeploy activate/status/uninstalluploadresource …project add/import在会话中首次执行命令前,请探测界面以识别重命名前后的CLI版本:
uip solution …solutionbash
uip solution init --help --output json- 返回→ 重命名后的CLI(默认版本)。请按照参考文档使用命令和参数。
Success - 返回/ 非零退出码 → 重命名前的CLI。在每次调用前请通过下表进行转换。若后续出现
unknown command错误,请重新探测。unknown command - 返回/
command not found/uip: not found→ CLI未安装。请告知用户运行'uip' is not recognized,然后执行npm install -g @uipath/cli,在完成这些操作前终止当前任务。uip login
| 重命名后(默认) | 重命名前等效命令 |
|---|---|
| |
| |
| |
所有其他子命令(、、、、、)在两个版本中均保持不变。
solutionpackpublishdeploy activate/status/uninstalluploadresource …project add/importCritical Rules
关键规则
- Probe the CLI surface before the first command in a session. Run
uip solution.uip solution init --help --output json= post-rename CLI (default);Success= pre-rename CLI — translate via the fallback table above. Re-probe on any laterunknown commanderror.unknown command - Always use for
--output jsoncommands whose output you parse. JSON is compact and stable; the default for non-interactive runs.uip solution - Use the CLI, never roll your own REST for solution operations. Hand-rolled HTTP calls miss the header, OData filter shape, pagination envelope, and
X-UIPATH-OrganizationUnitIddeploy semantics. Only fall through to REST after confirming nopipelinesInstallcommand covers the task.uip solution - Never hand-edit . It's auto-generated by
resources/solution_folder//uip solution projects addand auto-cleaned byimport. Manual edits desync fromproject removeand produce silent failure modes. See scenarios/manual-edits.md..uipx - and
.uipxmust always agree on the project set. Diffing them is the fastest way to detect corrupted state. If they disagree, fix viaresources/solution_folder/— never by editing either side directly.uip solution projects add/remove - Run before
uip solution resources refreshorpack. Bundled artefact files anduploadmust reflect current cloud state. Skipping refresh ships stale bindings.userProfile/<userId>/debug_overwrites.json - AppV2 coded apps register in when authored inside a solution.
.uipxis the solution-side scaffolding entry point — run it from inside auip codedapp initsolution. It writes.uipx(project.uiproj) +ProjectType: "AppV2", nests source underwebAppManifest.json, and auto-registers assource/dist/— emittingType: "AppV2".resources/solution_folder/app/{Coded,CodedAction}//uip solution projects addcover existing AppV2 folders too — both readuip solution projects importto pickwebAppManifest.config.isActionApp/CodedsubType (defaultsCodedActionfor legacy folders with no manifest).Codedbundles them;uip solution packprovisions them. Standalone coded apps are a different lifecycle — scaffold them withuip solution deploy run(notnpx create-vite@latest), keep a flatuip codedapp initat the project root, and deploy viadist/→uip codedapp pack→uip codedapp publish. See /uipath:uipath-coded-apps.uip codedapp deploy - Verify the artifact after every CLI mutation. Read ,
project.json, or.uipxoutput — exit codes lie. Verification is additional; it does not replace requested read-only list commands. If the user asks to show or list registered projects, solution resources, packages, deployments, or statuses, run the matchinguip solution deploy statuscommand and then inspect files only as a secondary sanity check.uip solution ... list/status --output json - For multi-environment promotion, switch tenants with and pass a per-environment deploy config via
uip login tenant set <tenant>. The same packed--config-file <path>deploys to dev/staging/prod — the environment differs by the target tenant and the config file (generated with.uipx, edited withdeploy config get/config set), not by a different package. There is noconfig linkflag.-c <CONFIG_KEY>
- **在会话中首次执行命令前,必须探测CLI界面。**执行
uip solution。返回uip solution init --help --output json表示重命名后的CLI(默认);返回Success表示重命名前的CLI——请通过上述回退表进行转换。若后续出现unknown command错误,请重新探测。unknown command - 始终使用参数处理需要解析输出的
--output json命令。JSON格式紧凑且稳定,是非交互式运行的默认选择。uip solution - **使用CLI,切勿自行编写REST接口处理解决方案操作。**手动编写的HTTP调用会遗漏头、OData筛选器格式、分页信封以及
X-UIPATH-OrganizationUnitId部署语义。只有在确认没有对应的pipelinesInstall命令可完成任务时,才使用REST接口。uip solution - **切勿手动编辑目录。**该目录由
resources/solution_folder//uip solution projects add自动生成,并由import自动清理。手动编辑会导致与project remove不同步,产生静默故障模式。详情请参阅scenarios/manual-edits.md。.uipx - **和
.uipx必须始终保持项目集一致。**对比两者是检测损坏状态的最快方式。若两者不一致,请通过resources/solution_folder/修复——切勿直接编辑任何一方。uip solution projects add/remove - **在执行或
pack前,务必运行upload。**捆绑的工件文件和uip solution resources refresh必须反映当前云状态。跳过刷新步骤会导致部署过期的绑定。userProfile/<userId>/debug_overwrites.json - AppV2编码应用在解决方案内创建时会注册到中。
.uipx是解决方案侧的脚手架入口点——请在**uip codedapp init解决方案内部运行该命令。它会生成.uipx(project.uiproj)+ProjectType: "AppV2",将源代码嵌套在webAppManifest.json下,并自动注册为source/dist/——生成Type: "AppV2"目录。resources/solution_folder/app/{Coded,CodedAction}//uip solution projects add也支持现有AppV2文件夹——两者都会读取uip solution projects import来选择webAppManifest.config.isActionApp/Coded子类型(对于没有清单的旧文件夹,默认选择CodedAction)。Coded会捆绑这些应用;uip solution pack会部署它们。独立编码应用的生命周期不同**——请使用uip solution deploy run(而非npx create-vite@latest)搭建脚手架,在项目根目录保留扁平的uip codedapp init目录,并通过dist/→uip codedapp pack→uip codedapp publish进行部署。详情请参阅/uipath:uipath-coded-apps。uip codedapp deploy - **每次CLI变更后都要验证工件。**读取、
project.json或.uipx的输出——退出码可能存在误导。验证是额外步骤,不能替代请求的只读列表命令。若用户要求显示或列出已注册的项目、解决方案资源、包、部署或状态,请执行对应的uip solution deploy status命令,然后仅将文件检查作为二次 sanity 检查。uip solution ... list/status --output json - **对于多环境升级,请使用切换租户,并通过
uip login tenant set <tenant>传递每个环境的部署配置。**同一个打包后的--config-file <path>可部署到开发/预发布/生产环境——环境差异体现在目标租户和配置文件(通过.uipx生成,通过deploy config get/config set编辑),而非不同的包。不存在config link参数。-c <CONFIG_KEY>
Workflow
工作流程
The typical lifecycle for a UiPath Solution:
1. init / project add → Create solution, register projects (.uipx + resources/solution_folder/)
2. resources refresh → Sync bundled artefacts and debug overwrites with cloud state
3. (optional) restore → Resolve NuGet deps in place (incl. authenticated Orchestrator feeds); login first
4. pack → Produce deployable .zip package
5. login → uip login (if not already authenticated)
6. publish → Upload packed solution to UiPath
7. deploy run → Promote to Orchestrator (auto-activates by default)
8. (optional) activate → Use --skip-activate on deploy, then activate explicitlyis an optimization, not a requirement.restorerestores dependencies internally, so a separatepackstep is only useful when you want deps resolved up front — most often in CI (restore) to fail fast on a missing feed before the heavier pack runs.login → restore → packtakes arestoreonly (solution dir with a<solutionPath>, or a.uipxfile), resolves deps in place, and does not produce a package. It needs an authenticated session to reach private Orchestrator feeds, so run.uisbefore it.uip login
AppV2 coded apps in the solution flow through, notuip solutiondirectly. When a coded-app project hasuip codedappinType: "AppV2",.uipxbundles itsuip solution packand.nupkgprovisions it in the deployment folder — no separateuip solution deploy run/uip codedapp pack/publishstep. Standalone coded apps (scaffolded outside any solution viadeploy, flatnpx create-viteat the project root, nodist//project.uiproj) use the directwebAppManifest.jsonpath instead. Seecodedappfor the standalone lifecycle and for authoring an AppV2 project inside a solution viauipath-coded-apps.uip codedapp init
Two distinct distribution paths from the same source:
- →
pack→publish— promotes a versioned package to Orchestrator.deploy run - — pushes the solution to Studio Web for browser-based debugging only. Does not produce a published package and cannot be deployed via
upload.deploy run
Authentication is a prerequisite. Check before any work; if not logged in, ask the user to run (interactive browser flow). See for full auth options (interactive OAuth, client credentials, tenant switching).
uip login status --output jsonuip loginuipath-platformThis skill is the terminal step of an SDD-driven build: after produces the SDD and derives the task list, and implementation specialists build the projects, the is packed and shipped here.
uipath-planner.uipxUiPath Solution的典型生命周期:
1. init / project add → 创建解决方案,注册项目(.uipx + resources/solution_folder/)
2. resources refresh → 将捆绑的工件和调试覆盖配置与云状态同步
3.(可选)restore → 就地解析NuGet依赖(包括已认证的Orchestrator源);需先登录
4. pack → 生成可部署的.zip包
5. login → uip login(若未已认证)
6. publish → 将打包后的解决方案上传至UiPath
7. deploy run → 部署到Orchestrator(默认自动激活)
8.(可选)activate → 在部署时使用--skip-activate参数,然后显式激活是优化步骤,非必需。restore会在内部自动恢复依赖,因此单独的pack步骤仅在需要提前解析依赖时有用——最常见于CI环境(restore),以便在执行更耗时的pack步骤前快速检测缺失的源。login → restore → pack仅接受restore参数(包含<solutionPath>的解决方案目录或.uipx文件),就地解析依赖,不会生成包。它需要已认证的会话才能访问私有Orchestrator源,因此请在执行前运行.uis。uip login
**解决方案中的AppV2编码应用通过处理,而非直接使用uip solution。**当编码应用项目在uip codedapp中注册为.uipx时,Type: "AppV2"会捆绑其uip solution pack,.nupkg会在部署文件夹中部署它——无需单独执行uip solution deploy run/uip codedapp pack/publish步骤。独立编码应用(通过deploy在解决方案外搭建脚手架,项目根目录为扁平的npx create-vite,无dist//project.uiproj)则直接使用webAppManifest.json流程。有关独立生命周期以及如何通过codedapp在解决方案内创建AppV2项目,请参阅uip codedapp init。uipath-coded-apps
同一源代码有两种不同的分发路径:
- →
pack→publish—— 将版本化的包部署到Orchestrator。deploy run - —— 将解决方案推送到Studio Web,仅用于基于浏览器的调试。不会生成已发布的包,也无法通过
upload部署。deploy run
认证是前提条件。在执行任何操作前,请检查;若未登录,请告知用户运行(交互式浏览器流程)。有关完整的认证选项(交互式OAuth、客户端凭证、租户切换),请参阅。
uip login status --output jsonuip loginuipath-platform该技能是SDD驱动构建的最终步骤:在生成SDD并推导任务列表,实现专家完成项目构建后,会被打包并提交至此处处理。
uipath-planner.uipxReference Navigation
参考导航
| File | Purpose |
|---|---|
| Solution Overview | What a Solution is, |
| Develop a Solution | |
| Pack and Deploy | |
| Activate and Manage | |
| Scenarios Index | Failure modes and edge cases — manual edits, shared resources, virtual resources, name collisions |
| 文件 | 用途 |
|---|---|
| Solution Overview | 介绍Solution是什么、 |
| Develop a Solution | 讲解 |
| Pack and Deploy | 讲解 |
| Activate and Manage | 讲解 |
| Scenarios Index | 介绍故障模式和边缘情况——手动编辑、共享资源、虚拟资源、名称冲突 |
Anti-patterns
反模式
- Hand-rolling REST calls for ,
pack,publish, ordeploy run. TheactivateCLI handles auth, folder headers, pipeline semantics, and pagination correctly. Reach for REST only after confirming no command covers the task.uip solution - Editing directly. It is auto-generated and auto-cleaned. Manual edits desync from
resources/solution_folder/. Use.uipxinstead.uip solution projects add/remove - Skipping before
uip solution resources refreshorpack. Ships stale bindings and debug-overwrite state.upload - Running /
uip codedapp pack/publishon an AppV2 project that's already registered indeploy. Once registered as.uipx, the coded app is part of the solution —Type: "AppV2"/uip solution pack/uip solution publishhandle it. Directuip solution deploy runbypasses the solution's deploy config (external client ID, routing name, action schema) and creates a duplicate registration. Useuip codedapp publishdirectly only for standalone coded apps scaffolded withuip codedapp(nonpx create-vitein the tree, no.uipx/project.uiproj).webAppManifest.json - Creating a new per environment instead of using deploy configs. One packed solution promotes to dev/staging/prod via a per-environment
.uipx(and--config-fileto target the tenant). Differentuip login tenant setfiles per environment defeats version tracking..uipx - Using (Studio Web) as a deployment path. Upload is for browser-based debugging only — it does not produce a published package and cannot be promoted via
uip solution upload. Usedeploy run→pack→publishfor real deploys.deploy runalso lands the solution in Studio Web's Cloud workspace tab — not the Local tab; SW's Local tab is a separate registration not addressable byupload.uip solution - Trusting exit codes alone after a mutation. Always read the artefact (,
project.json, deploy status) — a non-zero exit may indicate partial state and a zero exit can mask warnings..uipx
- 为、
pack、publish或deploy run手动编写REST调用。activateCLI可正确处理认证、文件夹头、流水线语义和分页。只有在确认没有对应的命令可完成任务时,才使用REST接口。uip solution - **直接编辑目录。**该目录是自动生成和清理的。手动编辑会导致与
resources/solution_folder/不同步。请使用.uipx替代。uip solution projects add/remove - **在执行或
pack前跳过upload步骤。**会导致部署过期的绑定和调试覆盖状态。uip solution resources refresh - **对已在中注册的AppV2项目执行
.uipx/uip codedapp pack/publish命令。**一旦注册为deploy,编码应用就是解决方案的一部分——由Type: "AppV2"/uip solution pack/uip solution publish处理。直接执行uip solution deploy run会绕过解决方案的部署配置(外部客户端ID、路由名称、操作 schema),并创建重复注册。仅对通过uip codedapp publish搭建的独立编码应用(目录树中无npx create-vite,无.uipx/project.uiproj)直接使用webAppManifest.json命令。uip codedapp - **为每个环境创建新的文件,而非使用部署配置。**一个打包后的解决方案可通过每个环境的
.uipx(以及--config-file切换目标租户)部署到开发/预发布/生产环境。为每个环境创建不同的uip login tenant set文件会破坏版本追踪。.uipx - 将(Studio Web)作为部署路径。Upload仅用于基于浏览器的调试——不会生成已发布的包,也无法通过
uip solution upload升级。请使用deploy run→pack→publish进行正式部署。deploy run还会将解决方案上传到Studio Web的Cloud workspace标签页——而非Local标签页;SW的Local标签页是独立的注册项,无法通过upload访问。uip solution - **仅依赖退出码判断变更结果。**务必读取工件(、
project.json、部署状态)——非零退出码可能表示部分状态异常,零退出码也可能掩盖警告信息。.uipx