XAgent
A self-hosted experimental system that plans, executes tools, and collaborates with people on complex multi-step tasks.
Per-dimension scores and reasoning
Evidence: README claims all actions are constrained inside a docker container, but no specific permission configuration or least privilege principle is provided; AskForHumanHelp tool exists, but user confirmation mechanism is not described; data flow transparency only mentions recording running information, not detailed data flow; sensitive data handling: README claims API keys are removed from records, but other sensitive data handling is not described; dependency security: no vulnerability scanning or version pinning mentioned; external effects: shell tool can execute arbitrary commands, but no restrictions described; rollback: records can be used to reproduce, but rollback mechanism not described; source attribution: contributor list and citation exist, but not verified. Deductions: lack of specific security configuration and permission management details.
Evidence: README and code structure are consistent, but no complete error handling documentation; dependency list exists, but version compatibility not stated; failure messages: no user-friendly error prompts provided. Deductions: dependency availability not verified, failure messages unclear.
Evidence: README describes multiple application scenarios such as data analysis, recommendation, model training; capability boundaries are described, such as supported tools; trigger precision: task description is provided by user, but how to precisely trigger is not explained; environment fit: requires Python>=3.10 and docker, but other environment requirements not stated. Deductions: trigger precision and boundary conditions not clear enough.
Evidence: README structure is clear, with quick start, demo, evaluation sections; installation instructions are detailed, including docker and pip; naming stability: project name and main component names are consistent, but no version history; examples and FAQ: demo cases exist, but no FAQ; known limitations not explicitly listed; license is Apache-2.0, but no version changelog; maintenance responsibility: contributor list exists, but maintainers not clearly identified. Deductions: missing version changelog and explicit known limitations.
Evidence: output usability: local workspace and running records exist, but output format not described; marginal value: comparison with AutoGPT shows advantage, but specific data not provided; cost benefit: requires OpenAI API key, but cost not stated. Deductions: cost benefit not quantified.
Evidence: claims in README such as 'total win' lack specific data or links; cross-source verification: external links like blog and documentation exist, but no independent verification; fact-inference separation: README mixes performance claims with descriptions, not clearly separated. Deductions: claims lack traceability.
- Specific security configuration and permission management details are not provided; review docker configuration and tool permissions.
- Dependency list is not version-pinned, posing supply chain risk.
- Performance claims lack specific data and reproducibility; treat with caution.
What does this agent do, and when should you use it?
XAgent is an open-source experimental LLM-driven autonomous task system intended to solve a range of complex tasks. Its Dispatcher dynamically instantiates and dispatches tasks, its Planner creates and rectifies plans with subtasks and milestones, and its Actor performs work with tools or asks people for help. Execution takes place in the Docker-based ToolServer, which exposes file editing, a Python Notebook, web browsing, Shell access, and Rapid API access. Tasks can be submitted through the `python run.py` CLI or a web GUI on port 5173, while generated files, task status, tool usage, and model input-output pairs are retained locally. The documented setup requires OpenAI API keys and recommends `gpt-4-32k` or `gpt-4`, with `gpt-3.5-turbo-16k` as a backup model.
After OpenAI API keys are configured in assets/config.yml, a user submits work with python run.py --task "put your task here" --config-file "assets/config.yml", optionally adding initial files through --upload-files. The Dispatcher routes work to agents, the Planner creates and rectifies plans, subtasks, and milestones, and the Actor works inside ToolServerNode. ToolServer can read, write, and modify files; run Python in a Python Notebook; search and visit web pages through Web Browser; execute Bash commands, install programs, and host services through Shell; and retrieve and call APIs through Rapid API. Generated files are placed in local_workspace; after execution, the full ToolServerNode workspace is copied to running_records, together with task status, LLM input-output pairs, used tools, and code-execution status. A prior run can be reproduced by setting record_dir to an existing record.
- A data analyst uploads
iris.zipand needs the system to inspect the data, check the Python environment, write analysis code, and compile a report from execution results. - A person planning a restaurant gathering makes an underspecified request; the system can use AskForHumanHelp to obtain location, budget, cuisine, and dietary requirements.
- A machine-learning practitioner wants to analyze movie reviews and can have the system download the IMDB dataset, train a BERT model, and produce sentiment predictions.
- An individual with a multi-stage task involving web research, file work, and command-line operations can have the Planner divide it into subtasks and milestones.
- A team that needs to inspect or reproduce an automated task run can review configuration, queries, tool usage, model interactions, and execution status in
running_records.
What are this agent's strengths and limitations?
- It separates dynamic task dispatch, plan generation and correction, and tool execution into explicit Dispatcher, Planner, and Actor components for staged task handling.
- Its Docker-based ToolServer combines file editing, interactive Python, browser access, Bash, and Rapid API access across data work, web research, and environment operations.
- It offers both a CLI and a local web GUI while retaining workspaces, task status, model exchanges, tool use, and code-execution status for review and replay.
- It can ask users for missing information through AskForHumanHelp, allowing human collaboration during execution.
- Operation depends on Docker, Docker Compose, Python 3.10+, and OpenAI API keys; the supplied documentation does not describe another model-provider path.
- The project describes itself as early-stage and experimental, so adopters need to assess reliability, maintenance effort, and fit for their own tasks.
- Shell can execute Bash commands, install programs, and host services; although the README states actions are constrained to Docker, adopters should review container configuration and task inputs.
- The README advises against
gpt-3.5-turboand recommendsgpt-4-32korgpt-4, so model availability and cost can affect deployment.
How do you install or deploy this agent?
Install Docker and Docker Compose first. From the repository directory, run docker compose up to pull and start ToolServer, or run docker compose build followed by docker compose up to build it from local sources; use docker compose up -d for background operation. Install the Python requirements with pip install -r requirements.txt; Python 3.10 or later is required. Configure at least one OpenAI API key in assets/config.yml. If changing the XAgentServer configuration-file path, update CONFIG_FILE in .env and restart the container.
How do you use this agent?
Once ToolServer is running, start a first task with python run.py --task "put your task here" --config-file "assets/config.yml". Add --upload-files when you need to select initial files. The web interface is available at http://localhost:5173; the documented default credentials are username guest and password xagent. Generated files are in local_workspace and complete run records are in running_records; set record_dir in configuration to reproduce a recorded run.
How does this agent compare with similar options?
The README describes a human-preference evaluation on more than 50 real-world complex tasks and states that XAgent achieved an overall win over AutoGPT; the supplied material does not provide exact win rates or experimental details.
FAQ
What credentials are required to run XAgent?
assets/config.yml. The README recommends gpt-4-32k or gpt-4 and calls for at least one gpt-3.5-turbo-16k key as a backup.Does it execute commands directly on the host?
Can a task run be audited or reproduced?
running_records keeps task status, LLM input-output pairs, used tools, and code-execution status; setting record_dir can reproduce a prior recorded run.Can I use a web interface instead of only the CLI?
http://localhost:5173; its documented default username and password are guest and xagent.