Copilot Managed Runtime CLI 实战:从本地开发到托管部署

本文用一个只读内部应用,拆解 Copilot Managed Runtime CLI 的安装、登录、本地开发、连接器接入、Git 推送、托管预览与部署,并说明租户权限、环境路由、运行时许可、连接器策略和计费限制,帮助你在试点前判断这条 Microsoft 365 托管应用路径是否可行。

发布于

Copilot Managed Runtime CLI 实战:从本地开发到托管部署

借助 Copilot Managed Runtime CLI,你可以把 AI 生成的内部应用放进真正的 Git 仓库持续修改,再从 localhost 迁移到 Microsoft 托管环境,而不必分别搭建托管、登录、连接器、部署和监控系统。Copilot Managed Runtime 于 2026 年 9 月 25 日进入公开预览;目前面向开发者的路径,是 Copilot Managed Runtime SDK 加上它的 ms 命令行工具。它给业务带来的核心价值并不是让代码生成得更快,而是用一条受治理的通道,替代接入 Microsoft 365 租户所需的一整套平台工程。能否走通,则取决于租户条件、连接器策略和运行时许可是否到位。

Copilot Managed Runtime CLI 背后的托管运行时是什么

Copilot Managed Runtime 是内部业务应用的托管平台。代码仍可编辑,源代码管理仍使用真正的 Git;Microsoft 则负责托管运行时、Microsoft Entra 登录、受治理的数据连接、预览与部署机制,以及面向管理员的应用清单。

可以把它理解成一座为代码提供服务的办公楼。每个房间里做什么,仍由你设计;大楼负责门禁、公共设施、安全规则、维护记录和物业团队。这和只生成“房间布局”的 AI 编程界面并不是一回事。

Microsoft 将这套 SDK 定位为内部业务线应用的开发层。它内置 Entra 身份验证,无需自行编写身份代码;JavaScript 和 TypeScript 可访问超过 1,500 个连接器,但应用究竟能使用哪些连接器和操作,仍由租户策略决定。公开预览阶段的边界,可以从 SDK 概览和发布公告中确认。

本文只讨论当前可用的 SDK 和 CLI,不会把 Copilot Code 或 Autopilot 当成这套工具链的别名。

从本地开发经过 Git 和预览,最终进入线上托管应用的架构流程
推送只会更新源代码;打开预览、执行部署或主动运行构建,才会触发平台构建。

应用在每个阶段究竟存放在哪里

应用所处的生命周期阶段不同,答案也不同:

阶段工作内容所在位置此时已经发生的事
本地本地工作树和开发服务器ms app dev 启动本地开发循环,平台尚未构建或部署应用。
已提交平台管理的 Git 仓库,或你自己的外部 GitHub 仓库git push 更新唯一可信的源代码,但不会触发构建。
预览每个应用固定的托管预览 URL如果打开预览时最新提交尚未构建,平台会将其加入构建队列。预览始终指向最近一次成功构建。
线上单独的托管线上 URLms app deploy 会发布一次成功构建。下一次明确部署前,线上版本会一直停留在该快照。
受治理个人开发者环境和 Microsoft 365 管理中心的应用清单Entra 身份、租户策略、运行状况、用量和生命周期控制共同约束应用。

这种分离非常关键:预览版可以持续前进,线上版仍保持稳定;新的预览构建即使失败,也不会替换上一个成功版本。

先检查准入条件,再写代码

最浪费时间的做法,是等应用完成后才发现租户或许可证不满足要求。动手前先核对以下 5 项。

准入条件必查项为什么会卡住流程
运行时访问资格使用符合条件的商业云租户符合条件的租户会自动获得该运行时,无需另行安装。
CLI 创建权限请全局管理员或 Power Platform 管理员启用通过 CLI 创建应用的路径公开预览期间,该路径默认关闭。开关位于 Microsoft 365 管理中心的 应用 > 概览 > 设置应用创建空间。
环境路由确认测试用户能匹配一条路由规则无法匹配规则的制作者既拿不到个人开发者环境,也无法创建应用。
开发工具Node.js LTS 24.11.0 或更高版本、Git 2.27.0 或更高版本,以及 Git Credential ManagerCLI 及其基于 Git 的工作流依赖这 3 项工具。
运行时许可开发者和运行应用的测试用户必须拥有 Power Apps Premium,或有资金支持的 Managed Application Copilot Credits虽然其他 CLI 开发命令不强制检查许可,但本地运行和最终用户运行都会校验。

