Youtu-Agent

A configurable framework for building, evaluating, and improving agents with open-weight models.

Stars
★ 4.6k
Last updated
7mo ago
License
NOASSERTION
Primary language
Python

At a glance

How it runs
CLIFrameworkSelf-hosted service
Works with
Universal · cross-platformOpenAI API
Cost
Free software; you pay for model usage
Setup effort
Medium · a few setup steps
You'll need
Python 3.12+uvShell / CLINetwork accessLocal filesystem
Typical use
An application developer who wants a CLI assistant with web search backed by DeepSeek or another OpenAI-compatible model service.
Not a fit if
  • Users unwilling to obtain third-party Serper and Jina search keys
  • Users needing stable tracing analysis; DBTracingProcessor is unreleased

What does this agent do, and when should you use it?

Youtu-Agent is a Python framework for building, running, and evaluating autonomous agents, built on the openai-agents SDK. It uses YAML to compose agents, models, and toolkits, with an interactive CLI, examples, and benchmark scripts. The documented model path accepts OpenAI-compatible responses and chat.completions APIs; examples use DeepSeek, while the project also mentions gpt-oss. Its automated-generation flow can create tool code, prompts, and configurations from a described requirement, while Agent Practice and Agent RL address experience learning and end-to-end reinforcement learning. Source deployment is documented, alongside Docker setup documentation and an optional local web UI package.

Developers combine models and tools through YAML under configs/agents; for example, simple/base_search imports /tools/[email protected]. python scripts/cli_chat.py --config simple/base_search starts an interactive search-enabled chat, after configuring SERPER_API_KEY, JINA_API_KEY, and OpenAI-compatible LLM credentials in .env. python scripts/gen_simple_agent.py uses the built-in meta-agent to clarify requirements and generate a configuration, which can then run with python scripts/cli_chat.py --config generated/xxx. For evaluation, python scripts/data/process_web_walker_qa.py downloads and processes WebWalkerQA, then python scripts/run_eval.py --config_name ww --exp_id <your_exp_id> --dataset WebWalkerQA_15 --concurrency 5 runs an experiment whose results can be analyzed in the evaluation platform. Documented examples include CSV-to-HTML reporting, file renaming and categorization, RAG, paper analysis, SVG visualization, and PPT generation.

  1. An application developer who wants a CLI assistant with web search backed by DeepSeek or another OpenAI-compatible model service.
  2. An engineering team that needs to manage agent prompts, models, and tool compositions as YAML configurations.
  3. An agent researcher who needs to prepare WebWalkerQA data, run concurrent experiments, and inspect stored evaluation results.
  4. A prototyper who wants to describe a capability and have a meta-agent generate tool code and an agent configuration.
  5. A data analyst who wants an agent workflow that analyzes a CSV file and produces an HTML report.
  6. A developer implementing RAG, literature analysis, research, SVG visualization, or PPT-generation workflows.

How do you install or deploy this agent?

The documented runtime requires Python 3.12+ and recommends uv. Run:

git clone https://github.com/TencentCloudADP/youtu-agent.git
cd youtu-agent
uv sync
source ./.venv/bin/activate
cp .env.example .env

Then configure an OpenAI-compatible model service in .env, for example: UTU_LLM_TYPE=chat.completions, UTU_LLM_MODEL=deepseek-chat, UTU_LLM_BASE_URL=https://api.deepseek.com/v1, and UTU_LLM_API_KEY=<your-api-key>.

How do you use this agent?

For a minimal local chat, run:

python scripts/cli_chat.py --config simple/base

For the search-enabled configuration, set SERPER_API_KEY and JINA_API_KEY in .env, then run:

python scripts/cli_chat.py --config simple/base_search

To generate a configuration, run python scripts/gen_simple_agent.py and then execute it with python scripts/cli_chat.py --config generated/xxx. The SVG example runs with python examples/svg_generator/main.py; after installing the released utu_agent_ui wheel, python examples/svg_generator/main_web.py starts a local web version at the address printed by the terminal.

What are this agent's strengths and limitations?

Pros
  • Built on the openai-agents SDK, with documented compatibility for both responses and chat.completions APIs.
  • YAML configuration, bundled toolkits, and cli_chat.py provide a direct path from configuration to interactive execution.
  • gen_simple_agent.py offers a requirement-clarification flow that generates tool code and agent configuration instead of requiring every tool to be authored manually.
  • It includes a WebWalkerQA preparation and run_eval.py workflow, with stored results available for further analysis.
  • The README documents concrete example directions including data analysis, file management, research, RAG, SVG generation, and PPT generation.
Limitations
  • Source deployment requires Python 3.12+ and the recommended dependency workflow uses uv.
  • The web-search example requires separately obtained SERPER_API_KEY and JINA_API_KEY credentials.
  • Model calls depend on API keys and an OpenAI-compatible service; the documented DeepSeek examples also require network access.
  • WebWalkerQA evaluation requires separate JUDGE_LLM_TYPE, JUDGE_LLM_MODEL, JUDGE_LLM_BASE_URL, and JUDGE_LLM_API_KEY settings.
  • DBTracingProcessor is described as “will be released soon,” so its tracing-analysis functionality should not be assumed available.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Youtu-Agent This agent 27 · Major gaps CLIFree + model costs ★ 4.6k 7mo ago Python OpenAI API
