How gantechproject/it-helpdesk-agent works
This is an IT helpdesk agent with a browser chat proxy and a FastAPI/ADK serving runtime. Employees submit issues; the agent can look up guidance and service status, manage tickets, run diagnostics, use persistent preferences, and generate equipment media, then return text or structured A2UI. The README documents several capabilities whose implementation was not sampled; those are shown at the documented subsystem level, while uncertain internal wiring is omitted.
Main entry points: agent.py ADK agent · index.html Web chat UI · main.py Chat proxy · fast_api_app.py FastAPI runtime
Components 22
User experience
- Web chat UI
frontend/static/index.html - Chat proxy
frontend/main.py - A2UI rendering
app/a2ui_utils.py
Agent runtime
- FastAPI runtime
app/fast_api_app.py - A2A endpoints
app/app_utils/a2a.py - Reasoning adapter
app/app_utils/reasoning_engine_adapter.py - ADK agent
app/agent.py - Shared services
app/app_utils/services.py
Helpdesk capabilities
- Ticket lifecycle
app/agent.py - Knowledge lookup
app/agent.py - Service status
app/agent.py - Sandbox diagnostics
app/agent.py - Equipment media
app/agent.py
State and integrations
- User memory
app/agent.py - Firestore
- Vertex Memory Bank
- Cloud Storage
- Vertex AI models
Other components
- Employee
- Status sources
- Agent Engine sandbox
- Support employee
Connections 28
- Employee → Web chat UI: enters request
- Web chat UI → Chat proxy: sends chat
- Chat proxy → A2A endpoints: forwards A2A
- A2A endpoints → ADK agent: dispatches task
- ADK agent → Chat proxy: returns reply
- Chat proxy → Web chat UI: renders parts
- Web chat UI → A2UI rendering: renders cards
- FastAPI runtime → A2A endpoints: registers routes
- FastAPI runtime → Reasoning adapter: attaches routes
- FastAPI runtime → ADK agent: creates runner
- ADK agent → Shared services: uses shared services
- Reasoning adapter → Shared services: reuses services
- ADK agent → Ticket lifecycle: dispatches tools
- ADK agent → Knowledge lookup: dispatches tools
- ADK agent → Service status: dispatches tools
- ADK agent → Sandbox diagnostics: dispatches tools
- ADK agent → Equipment media: dispatches tools
- ADK agent → User memory: uses memory
- Ticket lifecycle → Firestore: reads and writes
- Knowledge lookup → Firestore: reads articles
- Service status → Status sources: queries status
- Sandbox diagnostics → Agent Engine sandbox: executes scripts
- Equipment media → Vertex AI models: generates media
- Equipment media → Cloud Storage: stores media
- User memory → Vertex Memory Bank: recalls preferences
- Equipment media → A2UI rendering: provides media parts
- Ticket lifecycle → A2UI rendering: provides ticket cards
- Support employee → ADK agent: uses helpdesk