计费方式和管理策略需要单独做预算决策。在向试点用户开放前,建议先阅读 Copilot Managed Runtime 价格拆解。本文只强调一个容易忽略的操作细节:本地运行并不是绕过费用的办法,它与最终用户运行需要相同的运行时许可。

Node、Git、Git Credential Manager、租户 CLI 权限和运行时许可这 5 道架构关卡
在评估构建速度或承诺部署日期之前,先通过全部 5 道关卡。

本文实际验证了什么

软件包检查确实执行过,但租户端流程没有跑通。

2026 年 9 月 27 日检查项结果
Node.js24.21.0,高于 Microsoft 要求的最低版本 24.11.0
Git2.53.0,高于 Microsoft 要求的最低版本 2.27.0
CLI 软件包已在本地安装 @microsoft/managed-apps-cli@0.25.1
ms --version0.25.1
Git Credential Manager缺失
CLI 身份状态因缺少 libsecret-1.so.0,在租户身份验证前终止
符合条件的测试租户本次测试无法获得

因此,本文不会声称测出了首个本地页面或托管预览所需的时间,也没有实际观察构建失败、检查 Entra 身份、调用连接器、执行部署或产生运行时账单。下面给出的是 Microsoft 文档规定的流程,不是伪装成实测结果的实验报告。

用 CLI 跑通一个小型运营应用

这里使用一个名为 Ops Intake 的模拟应用。第一版只做一件事:从租户批准的数据源读取记录,并以只读队列展示。先从读取操作入手,可以让首次策略审查保持清晰;等身份、源权限、连接器策略和运行时许可全部验证通过,再加入写入能力。

为保证可复现,以下命令固定使用 2026 年 9 月 27 日验证过的 CLI 版本。你也应在仓库中记录自己选定的版本,避免预览版软件包更新后悄然改变试点行为。

Bash
npm install -g @microsoft/managed-apps-cli@0.25.1
ms --version

ms auth login
ms app create ops-intake --display-name "Ops Intake"
cd ops-intake

npm install
ms app dev

ms connector list --search SharePoint
ms connector list-actions --connector <allowed-connector-id> --search list
ms app add data-source --connector <allowed-connector-id>

git add .
git commit -m "first ops intake flow"
git push

ms app play --mode preview
ms app build-status
ms app deploy

下面逐步解释每一次状态转换。

1. 登录并创建受治理的应用外壳

ms auth login 会打开 Microsoft Entra 登录。在无界面的机器上,CLI 还支持 --device-code。ms app create 会创建应用记录和项目脚手架,默认使用平台管理的 Git 仓库。如果环境路由允许,首次执行 create 或 init 时,还会为制作者配置与其身份绑定的开发者环境。

不要随意选择仓库模式。平台管理的 Git 启动最快;外部仓库则可使用 GitHub.com 或 GitHub Enterprise Cloud。这条路径不支持 GitHub Enterprise Server、Azure DevOps 和其他提供商。仓库模式在应用的整个生命周期内都不能更改,之后想切换,只能重新创建应用。

2. 在本地运行,并记录首次可用耗时

先安装一次脚手架项目所需的依赖,再运行 ms app dev。该命令会读取 ms.config.json,启动项目的开发进程,并输出 Local Play URL。请在已登录该租户的同一个浏览器配置文件中打开它。

执行 ms app dev 前立即开始计时,首个可用页面渲染完成后停止,并单独记录浏览器权限造成的中断。Chrome 和 Microsoft Edge 可能会阻止公共来源访问 localhost,直到用户授予本地网络访问权限;这是浏览器关卡,不是应用构建失败。

3. 验证一次受治理的读取操作

ms connector list 会显示连接器 ID、身份验证类型、表格数据支持情况,以及 Data Loss Prevention 和 Advanced Connector Policy 的状态。应以该输出作为当前环境的判断依据。某个连接器出现在 Microsoft 目录中,并不代表你的租户一定允许使用。