PraisonAI 42 · Major gaps Library / SDKFree + model costs ★ 9.3k today Python Codex · Claude Code · OpenAI API · Claude API
HUD 63 · Some gaps CLIFree + model costs ★ 323 1d ago Python OpenAI API · Claude API
IR-SIM: Lightweight Robot Simulator 43 · Major gaps Library / SDKFree ★ 1.2k 4d ago Python —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
27/ 100 5-point scale 1.4 / 5
Trust 0/29
Reliability 3/14
Adaptability 8/18
Convention 8/18
Effectiveness 6/13
Verifiability 2/8
Why each dimension lost points
Trust0 / 29 · 0.0/5

Evidence shows the repository does not provide specific implementations or documentation for least privilege, user confirmation, data flow transparency, sensitive data handling, dependency security, external effects, rollback, or source attribution. README mentions API keys but does not explain permission controls or data protection measures. Therefore, all trust criteria score 0.

Reliability3 / 14 · 1.1/5

Self-consistency: README and pyproject.toml have consistent project name and description, but there is a version inconsistency (README mentions Python 3.12+, pyproject requires >=3.10), and README has a truncated 'Contribut' section, indicating incomplete documentation. Dependency availability: pyproject lists dependencies but does not provide a lock file or version range verification, and there is a direct GitHub dependency (swe-rex) that may be unstable. Failure messages: No documentation of error handling or user prompts.

Adaptability8 / 18 · 2.2/5

Audience and scenarios: README clearly lists audiences such as researchers, developers, and enthusiasts, and provides multiple use cases. Capability boundaries: No explicit limitations or applicable boundaries. Trigger precision: Provides CLI and configuration examples but does not detail trigger conditions. Environment fit: Provides Docker and source deployment instructions but does not mention compatibility with different operating systems.

Convention8 / 18 · 2.2/5

Information architecture: README is well-structured with a table of contents and documentation links. Install notes: Provides source and Docker installation steps but lacks detailed troubleshooting. Naming stability: Project name is consistent in README and pyproject, but there is mixing of 'uTu-agent' and 'youtu-agent'. Examples and FAQ: Provides multiple examples and FAQ links but does not include FAQ content in the repository. Known limitations: Not mentioned. License: Provides MIT license file. Versioning and changelog: pyproject has a version number but no changelog. Maintenance responsibility: Author information is in pyproject but no maintenance policy.

Effectiveness6 / 13 · 2.3/5

Output usability: Provides CLI and Web UI examples but does not specify output format or quality assurance. Marginal value: Provides unique features like automatic generation and RL training, adding marginal value. Cost-benefit: README mentions low-cost deployment but does not provide specific cost analysis.

Verifiability2 / 8 · 1.3/5

Claim traceability: Performance claims in README cite arXiv and HuggingFace but do not provide reproduction steps. Cross-source corroboration: Provides multiple external links but no independent verification. Fact-inference separation: Does not distinguish facts from inferences.

Risks and how to mitigate them
  • Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: data-flow disclosureWatch which external services it contacts (proxy or firewall logs) and keep sensitive data out until you know where it goes.
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • Not found in source: dependency securityPin versions and run a dependency audit (npm audit, pip-audit) before installing; prefer running it in a container.
  • Not found in source: disclosed external effectsEstablish which external systems it writes to, sends to or changes, and verify with test accounts or repos before production.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Not found in source: verifiable attributionInstall from the official repo or registry and check the publisher and URL to avoid look-alike packages.
  • The repository does not provide permission controls, data protection, or user confirmation mechanisms; assess security risks before use.
  • Dependency management does not lock versions and includes a direct GitHub dependency, which may introduce supply chain risks.
  • Performance claims in the README lack detailed reproducible steps; treat with caution.
Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision c2caa539f4c9
See the full review method →

Recent releases

Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.

  1. v0.1.3
    Release notes excerpt
    What's Changed * Add trajectories tab by @qiuchaofan in https://github.com/TencentCloudADP/youtu-agent/pull/155 * [bugfix] 修复example中FileUtils.save_json的参数顺序 by @Mactarvish in https://github.com/TencentCloudADP/youtu-agent/pull/157 * Tracing: log for visual analysis by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/159 * Feat: add hooks by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/161 * Example: rag by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/162 …
    View on GitHub ↗
  2. frontend/v0.3.0 utu_agent_ui v0.3.0
  3. v0.1.2
    Release notes excerpt
    What's Changed * Fix SGLang error when passing temperature=None by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/129 * Feat-enhance-MCP-support by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/131 * Refactor AsyncBaseToolkit by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/133 * fix SimpleAgent by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/135 * add descriptions for phoenix claud tracing by @Lightblues in https://github.com/TencentCloudADP/youtu-agent/pull/141 …
    View on GitHub ↗

FAQ

Can it be used with open-weight models only?
The project positions itself around open-source models and names DeepSeek-V3, DeepSeek-V3.1, and gpt-oss. The documented model service must expose an OpenAI-compatible interface.
Which credentials are needed for a minimal run?
Basic chat needs UTU_LLM_TYPE, UTU_LLM_MODEL, UTU_LLM_BASE_URL, and UTU_LLM_API_KEY. Search-enabled configurations additionally need SERPER_API_KEY and JINA_API_KEY.
Can it operate on local files?
The documented file-management example renames and categorizes local files. The supplied material does not define the runtime permission boundary.
How is benchmark evaluation run?
Prepare WebWalkerQA with process_web_walker_qa.py, then invoke run_eval.py with a configuration, experiment ID, dataset, and concurrency. Evaluation also requires separate Judge LLM credentials.
View on GitHub ↗ Install ↓

Related agents