OpenAgents
Type: full-code · Vendor: XLang Lab / HKU NLP · Language: Python, TypeScript · License: Apache-2.0 · Status: active · Status in practice: emerging
Open platform for language agents in the wild, bundling three specialised agents — Data Agent (Python/SQL data analysis), Plugins Agent (200+ APIs), and Web Agent (autonomous browsing) — under a unified web UI and local-deployment story.
Description. OpenAgents (COLM 2024) is HKU XLang Lab's open platform for production-style language agents. It ships three pre-configured agents: a Data Agent that uses Python and SQL for data analysis with tabular tools; a Plugins Agent that exposes 200+ daily-use APIs (weather, calendar, search, etc.) as tools; and a Web Agent for autonomous web browsing. The platform optimises for end-user UX (swift response, common-failure mitigation) and developer deployability (local setup with documented extension points). XLang has since extended to OSWorld (computer-use evaluation env) and OpenCUA (open foundations for computer-use agents).
Agent loop shape. Per-agent ReAct loop with the agent's specialised tool palette. Data Agent runs Python and SQL queries against uploaded data; Plugins Agent calls API tools and aggregates responses; Web Agent observes browser state and emits browser actions. A unified Next.js UI fronts all three with chat history, file upload, and tool-trace display.
Primary use cases
- real-world data analysis with Python + SQL inside a chat UI
- plugin-augmented assistant with 200+ APIs (weather, calendar, mail, etc.)
- autonomous web browsing with screenshot + DOM observation
- research baseline for language agents in the wild
Key concepts
- Data Agent / Plugins Agent / Web Agent → tool-loadout — Three specialised agents with their own tool palettes.
- 200+ plugin APIs → tool-discovery — Curated tool catalog for the Plugins Agent.
- Real-world UX optimisation — Common-failure handling and swift-response design for end users.
Patterns this full-code implements —
Neighbourhood
Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.