在 Ops Intake 中,选择一个获准的 SharePoint 连接、数据集和列表,再选取读取或列表操作。交互式 ms app add data-source 流程会在 generated/ 目录下生成带类型的 TypeScript 模型和服务。应用应调用生成的读取方法,而不是自行拼装原始 Graph 令牌流程。

请在浏览器中确认 3 件事:

  1. 当前登录用户就是预期的 Entra 身份。
  2. 该用户只能看到源系统原本允许其访问的记录。
  3. 当同一用户失去数据源访问权限时,应用能够安全失败。

以后共享应用,并不会同时授予底层数据的访问权限。每个接收者仍需具备正确的数据源权限和连接。这是治理能力,不是部署障碍。

4. 提交并推送真实源代码

继续使用常规 Git 命令即可;运行时 CLI 不会取代源代码管理。提交内容应包括已可工作的应用改动,以及项目所需的连接器绑定生成文件。

最需要记住的陷阱很简单:git push 不会构建应用,它只会更新远程仓库中的唯一可信源代码。

5. 打开托管预览并检查构建结果

ms app play --mode preview 会打开固定的预览端点。如果最新推送的提交尚未构建,打开预览就会将其加入构建队列。请记录从打开预览到新版本就绪所需的时间。

如果构建失败,运行 ms app build-status;也可以加上 --commit <sha>。将完整失败原因与对应提交一起保存。新版本仍在构建或已经失败时,预览会继续提供上一次成功构建。预览 URL 只面向对仓库拥有写权限的开发者,并不能随意发给评审人员使用。

如果希望在打开预览前启动构建,可以运行 ms app build。不过,多数团队应先掌握默认行为:推送源代码,然后打开预览。

6. 只部署已经检查过的版本

ms app deploy 会把一次成功构建发布到线上应用。线上版是固定快照,不会跟随每次推送或预览构建自动变化。

要进行可控发布,请记录提交 SHA、查看构建状态并打开该提交的预览,确认无误后再运行 ms app deploy --commit <sha> 部署。使用同一参数还可以干净地回滚到较早的成功构建,无需重写 Git 历史。

平台层改变了成本结构

这套运行时不会让应用开发变成零成本。它改变的是:哪些能力需要团队另行采购或自行搭建。

成本项传统内部应用Copilot Managed Runtime 路径
托管配置并运维应用主机Microsoft 托管运行时已包含在部署模型中
身份自行接入登录、授权和 Conditional Access内置 Entra 身份
数据访问分别开发并保护每个集成使用带类型的连接器服务,但仍受租户和数据源策略限制
源代码与发布自行组合仓库、构建、预览和发布机制基于 Git 的源代码、托管预览、构建状态和明确部署共用一套工具链
治理应用完成后再登记、追踪负责人并补建控制措施从创建时起就纳入应用清单和租户策略
使用成本工具席位、云账单和运维时间运行时仍需 Power Apps Premium 或 Copilot Credits

可对比的软件预算并不低。Retool 官方价格页显示,Team 套餐每位构建者每月 $10、每位内部用户每月 $5;Business 套餐则分别为每月 $50 和 $15。Copilot Managed Runtime 不会天然比这些价格更低。对于 Microsoft 365 组织,它可能省去单独的平台工程,但运行时许可证或 credits、连接器工作和管理时间仍是真实成本。

在认定它更便宜之前,先用下面的公式核算试点:

试点成本 = 开发时间 + 管理设置 + 运行时许可 + 连接器与数据工作。

最有可能下降的是平台搭建成本,最容易带来意外的则是每一位应用用户所需的运行时许可。

适合这套运行时的 7 类内部应用

最合适的候选项目,是那些更看重身份、受治理的 Microsoft 365 数据和可控发布,而不是公共店面的内部工作流。

