本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
開始為客服人員提供 WorkSpaces 應用程式的存取權
若要讓 AI 代理器透過 Amazon WorkSpaces 應用程式操作桌面應用程式,您可以建立為代理程式啟用存取權的堆疊、產生串流 URL,並將您的代理程式連線至受管 MCP 服務。
如果您是第一次設定客服人員存取,您可以使用建置您的第一個客服人員快速入門體驗。您也可以遵循本主題中的步驟,手動設定客服人員存取。GitHub 儲存庫提供快速入門體驗 — sample-code-for-workspaces-agent-access
本教學課程大約需要 15 分鐘才能完成。
重要
您在本教學課程中建立的資源可能會對您的帳戶 AWS 收取費用。刪除堆疊並在完成後停止機群,以避免持續收費。
在本教學課程中,您會完成下列任務:
步驟 1:建立啟用客服人員存取的堆疊
步驟 2:產生串流 URL
步驟 3:將您的代理程式連線至 MCP 服務
步驟 4:驗證客服人員活動
步驟 5:清除 資源
先決條件
開始前,請確定您具有下列項目:
-
作用中的 Amazon WorkSpaces 應用程式機群。如果您尚未設定,請參閱 Amazon WorkSpaces 應用程式入門:設定範例應用程式。
-
AWS 憑證 (環境變數、 AWS 設定檔、EC2 執行個體角色或 Lambda 執行角色),具有下列 IAM 許可。代理程式會直接使用這些登入資料來簽署對 MCP 服務的請求:
{ "Sid": "MCP", "Effect": "Allow", "Action": ["agentaccess-mcp:*"], "Resource": "*" }, { "Sid": "AppStream", "Effect": "Allow", "Action": ["appstream:CreateStreamingURL", "appstream:DescribeFleets"], "Resource": "*" }萬
agentaccess-mcp:*用字元包含下列動作:agentaccess-mcp:InvokeMcp— 初始化工作階段並探索工具agentaccess-mcp:GetScreenshot— 擷取畫面狀態agentaccess-mcp:LeftClick— 執行滑鼠左鍵點選agentaccess-mcp:DoubleClick— 執行按兩下agentaccess-mcp:TripleClick— 執行三擊agentaccess-mcp:RightClick— 按一下滑鼠右鍵agentaccess-mcp:MiddleClick— 執行滑鼠中鍵點選agentaccess-mcp:TypeText— 輸入文字字串agentaccess-mcp:KeyPress— 按按鍵或按鍵組合agentaccess-mcp:HoldKey— 保留金鑰持續期間agentaccess-mcp:Scroll— 在座標上捲動agentaccess-mcp:MovePointer— 將指標移至座標agentaccess-mcp:LeftClickDrag— 執行滑鼠左鍵拖曳agentaccess-mcp:LeftMouseDown— 按住滑鼠左鍵agentaccess-mcp:LeftMouseUp— 放開滑鼠左鍵agentaccess-mcp:CheckConnectionStatus— 檢查串流工作階段的連線狀態agentaccess-mcp:CallForwardedTool— 在遠端執行個體上調用轉送工具
-
與 MCP 相容的代理程式架構。代理程式必須能夠對 MCP 端點發出 SigV4-signed可串流 HTTP 請求。Strands Agents SDK
提供原生 MCP 用戶端支援,您也可以搭配 mcp-proxy-for-aws 傳輸使用任何架構。 -
Python 3.10 或更新版本。不需要特定的作業系統。
步驟 1:建立啟用客服人員存取的堆疊
建立已啟用代理程式存取的 WorkSpaces 應用程式堆疊,以允許 AI 代理程式與桌面應用程式互動。
使用 AWS 管理主控台
建立具有代理程式存取權的堆疊
-
在左側導覽窗格中,選擇堆疊,然後選擇建立堆疊。
-
在堆疊詳細資訊頁面 (步驟 4 之 1) 的 AI 代理程式存取下,選取啟用 AI 代理程式存取。選擇下一步。
-
在啟用儲存頁面 (步驟 4 之 2) 上,選擇性地啟用主資料夾,以允許您的代理程式將檔案儲存至您 AWS 帳戶中的 Amazon S3 儲存貯體。與此堆疊相關聯的機群必須允許透過網際網路或 Amazon S3 的 Amazon VPC 端點存取 Amazon S3。選擇下一步。
-
在編輯客服人員設定頁面上 (步驟 3/4),設定下列項目:
-
啟用電腦輸入 — 允許客服人員選擇按鈕、輸入文字,並在桌面上捲動。如果您啟用電腦輸入,您還必須啟用電腦視覺。
-
啟用電腦視覺 — 允許客服人員查看桌面。
-
螢幕擷取畫面儲存:設定在串流工作階段期間存放客服人員螢幕擷取畫面的位置。如果啟用,請提供您有權寫入的 Amazon S3 儲存貯體。
-
螢幕解析度 — 選取客服人員串流環境的顯示解析度 (1280x720)。
-
螢幕影像類型:選取客服人員螢幕擷取的影像格式 (PNG 或 JPEG)。
-
應用程式設定持續性 — 選擇性地啟用此功能,以在工作階段之間儲存代理程式的應用程式自訂和 Windows 設定。設定會儲存至您 AWS 帳戶中的 Amazon S3 儲存貯體。
-
啟用 MCP 工具轉送 — 允許客服人員透過直接 MCP 呼叫與應用程式和桌面作業系統互動,而不是使用電腦使用工具。啟用時,WorkSpaces 應用程式工作階段上設定的 MCP 工具會轉送至代理程式。
-
啟用使用者控制模式 — 允許使用者透過瀏覽器即時觀察客服人員工作階段。當客服人員運作時,觀察者會看到桌面的即時檢視。在 VIEW_STOP 模式中,觀察者可以使用畫面頂端的按鈕來停止代理程式。一旦停止,代理程式必須啟動新的工作階段才能繼續。
注意
您必須啟用至少一個電腦輸入或電腦視覺。
選擇下一步。
-
-
在檢閱和建立頁面上 (步驟 4/4),檢閱您的設定,然後選擇建立堆疊。
使用 AWS CLI
執行下列命令來建立啟用代理程式存取的堆疊:
aws appstream create-stack \ --nameyour-stack-name\ --agent-access-config '{ "Settings": [ {"AgentAction": "COMPUTER_VISION", "Permission": "ENABLED"}, {"AgentAction": "COMPUTER_INPUT", "Permission": "ENABLED"}, {"AgentAction": "FORWARD_MCP_TOOLS", "Permission": "ENABLED"} ], "ScreenResolution": "W_1280xH_720", "ScreenImageFormat": "PNG" }'
若要啟用螢幕擷取畫面儲存,請新增 S3BucketArn和 ScreenshotsUploadEnabled 參數:
aws appstream create-stack \ --nameyour-stack-name\ --agent-access-config '{ "Settings": [ {"AgentAction": "COMPUTER_VISION", "Permission": "ENABLED"}, {"AgentAction": "COMPUTER_INPUT", "Permission": "ENABLED"}, {"AgentAction": "FORWARD_MCP_TOOLS", "Permission": "ENABLED"} ], "ScreenResolution": "W_1280xH_720", "ScreenImageFormat": "PNG", "S3BucketArn": "arn:aws:s3:::your-bucket-name", "ScreenshotsUploadEnabled": true }'
建立堆疊之後,請將其與機群建立關聯。代理程式無法連線到沒有相關聯機群的堆疊。
aws appstream associate-fleet \ --stack-nameyour-stack-name\ --fleet-nameyour-fleet-name
步驟 2:產生串流 URL
使用標準 WorkSpaces 應用程式 CreateStreamingURL API 建立串流 URL。您不需要代理程式特定的參數。堆疊的代理程式存取組態會決定代理程式特定的行為。
使用 AWS 管理主控台
使用主控台產生串流 URL
-
在左側導覽窗格中,選擇 Stacks,然後選擇您在啟用代理程式存取的情況下建立的堆疊。
-
選擇動作按鈕,然後在下拉式清單中,選取建立串流 URL。必須選取您的堆疊,此選項才能使用。
-
在 UserID 區段中,輸入使用者。
TestUser如果您正在測試,則可以輸入 。 -
在 URL 過期區段中,選取您希望 URL 有效的時間。建議使用較短的時間。預設為 30 分鐘,並建議用於測試。
-
選擇 GetURL 並複製產生的 URL。
使用 AWS CLI
執行下列命令來產生串流 URL:
aws appstream create-streaming-url \ --stack-nameyour-stack-name\ --fleet-nameyour-fleet-name\ --user-idyour-agent-id\ --validity 3600
回應包含StreamingURL您在下一個步驟中傳遞給客服人員的 。URL 在 --validity 參數指定的持續時間內有效。
步驟 3:將您的代理程式連線至 MCP 服務
您的代理程式會在下列固定端點連線至 受管 MCP 服務:
https://agentaccess-mcp.region.api.aws/mcp
連線使用 SigV4 簽署搭配服務名稱 agentaccess-mcp。您的代理程式會使用 AWS 先決條件中設定的登入資料搭配 agentaccess-mcp:*許可來簽署每個請求。您傳遞來自步驟 2 的串流 URL,做為每個 MCP 請求的標頭。
下列範例示範如何使用 mcp-proxy-for-aws 建立連線:
aws_iam_streamablehttp_client( endpoint="https://agentaccess-mcp.region.api.aws/mcp", aws_service="agentaccess-mcp", aws_region="region", headers={ "X-Amzn-AgentAccess-Streaming-Session-Url": streaming_url, }, )
客服人員連線後,可以使用 MCP 工具輸入文字、選擇按鈕,以及擷取桌面的螢幕擷取畫面。
步驟 4:驗證客服人員活動
您可以使用下列 AWS 服務來驗證客服人員活動:
-
AWS CloudTrail - AWS CloudTrail 記錄客服人員工作階段事件。開啟 AWS CloudTrail 主控台以檢視客服人員活動。
-
CloudWatch — CloudWatch 提供客服人員工作階段的操作指標。開啟 CloudWatch 主控台以檢視指標。
-
Amazon S3 — 如果您啟用螢幕擷取畫面儲存,Amazon S3 會將螢幕擷取畫面存放在您在堆疊組態期間指定的儲存貯體中。
步驟 5:清除 資源
若要避免持續收費,請刪除您在本教學課程中建立的堆疊。您必須停止機群並將其與堆疊取消關聯,然後才能刪除堆疊。您也可以選擇性地刪除機群。
使用 AWS 管理主控台
清理資源
-
在左側導覽窗格中,選擇 Fleets (機群)。
-
選取與堆疊相關聯的機群。選擇 Actions (動作)、Stop (停止)。等待機群停止。
-
在左側導覽窗格中,選擇 Stacks (堆疊)。
-
選取您建立的堆疊,然後選擇動作、取消關聯機群。
-
在仍選取堆疊的情況下,選擇動作、刪除。
-
(選用) 若要刪除機群,請在左側導覽窗格中,選擇機群。選取機群,然後選擇動作、刪除。
使用 AWS CLI
執行下列命令來清除資源:
aws appstream stop-fleet \ --nameyour-fleet-nameaws appstream disassociate-fleet \ --stack-nameyour-stack-name\ --fleet-nameyour-fleet-nameaws appstream delete-stack \ --nameyour-stack-name
(選用) 若要在機群停止後一併刪除機群:
aws appstream delete-fleet \ --nameyour-fleet-name