GitHub Copilot CLI 及 Claude Code 的 Power Pages 插件提供 AI 輔助的工作流程,用於在 Power Pages 上建立、部署及管理現代 單頁應用程式(SPA) 網站。 與其手動搭建專案架構、撰寫模板 API 程式碼或設定權限,不如用自然語言描述你想要的,外掛就會自動處理實作。
該外掛透過對話技巧支援完整的網站開發生命週期,從搭建新網站架構到部署、設定 Dataverse 資料模型,以及設定認證。
Important
- 生成式 AI 程式設計代理(例如 GitHub Copilot CLI 或 Claude Code)會運用這個插件的技能與工作流程,完成 Power Pages 專屬的任務。
- AI 編碼代理產生的程式碼與設定可能不準確。 在批准或部署之前,務必審查、測試並驗證所有產生的內容。 在 核准經紀人提案前,務必先審閱 。
先決條件
在開始之前,請確認你擁有所需的軟體和權限。
軟體需求
| 組件 | 最低版本 | 詳細資訊 |
|---|---|---|
| Node.js | 18.0 或更新版本 | 下載 Node.js |
| Power Platform CLI (PAC CLI) | 2.6.3 或更新版本(伺服器邏輯必備) | 安裝 PAC CLI |
| Azure CLI | Latest | 安裝 Azure CLI |
| GitHub Copilot CLI 或 Claude Code | Latest | GitHub Copilot CLI 或 Claude Code |
| Visual Studio Code 與 Power Platform Tools 擴充功能(可選) | Latest | 下載 VS Code 並 安裝 Power Platform 工具 |
您也會需要:
- 一個啟用 Power Pages 的 Power Platform 環境。
- 一個 經過認證的 PAC CLI 會話 連接到你的目標環境。 如果你還沒有連線,請執行
pac auth create。 - Azure CLI 工作階段已登入同一個租用戶。 執行
az login --allow-no-subscriptions來驗證。
驗證身份:
用指令 pac auth list 確認你已經認證。
pac auth list # Should show authenticated profile
如果你沒有認證,請執行這個指令:
pac auth create --environment <Instance url> # Authenticate to Power Platform
Tip
要取得實例網址,請前往Power Pages首頁,選擇右上角的 Settings 圖示,然後選擇 Session details。
安裝外掛
從市集安裝 Power Pages 外掛。 如果你使用 GitHub Copilot CLI,請參閱 Copilot CLI 擴充功能文件 中的相同安裝步驟。 以下指令使用 Claude Code 語法。
快速安裝(建議)
執行安裝程式,設定所有啟用自動更新的插件:
Windows (PowerShell):
iwr https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js -OutFile install.js; node install.js; del install.js
macOS/Linux/Windows (cmd):
curl -fsSL https://raw.githubusercontent.com/microsoft/power-platform-skills/main/scripts/install.js | node
安裝程式會自動執行:
- 若尚未安裝
pacCLI,則會進行安裝。 - 偵測可用工具,如 Claude Code 與 GitHub Copilot CLI。
- 註冊插件市集並安裝所有列出的插件。
- 啟用自動更新,讓外掛保持最新。
安裝後,重新啟動 Claude Code 或 GitHub Copilot CLI,即可在代理會話中以斜線指令存取外掛的技能。
從市集安裝
在你的終端機裡開啟 Claude Code。
新增 Microsoft 市集:
/plugin marketplace add microsoft/power-platform-skills安裝 Power Pages 外掛:
/plugin install power-pages@power-platform-skills
安裝外掛後,請重新啟動 Claude Code 或 GitHub Copilot CLI,以便在代理會話中以斜線指令的方式存取外掛功能。
Tip
要自動接收市場和技能的更新,請開啟自動更新。 使用 /plugin 指令,前往 市集,選擇市集,並開啟自動更新。
技能概觀
該外掛提供涵蓋 Power Pages 網站完整生命週期的技能。 在對話中召喚每個技能,無論是用斬擊指令,還是描述你想做的事。
| 技能 | 命令 | 其功能是什麼 |
|---|---|---|
| 建立網站 | /create-site |
搭建網站架構,套用你的設計方向,並建立頁面和元件 |
| 部署地點 | /deploy-site |
透過 PAC CLI 建置專案並上傳到 Power Pages |
| 啟動網站 | /activate-site |
配置網站記錄並指派公開網址 |
| 建立資料模型 | /setup-datamodel |
建立 Dataverse 表格、欄位及關係 |
| 新增範例資料(可選) | /add-sample-data |
將真實的測試記錄填充 Dataverse 資料表 |
| 整合 Web API | /integrate-webapi |
產生有型別的 API 用戶端程式碼、服務及資料表權限 |
| 新增 AI 摘要 | /add-ai-webapi |
將生成式 AI 摘要 API(搜尋摘要與資料摘要)整合到您的頁面中。 產生具類型摘要服務,並包含防偽權杖處理、架構特定包裝函式、固定呼叫位置以及相應的 Summarization 網站設定 |
| 設定認證 | /setup-auth |
新增登入、登出及基於角色的存取控制。 支援 Microsoft Entra ID、Microsoft Entra 外部 ID、OpenID Connect、SAML 2.0、WS-Federation、Microsoft 帳戶、Facebook、Google 及本地使用者名稱與密碼驗證,包括多提供者設定 |
| 建立網頁角色 | /create-webroles |
產生網頁角色 YAML 檔案以管理使用者存取 |
| 新增伺服器邏輯 | /add-server-logic |
產生安全的伺服器端 JavaScript 端點,用於驗證、外部 API 呼叫、秘密管理及資料操作 |
| 新增雲流 | /add-cloud-flow |
將現有的 Power Automate 雲端流程整合到您的網站,用於審核工作流程、通知及排程自動化 |
| 整合後端 | /integrate-backend |
分析你的原型,判斷每個功能所需的正確方法(Web API、伺服器邏輯或雲端流程),並協調完整的建置序列 |
| 新增 SEO | /add-seo |
產生 robots.txt、sitemap.xml和元標籤 |
| 執行安全審查 | /security-review |
協調聚焦的安全技能,並將所有發現整合成單一 HTML 報告。 涵蓋程式碼、相依性、部署站點掃描、瀏覽器標頭、網頁應用程式防火牆、資料表權限及認證設定 |
| 掃描原始碼 | /scan-code |
執行靜態分析與本地原始碼檔案的相依掃描;呈現跨程式碼模式、易受攻擊套件、硬編碼祕密及授權問題的發現 |
| 掃描部署站點 | /scan-site |
啟動對正式網站執行的伺服器端安全掃描,擷取最新報告,並依嚴重程度將發現結果分組 |
| 管理瀏覽器安全標頭 | /manage-headers |
檢查並設定網站傳送給瀏覽器的 HTTP 安全標頭——內容安全政策、框架與點擊劫持保護、跨來源分享、Cookie 行為及相關網站設定 |
| 管理網頁應用程式防火牆 | /manage-firewall |
檢查並設定生產站點的網頁應用防火牆(WAF):啟用保護、新增或移除 IP 封鎖、國家封鎖、路徑封鎖及速率限制 |
| 稽核資料表權限 | /audit-permissions |
審核現有資料表權限與網站程式碼及 Dataverse 元資料;產生一份依嚴重程度分組的 HTML 報告,並提出建議的修正 |
| 部署計畫 | /plan-alm |
偵測專案狀態、收集推廣策略、呈現視覺化計畫,並依序協調其他應用程式生命週期管理(ALM)技能 |
| 作者解法 | /setup-solution |
建立發佈者與解決方案,新增 Power Pages 元件,分類網站設定,並提出環境變數與 Azure Key Vault 秘密 |
| 設定管線主機 | /ensure-pipelines-host |
佈建或偵測供 Power Platform 管線使用的主機環境 |
| 建立管線 | /setup-pipeline |
在 Dataverse 中註冊管線定義,並將升級階段繫結至目標環境 |
| 透過管線部署 | /deploy-pipeline |
觸發目標階段的管線部署,並覆寫各階段的環境變數 |
| 強制連結環境 | /force-link-environment |
在主機衝突導致部署受阻時,將目標環境重新指派至新的 Power Platform 管線主機 |
| 匯出解決方案 | /export-solution |
匯出解決方案為管理型或非管理型壓縮包,匯出前會檢查完整性 |
| 匯入解決方案 | /import-solution |
將解決方案 ZIP 檔匯入至目標環境,可採分段或直接方式 |
| 測試網站 | /test-site |
透過瀏覽器測試驗證已部署的網站:頁面爬取、基於角色的存取檢查及 Web API 驗證 |
| 診斷部署 | /diagnose-deployment |
將部署失敗與已知錯誤目錄比對,並提出修正方案 |
典型工作流程
常見的端到端工作流程如下:
- /create-site:架設、設計和建置頁面
- /deploy-site :上傳到你的Power Pages環境
- /activate-site :設置公開網址
- /setup-datamodel :建立 Dataverse 表格
- /add-sample-data :以範例數據填入資料表
- /integrate-webapi :產生 API 客戶端程式碼並設定權限
- /create-webroles : 定義訪問角色
- /setup-auth :新增登入、登出及基於角色的使用者介面
- /add-server-logic :新增安全的伺服器端端點
- /新增雲端流程:整合現有的 Power Automate 流程
- /add-seo :搜尋引擎優化
- /deploy-site:即時推送最終變更
- /security-review :在進入生產環境前執行端對端的安全審查
- /plan-alm :將您的網站推廣到測試及生產環境
Tip
- 你不需要完全照這個順序走。 每個技能都會檢查自己的前置條件,並告訴你是否缺少某些東西。 例如,如果你的網站需要先驗證,你可以先執行
/setup-auth再執行/integrate-webapi。 - 如果你不確定每個功能該用哪種方法,可以執行
/integrate-backend而不是分別執行第 4 到 10 步。 它會分析你的原型,判斷每個功能是否需要 Web API、伺服器邏輯或雲端流程,並依正確順序協調各項技能。 - 若要新增 AI 生成的搜尋與記錄摘要,請在 後
/add-ai-webapi執行/integrate-webapi。 它會沿用由/integrate-webapi設定的表格權限和網站設定,因此請在 Web API 整合就緒後再執行。
建立你的 Power Pages 網站
本導覽涵蓋使用外掛建置 Power Pages 網站的完整生命週期,從支架架構到部署。 每個步驟都描述你說了什麼,以及外掛的回應。
步驟 1:建立你的網站
用自然語言描述你想要的網站:用途、需要哪些頁面,以及任何設計偏好,例如配色、版面風格或字體。 執行 /create-site 或描述你的網站,外掛就能辨識你的意圖。
如果你沒指定框架,外掛會要求你選擇一個(React、Vue、Angular 或 Astro),然後:
- 從範本架構專案,套用你的網站名稱、顏色和設計標記。
- 安裝相依性、啟動開發伺服器,並開啟即時預覽。
- 它會用相關的圖片來建構你要求的每一頁、元件和路線。
- 在重要里程碑處建立 git 提交,讓您有內建的復原歷程記錄。
步驟二:部署您的網站
執行 /deploy-site 將你的網站上傳至 Power Pages。 插件:
- 確認 PAC CLI 已安裝且你的認證會話仍在啟動。
- 在繼續前,先與你確認目標環境。
- 執行生產環境建置並上傳編譯輸出。
- 若不存在部署工件目錄,則會建立一個。
Note
如果你的環境阻擋了某些檔案附件,外掛會偵測問題並提供解決指令。
步驟三:啟用您的網站
執行 /activate-site 使網站對外開放。 插件:
- 根據你的網站名稱建議子網域,並讓你自訂。
- 透過 Power Platform API 提供網站紀錄。
- 輪詢直到網站上線,並傳回公用 URL。
此時,你有一個可用的公開網址網站。 剩下的步驟則會加入資料、驗證和 SEO。 跳過任何不適用於你網站的步驟。
步驟四:建立你的資料模型
執行 /setup-datamodel 以建立你網站所需的 Dataverse 表格。 如果你已經有 ER 圖或特定架構,直接提供,不要讓客服分析你的程式碼。
該外掛會產生一個 資料模型架構代理程式,該代理會:
- 分析您網站的程式碼,判斷頁面和元件需要哪些資料。
- 查詢 Dataverse 環境中現有的資料表以避免重複。
- 提出一個包含資料表、欄位、資料型態與關係的資料模型,並以ER圖示方式視覺化。
你審查並批准提案。 插件在你確認之前不會產生任何東西。 核准後,外掛會透過 API 呼叫建立資料表和欄位,並儲存一個清單檔案,步驟 5 和 6 會使用。
步驟五:新增範例資料(可選)
執行 /add-sample-data 任務,將測試記錄填滿你的資料表。 此步驟需使用第四步的資料模型。
該外掛執行以下動作:
- 閱讀清單以了解你的表格、欄位和關係。
- 為每種欄位類型產生符合情境的值,例如真實的電子郵件、合理的日期及格式化的貨幣金額。
- 依相依順序插入紀錄(父資料表置於子資料表之前),並在批量插入時自動刷新認證權杖。
步驟 6:與 Dataverse Web API 整合
執行 /integrate-webapi 以即時 Dataverse 查詢取代模擬資料。 此步驟需使用第四步的資料模型。
該外掛執行以下動作:
- 掃描程式碼基底,找出使用模擬資料、預留位置擷取呼叫或硬式編碼陣列的元件。 它會將這些元件對應到你的 Dataverse 資料表。
- 為每個資料表生成 Web API 整合 代理程式,該代理程式會產生以下內容:
- 一個共享的 API 客戶端,具備防偽造令牌管理與重試邏輯。
- TypeScript 實體類型與領域映射器。
- CRUD 服務層。
- 框架專用的模式,例如 React 鉤子、Vue 組合檔或 Angular 服務。
- 會產生一個 權限架構 代理程式,提出表格權限與站點設定。
你審查並批准權限提案。 外掛在你確認之前不會建立任何設定檔。
新增 AI 生成摘要(可選)
執行 /add-ai-webapi,即可在你的 Web API 整合上疊加生成式 AI 摘要。 此技能將兩個預覽摘要 API 連接到您的記錄細節與清單頁面:
- 搜尋摘要 API:回傳 AI 精簡的搜尋結果摘要,並附有引用。
- 資料摘要 API:傳回 Dataverse 資料表中每筆記錄的摘要或清單層級的深入解析。
此步驟建立在第 4 步的資料模型及第 6 步的 Web API 整合之上。 該外掛執行以下動作:
- 掃描你的程式碼尋找摘要整合點,並確認目標頁面、表格及使用哪些 API。
- 將任何缺少的 Web API 前置條件——資料表權限、欄位列表和網頁角色——委派給
/integrate-webapi和/create-webroles,確保權限有一個單一的真實來源。 - 繁衍一個產生具類型摘要服務 (
aiSummaryService.ts) 的 AI Web API 整合 Agent,並在目標頁面中提供防偽權杖處理、架構特定包裝函式 (React 掛勾、Vue 可組合函式或 Angular 服務) 和固定呼叫位置。 - 會產生 一個 AI Web API 設定 架構師代理程式,負責建立
Summarization網站提示與內容限制的設定。
你審查並批准提案。 外掛不會在你確認前產生程式碼或建立設定。
Note
摘要 API 目前處於預覽階段,依賴於啟用管理及站點層級的控制功能。 如果部署後沒有摘要,請透過相關網站設定和管理員控制確認該功能已啟用。 欲了解更多資訊,請參閱 Data Summarization API overview 及 Power Pages 使用 Genative AI 搜尋。
步驟七:建立網頁角色
執行 /create-webroles 以定義使用者存取角色。 插件:
- 查詢您的環境中現有的 web 角色以避免重複。
- 產生具有唯一識別碼的角色定義。
- 強制每個站點最多擁有一個匿名角色和一個認證角色。
步驟八:設定認證
執行 /setup-auth 後可為你的網站新增登入、登出及基於角色的存取控制。 該外掛支援以下身份提供者,且可同時設定一個或多個提供者。
| Provider | 最適合用於 |
|---|---|
| Microsoft Entra 外部 ID(推薦用於面向客戶的網站) | 公開網站與客戶入口網站,提供自助註冊服務。 |
| Microsoft Entra ID | 內部員工入口網站或企業對企業(B2B)合作夥伴網站。 Power Pages 會自動設定網站的父租戶,因此你不需要輸入租戶資訊。 |
| Microsoft、Facebook、Google | 消費者社群登入功能。 |
| 本地驗證 | 使用者名稱和密碼登入。 不建議,且只有在你明確要求時才會設定。 |
欲了解更多支援提供者的資訊,包括協定與設定考量,請參閱
插件:
- 分析你的網站(目的、頁面、受眾),並提出合理的預設方案。 例如,該外掛建議面向客戶的網站使用採開放註冊的 Microsoft Entra 外部 ID,或建議內部入口網站使用採僅限邀請註冊的 Microsoft Entra ID。 你可以接受推薦,或是自己選擇服務提供者。
- 針對每個提供者,它會引導你完成身份提供者管理中心的所有前置步驟,例如建立租戶、註冊應用程式、建立使用者流程,以及擷取客戶端 ID 和重定向 URI。 外掛會驗證你貼回對話中的每個值,並計算你網站的精確重定向 URI,確保貼在應用程式註冊中的值與網站設定中的值相符。
- 詢問使用者個人資料資料如何從身份提供者流向 Dataverse 聯絡記錄(理賠映射)、是否每次登入同步還是僅首次登入,以及是否透過電子郵件自動連結外部登入與現有聯絡人。
- 產生驗證服務、類型宣告、角色型授權公用程式 (
hasRole、RequireAuth、RequireRole)、可防止 SPA 工作階段無預警過期的工作階段保持運作掛勾,以及與網站版面配置整合的登入/登出 UI 元件。 外掛程式全程採用您的架構模式,例如 React 掛勾、Vue 可組合函式、Angular 服務或 Astro 元件。 - 當設定多個提供者時,會產生一個以你所選版面配置呈現的
/login頁面:水平排列、垂直堆疊、主要焦點或分頁。 - 在
.powerpages-site/site-settings/下寫入每個提供者、註冊模式、宣告對應和選用功能的相應網站設定。
當你開啟外掛時,外掛也會配置以下可選功能:
-
條款與條件:
/terms用戶必須在完成登入前接受 SPA 頁面,並附上相應的網站設定與內容片段。 -
User 個人頁面:一個
/user-profileSPA 頁面,登入使用者可透過 Power Pages Web API 編輯聯絡資訊。 - 同盟登出:對於共用裝置或受監管案例,當使用者從網站登出時,他們也會在識別提供者處登出。
Tip
若要為現有網站新增第二個身份提供者,請再次執行 /setup-auth 。 外掛會偵測目前已設定好的項目,並提供新增供應商的選項,而且不會覆寫現有的供應商。 這種方法適用於漸進式情境,例如從 Microsoft Entra 外部 ID 開始,後續加入 Google 用於社交登入。
Note
用戶端授權(RequireAuth, RequireRole, ) hasRole僅用於使用者體驗。 它控制使用者所看到的內容。 由 /integrate-webapi 配置的伺服器端資料表權限可強制落實真正的安全性。
步驟 9:新增伺服器邏輯
執行 /add-server-logic 以在您的網站新增安全的伺服器端點。 當你的網站需要無法在瀏覽器執行的邏輯時,例如外部 API 呼叫、伺服器端驗證、秘密管理或跨實體資料操作,請使用 Server Logic 。
Important
伺服器邏輯支援需要 PAC CLI 版本 2.6.3 或更新版本。 使用 快速安裝腳本 更新到最新版本。
請用淺顯的語言描述你需要什麼,以及外掛:
- 會產生一個 Server Logic Architect 代理程式,分析你的使用案例並分類其複雜度。
- 提出端點設計、安全設定及任何必要的資料表權限供您審查。
- 核准後,會在
/_api/serverlogics/<name>生成伺服器端的 JavaScript 端點。 - 建立具類型的用戶端服務以從您的元件叫用端點。
- 更新您裝置的元件,使其能呼叫新的服務。
- 設定端點的網頁角色指派與資料表權限。
你審查並批准提案。 在你確認之前,不會產生任何程式碼。
常見用例:
- 連接外部服務。 呼叫 REST API、Azure Functions 或第三方服務,且不暴露憑證。 (教學:與外部服務互動)
- 執行安全的資料操作。 查詢、更新或刪除 Dataverse 紀錄,並具備一致的伺服器端驗證。 (教學:與 Dataverse 表格互動)
- 執行自訂邏輯。 在資料表間彙整資料、執行業務規則,或在將結果回傳給用戶端前計算衍生值。
- 伺服器端管理秘密資訊。 憑證和 API 金鑰儲存在伺服器端,絕不存在客戶端程式碼。 (教學:與Microsoft Graph及SharePoint互動)
Note
每個使用案例執行 /add-server-logic 一次。 舉例來說,如果你的網站同時需要一個庫存驗證端點和一個全域搜尋端點,請執行該技能兩次。
步驟 10:整合雲端流程
執行 /add-cloud-flow,將現有的Power Automate雲端流程整合到你的網站。 這項技能能將您的 Power Pages 網站與您已在 Power Automate 中建立的流程連結起來。 它不會創建新的雲端工作流程。
插件:
- 將現有的雲端流程註冊於您的網站。
- 產生用戶端程式碼以從您的頁面觸發流程。
- 處理非同步工作流程狀態與回調模式。
- 連結頁面與流程之間的資料交換。
使用 /add-cloud-flow 來處理比伺服器端端點更適合由Power Automate執行的核准工作流程、電子郵件通知、排程工作和事件驅動自動化。
替代方案:使用 /integrate-backend 來規劃完整服務層
如果你不確定哪些功能需要 Web API、伺服器邏輯或雲端流程,建議執行 /integrate-backend 步驟 4 到 10 步驟,而不是手動執行。 此技能作為一種調度者,能夠:
- 分析你的原型,找出所有需要服務層的功能。
- 將每個功能分類為正確的方法:標準 CRUD 的 Web API、伺服器端驗證與外部 API 的 Server Logic,或審核工作流程與自動化的雲端流程。
- 提出包含所有技能、相依性與配置的序列執行計畫。
- 系統在您核准後,依正確順序編排技能。
計畫是持久的、可恢復且可編輯的。 每一步結束後,先停下來檢視產生的程式碼或測試網站,然後再跑 /integrate-backend 一遍,從中斷的地方繼續。
步驟 11:加入 SEO
執行 /add-seo 以優化您的網站,使其對搜尋引擎更友好。 插件:
- 從你的架構路由器設定中發現路由。
- 為所有發現路線產生搜尋引擎指令及網站地圖。
- 新增中繼標籤:檢視區、字元集、描述、Open Graph、Twitter Card 和最愛圖示參考。
步驟 12:部署最終站點
如果你執行了任何可選步驟,請再次執行 /deploy-site 以即時推送變更。 該外掛會執行生產環境建置,並將網站及所有部署產物(資料表權限、網站設定、網頁角色、伺服器邏輯檔案)上傳到你的 Power Pages 環境。
步驟 13:進行安全審查
在部署至正式環境之前,請執行 /security-review,對您的網站進行端對端安全審查。 該技能協調聚焦的安全技能,並將所有發現整合成單一的 HTML 報告。docs/security-review-<timestamp>.html
外掛會以淺白易懂的方式詢問一個關於您目標的問題,並挑選出相符的一組重點技能:
| Goal | 它檢查的內容 |
|---|---|
| 程式碼與設定 | 原始碼、相依關係、資料表權限與認證設定。 只能支援本地檔案,不需要部署。 |
| 發佈準備就緒(建議) | 發表前完整評論。 執行所有重點技能:程式碼與相依、部署站點掃描、瀏覽器安全標頭、網頁應用程式防火牆、資料表權限與認證。 |
| 部署地點 | 僅限即時部署現場掃描。 對於持續監控已發佈網站非常有用。 |
確認後,外掛會平行執行匹配重點技能,並將發現寫入單一報告:
-
/scan-code: 對本地原始碼檔案執行靜態分析(opengrep)及相依掃描(trivy)。 找出程式碼模式、有漏洞的套件、硬式編碼的機密資訊以及授權問題。 如果沒有安裝任何一個工具,技能會提供手動程式碼審查作為備用。 -
/scan-site:開始對現場站點進行伺服器端安全掃描,並取得最新報告。 掃描時間取決於站點大小——小型站點幾分鐘內完成,大型站點可能需要數小時。 發現依嚴重程度分組。 需要已部署的網站。 -
/manage-headers: 檢查以下設定下的.powerpages-site/site-settings/HTTP 安全標頭:內容安全政策、X-Frame-Options、CORS、cookie SameSite 及相關設定。 識別缺失或弱值並建議預設值。 -
/manage-firewall: 檢查生產站點的網頁應用防火牆(WAF),包括管理規則狀態及自訂規則(IP 區塊、國家區塊、路徑區塊、速率限制)。 僅在支援區域的生產現場提供;該技能能偵測並回報資格問題。 -
/audit-permissions:根據網站程式碼和 Dataverse 中繼資料,稽核現有資料表權限。 會出現缺少權限、過於寬鬆的角色、未使用的權限,以及 YAML 架構問題。
合併報告會按章節彙整發現事項、在您的預設瀏覽器中開啟,並提供以淺白易懂文字撰寫的修補指引。 根據對話內容,外掛接著會帶你逐步完成修正——選擇一項發現結果後,外掛便會互動式地啟用相符的專門技能來套用變更。
Note
安全審查不會自動套用變更。 每個重點技能在整合執行期間皆以唯讀檢閱模式執行。 要套用修正,外掛會在你選擇動作後互動式地調用匹配技能。
Tip
你也可以單獨執行任何特定技能:
- 在開發期間執行
/scan-code,以便及早發現程式碼層級問題。 - 執行
/manage-headers以修正特定的內容安全政策錯誤或設定 CORS。 - 執行
/manage-firewall,即可在登入頁面設定速率限制,或依國家封鎖流量。 - 更改資料表權限後執行
/audit-permissions,確認它們仍然符合網站代碼。 - 在已部署網站於一段時間內持續監視生產網站的目標下,重新執行
/security-review。
請驗證你的網站
完成技能後,請確認你的 Power Pages 網站是否正常運作。
- 請前往Power Pages。
- 請在 活躍網站 列表中找到您的網站。
- 使用 預覽 選項在桌面版預覽您的網站。
- 測試功能。
跨環境推廣你的網站
當你的網站在開發環境中運作良好後,運用應用程式生命週期管理(ALM)技能,將其推廣到測試與生產環境。 該外掛會將您的網站打包為 Power Platform 解決方案,辨識不同環境間的數值,並透過 Power Platform Pipelines 或手動匯出匯入來部署解決方案。
要使用 ALM 技能,你還需要至少一個目標 Power Platform 環境(測試、生產環境或兩者兼有)。 要使用可選的 Azure Key Vault 流程來管理秘密,你也需要在 Azure 訂閱中取得建立 Key Vault 的權限。
規劃部署
執行 /plan-alm 以開始。
/plan-alm 是 ALM 的入門點,並協調其他 ALM 技能,所以通常不會直接執行。 插件:
- 偵測您專案、解決方案及目標環境的當前狀態。
- 詢問您的升階策略 (Power Platform 管線或手動匯出與匯入)、目標階段,以及任何要套用的限制式。
- 會在
docs/alm-plan.html產生一個視覺化計畫,顯示其打算採取的每一項行動。 - 在執行任何下游技能前,等待你的批准。
計畫會持續存在磁碟,因此每個下游技能都會從同一個持久化計畫讀取和寫入。 如果某個階段失敗,再跑 /plan-alm 一次,它就會從停止的地方繼續。
撰寫解決方案
執行 /setup-solution ,將你的網站包裝成 Power Platform 解決方案。 插件:
- 建立發佈者與解決方案,然後新增您的 Power Pages 元件:網站、網頁角色、伺服器邏輯端點、雲端流程註冊及 OAuth 提供者設定。
- 依敏感度分類每個場址環境,並提出環境變 數 以應不同環境差異值。
- 提供佈建 Azure Key Vault 並在其中儲存認證類型值(例如連線字串和 API 金鑰)的功能。
- 當網站已有解決方案時,會以同步模式運行,以調整各項元件而無需創建新解決方案。
你審查並批准提案。 插件在你確認之前不會建立任何設定。
Tip
如果你的解決方案太大或糾纏,無法穩定部署,插件會建議分割並建議拆分位置。 在變動生效前,先確認分拆。
使用 Power Platform Pipelines 進行部署
如果你選擇 Power Platform Pipelines 作為推廣策略,該外掛會執行以下技能:
-
/ensure-pipelines-host配置或偵測 Power Platform 管線的主機環境。 技能會選擇對租戶來說成本最低的選項:免費平台主機、現有環境中的 Pipelines 應用程式,或自訂主機。 -
/setup-pipeline在 Dataverse 中註冊管線定義,配置你選擇的階段,並將每個階段綁定到目標環境。 -
/deploy-pipeline會觸發某個階段的部署、透過deploymentSettings.json套用各階段的環境變數覆寫設定,並在部署台帳中追蹤狀態。
如果部署因目標環境已連結至其他 Power Platform 管線主機而失敗,則外掛程式可以執行 /force-link-environment 來重新指派該環境。 此行為需你明確同意,且可撤銷。
使用手動匯出和匯入進行部署
如果你選擇手動路徑,外掛會執行:
-
/export-solution將解決方案匯出為受管理或非受管理的 ZIP,並在匯出前檢查完整性。 -
/import-solution將 ZIP 匯入目標環境,先分階段驗證相依性或直接匯入。
啟用並驗證已部署的網站
在目標環境中成功部署後,外掛:
- 執行
/activate-site以在目標環境中配置公開 URL。 - 執行
/test-site以驗證部署。 該外掛使用瀏覽器來爬取代表性頁面、執行基於角色的存取檢查、驗證/_api/通話,並從端點擷取回應形狀/_api/serverlogics/。 此技能會將結果報告為PASS、WARNINGS或FAIL,並從方案連結至各項檢查的詳細資料。
如果步驟失敗,該插件會執行 /diagnose-deployment。 該技能會將失敗與已知部署錯誤清單(如過時清單、缺少相依性、主機衝突、阻擋 JavaScript 或認證過期)進行比對,並提出具體的解決方案。 這個外掛在未經你同意的情況下絕不會套用修正。
Note
每個 ALM 技能都會從磁碟上的產物讀寫:解決方案清單、計畫資料、管線帳本、部署帳本和測試結果。 此編排可恢復且可稽核。 要了解任何步驟發生了什麼,可以檢查文物。
訣竅和最佳做法
以下建議能幫助你在建立 Power Pages 網站時,充分發揮外掛和 AI 編碼代理的效能。
第一次運行時,請注意終端機輸出是否有缺少的工具
外掛提供技能和工作流程,但 AI 程式代理程式——GitHub Copilot CLI 或 Claude Code——會實際執行你的電腦指令。 當你第一次使用這些工具時,請仔細觀察終端輸出。 AI 程式代理在幕後執行指令和腳本,其中一些指令依賴可能未安裝在你電腦上的工具。 如果步驟失敗,終端機輸出通常會顯示找不到哪個工具或指令。
如果你看到像 command not found 或 這樣的 is not recognized錯誤,安裝缺少的工具並重新啟動工作流程。 AI 編碼代理在此工具可用後,會從中斷的地方繼續。
在核准前審查代理人提案
AI 編碼代理會先提出提案,例如資料模型架構師(Data Model Architect)和權限架構師(Permissions Architect)的提案,然後再進行修改。 AI 編碼代理生成的程式碼與設定可能不準確,因此在批准或部署前,務必審查、測試並驗證每一個提案及所有產生的程式碼。
- 資料模型提案:檢查資料表名稱、欄位類型與關聯是否符合您的業務需求。 調整提案比在資料已插入後重新命名欄位要容易得多。
- 權限提案:確認每個角色對每個資料表都有正確的存取權限(建立、讀取、更新、刪除)。 過於寬鬆的資料表權限是常見的安全風險。
- 產生的程式碼:先閱讀產生的程式碼,並在部署前在本地測試網站。 AI 生成的程式碼可能包含錯誤或安全問題。
直接貼上錯誤並附上上下文
當發生失敗時,無論是建置錯誤、部署失敗,或瀏覽器執行時例外,都要複製完整的錯誤輸出。 貼上去,並附上你當時的簡單說明。 你提供越多的背景,修正速度就越快。
範例:建置錯誤
I ran npm run build and got this error. Fix it.
error TS2339: Property 'jobTitle' does not exist on type 'JobPosting'.
src/components/JobCard.tsx:24:31
24 <Text>{posting.jobTitle}</Text>
Tip
請包含檔案名稱、你執行的指令,以及你預期會發生什麼。 外掛會利用這個上下文來定位問題並針對性地修正,而不是靠猜測。
分享 Web API 錯誤與完整請求 URL
部署後常見的問題是,當欄位未啟用 API 存取時,Power Pages Web API 會發出 403 錯誤。 遇到錯誤時,貼上 完整的 API URL 和 完整的 JSON 錯誤回應。 錯誤訊息會告訴你需要修正哪個表格和欄位,外掛也能幫你更新資料表權限的 YAML 和網站設定。
範例:Web API 未啟用資料行 (403)
I'm getting a 403 error when the documents page loads. Here's the API call and the response. Fix the issue so this API works.
URL:
https://my-site.powerappsportals.com/_api/crd50_documents?$select=crd50_documentid,crd50_name,crd50_documentcategory,crd50_filetype,crd50_filesize,crd50_updateddate,crd50_description,_crd50_propertyid_value
Response:
{
"error": {
"code": "90040101",
"message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
"innererror": {
"code": "90040101",
"message": "Attribute _crd50_propertyid_value in table crd50_document is not enabled for Web Api.",
"type": "AttributePermissionIsMissing"
}
}
}
這個錯誤AttributePermissionIsMissing()表示查詢欄位 _crd50_propertyid_value 存在於 Dataverse 資料表中,但未列在 Web API 的資料表權限設定中。 外掛會透過將缺失欄位加入資料表權限 YAML .powerpages-site/table-permissions/ 並重新部署來解決此錯誤。
Note
Power Pages Web API 要求 API 呼叫回傳的每一欄都必須在資料表權限中明確列出。
查找屬性(前綴_與後綴_value)容易被忽略,因為它們的 API 名稱與 Dataverse 中列的邏輯名稱不同。 當你看到 AttributePermissionIsMissing時,務必將該欄位加入資料表權限。 不要更改 API 查詢。
要具體說明你想要什麼
模糊的請求只會產生模糊的結果。 告訴外掛你需要什麼,包括版面偏好、資料欄位和行為。
| 取代 | 試用 |
|---|---|
| 建立職位頁面 | 建立一個職缺頁面,頂部設有搜尋欄,並使用篩選標籤來篩選地點和部門,此外,以卡片網格顯示每個職缺的職稱、公司、薪資範圍及發布日期。 |
| 「修正造型」 | 任務卡在桌面上垂直堆疊。 在螢幕寬於768px的螢幕上,讓它們以三欄格子顯示,間隔16px。」 |
| 「新增一些資料」 | 「新增20則涵蓋四個部門(工程、行銷、銷售、人力資源)的範例職缺,職稱實際,薪資介於6萬至18萬美元,並公布過去30天內的日期。」 |
| 「設定 API」 | 將 JobListings 元件連接到 cr_jobposting Dataverse 資料表。 用一個真正的 API 呼叫取代硬編碼陣列,該呼叫能取得職稱、部門、薪資和發布日期。」 |
| 「新增登入」 | 「設定 Microsoft Entra 外部 ID 登入並開放註冊,並以 Google 作為第二服務提供者。 在登入頁面上以水平列顯示它們。」 |
對於視覺問題,請使用截圖
當網站在瀏覽器中看起來不對時,截圖直接貼到對話中,或提供檔案路徑。 視覺語境有助於辨識難以在文字中描述的版面、間距與樣式問題。
The header overlaps the hero section on mobile. Here's a screenshot:
[paste screenshot or provide path to screenshot file]
Fix the header so it doesn't overlap. It should be a fixed header with the content starting below it.
逐步迭代
與其在一個提示中描述整個網站,不如逐步建立。 先從結構和版面開始,然後一個一個地加入功能。 這種方法讓你有機會在每個步驟中檢視並修正方向。
Step 1: /create-site → Get the basic scaffold and layout right
Step 2: "Add a hero section to the home page with a search bar"
Step 3: "Add a job listings page with filter and sort"
Step 4: "Add a job detail page that shows full description"
Step 5: /setup-datamodel → Create tables now that you know the data shape
Step 6: /integrate-webapi → Wire up real data
Tip
每一步結束後,請查看瀏覽器預覽。 如果有什麼不對勁,先修正再繼續前進。 在一個元件中解決問題比在整個網站中解開問題要容易得多。
在批准前請先詢問原因
當你對擬議的變更不確定時,特別是允許權限、資料模型修改或認證設定時,請要求外掛程式說明它計畫要做什麼以及原因,然後再批准。
Before you create the table permissions, explain what access each role will have and why. I want to understand the security implications.
獨立執行技能以從問題中復原
如果某個技能在過程中途失敗,你不需要重新開始。 每個技能獨立運作,可以從中斷的地方接續。 例如,如果 /integrate-webapi 對第三個資料表執行失敗,您可以重新執行,系統會偵測已完成的工作。
/integrate-webapi failed while processing the cr_applications table. Here's the error: [paste error]. Resume the integration from where it stopped.