排名使用者具体工作流为什么可能产生回报
1通过邮件和电子表格接收请求的运营团队将请求集中到一个经过 Entra 身份验证的队列,读取获准的 SharePoint 记录、分配负责人,并先经过预览再发布变更在租户策略边界内工作,同时减少分散的状态追踪
2负责新员工入职的 HR 和 IT 团队读取获准的录用记录,显示按岗位划分的任务,链接正确文档,并追踪向责任团队的交接减少遗漏交接,也无需再建立一套身份孤岛
3审核采购或发票异常的财务团队展示符合策略的队列、佐证文档和便于审计的决策状态审核人员可以在一个受控界面中完成工作,不必从消息和文件中拼凑上下文
4协调产品发布的市场团队读取规划数据、显示依赖关系、标记缺失的审批,并让当前版本保持在线,同时在预览中准备下一版发布管理应用符合 Microsoft 自己给出的场景,也能受益于稳定的线上快照
5处理异常工单的现场服务经理为协调人员提供经过租户身份验证的工作台,用于处理需要重新分派、审核零件或升级的问题应用可以集中处理例外,而不取代真正拥有这些记录的系统
6收集证据的合规团队从获准的 Microsoft 365 数据源读取记录,整理审核状态,并向管理员展示应用运行状况与未登记的内部脚本相比,集中身份和应用清单可以让责任归属更清楚
7管理客户交接的销售运营团队读取客户上下文、显示必要的后续步骤,并通过策略批准的操作转交负责人价值来自减少交接遗漏,而不是替换 CRM

每个用例都应从只读开始。加入写入操作、外部端点、第三方连接器或广泛共享应用,都会改变审查范围。默认策略只包含 18 个 Microsoft 第一方连接器,而不是整个目录;即使连接器已经获准,其中一些开放式 HTTP、任意代码、任意查询和任意平台操作仍会被阻止。

值得围绕这套运行时打造的 3 类产品

最有潜力的产品,是 Microsoft 365 新员工入职指挥中心。它既对应实测需求最高的方向,工作流又天然横跨身份、文档、任务、邮件和团队交接。

新员工入职、审批和定制应用这 3 类产品机会及其月度搜索需求
新员工入职的实测搜索需求最高,审批方向的增长趋势则更快。

1. Microsoft 365 新员工入职指挥中心

打造一个内部应用,让 HR 和 IT 在同一处查看获准的新员工记录、待办任务、文档链接和负责人。HR 运营与 IT 服务团队愿意为更少的交接遗漏和更简单的审计链路付费。

需求已有数据支撑:“employee onboarding software”在美国每月约有 590 次搜索,具备商业意图,每次点击成本为 $156.35。更具体的 “best employee onboarding software”每月有 90 次搜索,建议数据中的年度趋势增长为 180%。

最小可售版本只服务一个部门:读取一份获准的员工列表,展示任务清单,并把每项任务链接到负责人。只有只读路径通过策略和权限测试后,再加入连接器操作。

但这里的风险不容忽视。HR 数据十分敏感,数据源权限也很容易被误解,而且成熟的入职软件厂商已经覆盖更广泛的 HR 工作流。只有当 Microsoft 365 治理和租户原生运行比通用而冗长的功能清单更重要时,这款产品才有胜算。

2. 受治理的审批工作台

为财务、采购或运营团队打造可复用的审批界面:它们有明确的决策状态,却常常缺少集中呈现的佐证上下文。客户购买的是更快的审核和可控的发布流程,而不是又一个表单生成器。

“Approval workflow software”在美国每月约有 320 次搜索,具备商业意图,每次点击成本为 $114.86;建议数据中的年度趋势增长为 53%。这些信号说明,市场正在主动寻找解决方案,也给专注 Microsoft 365 的实现留下了空间。

MVP 只包含一种请求类型、一个获准的数据源、只读审核界面、决策历史,以及一个经过策略批准的操作。决策模型必须保持确定性,不要把审批规则藏进生成式文本中。

主要障碍仍是连接器策略。即使某个连接器获准,具体操作也可能被阻止;经典数据策略还可能与 Advanced Connector Policies 叠加,并以限制最严格的结果为准。

3. 托管应用迁移评估

把评估做成标准化服务:接手一个 AI 生成或定制开发的内部 Web 应用,判断它能否迁移到 Copilot Managed Runtime。目标客户是已有可用原型,却不想再维护一套独立托管和治理栈的 Microsoft 365 组织。

“Custom business app development”在美国每月约有 90 次搜索,具备商业意图,每次点击成本为 $84.03。搜索量较小,但这个查询已经非常接近服务采购阶段。

