You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Aug 19, 2026. It is now read-only.
Extend the RDP vision and interaction tools to work with VNC connections. Since both RDP and VNC are proxied through Guacamole, the underlying Guacamole protocol is identical — the same screenshot capture, keyboard injection, and mouse click mechanisms work for both protocols. This task adapts the RDP tools for VNC-specific session establishment and settings while reusing the core Guacamole interaction layer.
Technical Details
Server — VNC Tool Adapter (server/src/services/agentTools/vncTool.service.ts)
Extends/wraps the RDP vision and interaction tools for VNC connections
VNC session establishment:
Use existing vnc.service.ts → generateVncGuacamoleToken() for session creation
VNC-specific settings: viewOnly mode, color depth, cursor handling
Same headless pattern as RDP agent sessions
Tool registration:
vnc_screenshot — reuses rdpScreenshot.service.ts screenshot capture (Guacamole protocol is identical)
Code: AGENT-2144
Priority: LOW
Section: Orchestration — Agent Orchestration Gateway (Phase 5: Advanced — RDP/VNC Vision Agents)
Dependencies: AGENT-2142, AGENT-2143
Description
Extend the RDP vision and interaction tools to work with VNC connections. Since both RDP and VNC are proxied through Guacamole, the underlying Guacamole protocol is identical — the same screenshot capture, keyboard injection, and mouse click mechanisms work for both protocols. This task adapts the RDP tools for VNC-specific session establishment and settings while reusing the core Guacamole interaction layer.
Technical Details
Server — VNC Tool Adapter (
server/src/services/agentTools/vncTool.service.ts)vnc.service.ts→generateVncGuacamoleToken()for session creationvnc_screenshot— reusesrdpScreenshot.service.tsscreenshot capture (Guacamole protocol is identical)vnc_click— reusesrdpInput.service.tsmouse injectionvnc_type— reusesrdpInput.service.tstext inputvnc_key— reusesrdpInput.service.tskey combinationvnc_scroll— reusesrdpInput.service.tsscrollServer — Shared Guacamole Agent Layer
server/src/services/agentTools/guacamoleAgent.service.ts:createAgentGuacSession(connectionId, protocol: 'rdp' | 'vnc')— unified session creationcaptureFrame(sessionId)— protocol-agnostic screenshotsendInput(sessionId, input)— protocol-agnostic input injectionanalyzeWithVision(agentId, screenshot, question?)— shared LLM vision callServer — Tool Schemas
vnc_screenshot: "Capture and analyze the current VNC remote desktop screen."vnc_click: "Click at coordinates on the VNC remote desktop."vnc_type: "Type text on the VNC remote desktop."vnc_key: "Send a key combination on the VNC remote desktop."vnc_scroll: "Scroll at coordinates on the VNC remote desktop."Server — Permission and Security
Files Involved
server/src/services/agentTools/vncTool.service.ts— VNC tool adapterserver/src/services/agentTools/guacamoleAgent.service.ts— Shared Guacamole agent layerserver/src/services/agentTools/rdpVisionTool.service.ts— Delegate to shared layerserver/src/services/agentTools/rdpInteractionTool.service.ts— Delegate to shared layerserver/src/services/agentToolRegistry.service.ts— Register vnc_screenshot, vnc_click, vnc_type, vnc_key, vnc_scroll toolsReference: Agent Orchestration Gateway — Phase 5.3