MVP 需要盘点应用的仓库、运行时假设、外部端点、身份代码、数据源和必要操作,然后给出“可迁移、需改造或停止”的判断,并把一个只读功能切片移植到测试环境。

风险在于平台集中化。该服务只适用于符合条件的 Microsoft 365 租户;公开预览行为可能变化,不受支持的源代码提供商或被阻止的外部资源,也可能让看似简单的迁移演变成重建。

Copilot Managed Runtime 解决不了哪些问题

它是受治理内部应用的一条可期待路径,却不是通用应用平台。

  • 该功能仍处于公开预览阶段,文档也属于预发布版本,因此命令行为和策略界面都可能变化。
  • 即使租户符合运行时条件,通过 CLI 创建应用的路径也不会自动开放;该路径默认关闭。
  • 它不会让超过 1,500 个连接器全部成为可用数据源。租户策略、连接器操作策略、经典数据策略和源权限仍共同决定访问结果。
  • 它不会把内部业务线应用变成面向公众的客户产品。预览仅限拥有仓库写权限的开发者;线上访问则需要在治理模型内主动共享。
  • 它不支持所有仓库提供商。外部源代码仅限 GitHub.com 和 GitHub Enterprise Cloud,且仓库模式不能原地更改。
  • 它不会取消运行时许可要求。本地运行和用户运行都需要 Power Apps Premium,或有资金支持的 Managed Application Copilot Credits。
  • 它不会给管理员一份完美的取证记录。管理视图涵盖应用清单、用量、运行状况、连接器、数据源和依赖关系,但 Microsoft 明确表示,它无法完整展示精确目标、动态端点、实际执行的操作或每位用户在数据源中的有效权限。
  • 它也不能证明本文作者完成过部署。由于缺少 Git Credential Manager、Linux 密钥存储库以及符合条件的租户,本次流程在登录前就已停止。

决策边界其实很清楚:如果应用只供内部使用、组织本就深度使用 Microsoft 365,而且省下来的身份与治理工作足以抵消采用预览平台及租户控制的代价,就值得尝试。如果需要公共 SaaS 产品、其他源代码提供商、基础设施控制权,或管理员无法批准的发布模型,则应选择其他托管方式。

常见问题

如何运行我的 Copilot agent?

Copilot Managed Runtime 的 CLI 路径用于运行内部应用,并不是通用的 agent 进程。使用 ms app dev 在本地运行应用,通过 ms app play --mode preview 打开托管的开发者构建,再用 ms app deploy 发布成功构建。如果你指的是对话式 Copilot agent,请遵循对应 agent 产品的运行时说明。

初学者应该怎样使用 Copilot?

针对本文这项能力,先准备一个由管理员启用的测试用户、一个极小的内部应用,以及一个获准的只读连接器。在运行 ms auth login 和 ms app create 之前,先确认 Node、Git、Git Credential Manager、CLI 版本、环境路由和运行时许可。

可以追踪 Copilot 的使用情况吗?

对于 Copilot Managed Runtime 应用,管理员可以在 Microsoft 365 管理中心查看应用清单、用量分析、运行状况、策略、连接器和依赖关系。这只是应用层面的运维可见性,并不代表所有 Copilot 产品都提供同样的信息。

雇主能看到 Copilot 聊天记录吗?

本文引用的 Managed Runtime 文档并未证明雇主可以访问 Copilot 聊天记录。文档说明的是应用清单、用量、运行状况、策略、连接器、数据源和依赖关系,不能据此把应用控制能力扩展成对聊天可见性的更广泛结论。

下周一就做这一步

请一位 Power Platform 管理员为一个测试组启用 CLI 创建权限,确认该组对应的环境路由规则,并为两名测试用户准备运行时许可。选择一个不含敏感数据的 SharePoint 列表和一个只读操作,然后让开发者在试点日志中记录 4 项信息:CLI 版本、首个本地页面耗时、托管预览耗时,以及实际部署的提交 SHA。如果 Entra 身份、数据源权限或连接器策略与书面预期不一致,就停止试点。

如果希望为你的企业规划并落地这条受治理的应用路径,可以先从 AI 生产系统评估开始。

发布日期
分类
Build
Ollama vs llama.cpp:本地大模型部署,怎么选才合适?

Ollama vs llama.cpp:本地大模型部署,怎么选才合适?

Ollama vs llama.cpp 怎么选?本文从模型管理、GGUF 量化、API 兼容性、并发配置与 GPU 支持逐项比较,说明何时选择 Ollama 的便捷流程,何时需要 llama.cpp 的直接控制,并梳理迁移前要核对的模型文件、上下文与请求行为,帮助团队根据实际负载决定是否更换运行时。2026年10月16日Build
Devin 价格与 Desktop 评测:迁移、功能和选型

Devin 价格与 Desktop 评测:迁移、功能和选型

Devin 价格是否划算,取决于工作流程能否受益。本文梳理 Devin Desktop 的 Agent Command Center、Spaces、Devin Local 与 ACP 接入,解释 Windsurf 迁移缺口、各套餐费用及 Teams 计费差异,说明何时更适合 Cursor 或 Claude Code。2026年10月16日Build
上下文窗口有多大才够用?读懂 token 限制与长上下文

上下文窗口有多大才够用?读懂 token 限制与长上下文

上下文窗口有多大,决定了模型一次能容纳多少输入与输出,却不保证它能准确利用所有信息。本文解释 token 限制与上下文长度的区别,对照 Claude、GPT-6 和 Gemini 4 的窗口及输出规则,并用预算示例说明为何提示词放得下、回答却可能超限,再介绍检索、摘要、压缩和缓存各自能解决什么问题。2026年10月16日Build
RAG 与微调怎么选?企业知识、模型行为与成本对比

RAG 与微调怎么选?企业知识、模型行为与成本对比

RAG 与微调该怎么选?先分清模型缺少企业知识,还是反复出现行为问题。本文通过客服问答、品牌文案和工单分类三个案例,拆解搭建方式、训练与推理费用,并说明提示词工程、长上下文和缓存如何改变成本比较。结合模型支持、部署端点、文档权限与评估要求,帮助团队判断何时检索、何时微调,以及何时值得将两者结合。2026年10月16日Build
Aider AI 评测:安装教程、模型配置与 API 费用

Aider AI 评测:安装教程、模型配置与 API 费用

Aider AI 适合谁?本文梳理终端编程、Git 自动提交、仓库映射与模型配置,提供安装和首个任务教程,对比 Claude Code、Codex CLI 与 Cursor 的工作流,并按明确的 token 预算计算 API 费用,说明测试、上下文和兼容性限制,帮你判断是否值得为这套灵活但需要自己把关的工具投入时间。2026年10月16日Build
Claude Code GitHub Actions 实战:配置、费用与权限控制

Claude Code GitHub Actions 实战:配置、费用与权限控制

用 Claude Code GitHub Actions 在 GitHub 中按需审查 PR、修复 Issue。本文讲清 API 与订阅计费、安装配置、工具权限、轮数和超时限制,提供可复制的工作流示例,并解释 fork 安全边界、常见故障与自动审查的启用时机,帮助小团队逐步落地,保留人工合并决策。2026年10月15日Build
Zed Editor 评测:原生编辑、AI 智能体与迁移取舍

Zed Editor 评测:原生编辑、AI 智能体与迁移取舍

Zed Editor 值得替代 VS Code 或 Cursor 吗?本文梳理原生编辑、多缓冲区、多人协作及 3 种 AI 智能体接入方式,说明套餐价格、安装配置、扩展迁移、调试和团队管理的限制。以官方公开文档为依据,帮助个人开发者和团队在真实项目中判断该换编辑器,还是继续保留现有工具链。2026年10月15日Build
OpenCode vs Claude Code 2026:模型、订阅与工作流怎么选?

OpenCode vs Claude Code 2026:模型、订阅与工作流怎么选?

OpenCode vs Claude Code 怎么选?本文从模型自由度、本地运行、Claude 订阅接入、子智能体、MCP、插件和编辑器审查入手,梳理两款 AI 编程智能体的优势与限制,并说明费用差异、凭据使用边界,以及从 Claude Code 迁移到 OpenCode 时需要处理的指令、集成和恢复问题。2026年10月15日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。