Youtu-Agent
A configurable framework for building, evaluating, and improving agents with open-weight models.
- Source repo
- TencentCloudADP/youtu-agent
- Stars
- ★ 4.6k
- Last updated
- 7mo ago
- License
- NOASSERTION
- Primary language
- Python
- FA score
- 27/100 · Major gaps
At a glance
- How it runs
- Works with
- Universal · cross-platformOpenAI API
- Cost
- Free software; you pay for model usage
- Setup effort
- Medium · a few setup steps
- You'll need
- 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
- Source review
- 27/100 · Major gaps 8 safety controls not found
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.
- An application developer who wants a CLI assistant with web search backed by DeepSeek or another OpenAI-compatible model service.
- An engineering team that needs to manage agent prompts, models, and tool compositions as YAML configurations.
- An agent researcher who needs to prepare WebWalkerQA data, run concurrent experiments, and inspect stored evaluation results.
- A prototyper who wants to describe a capability and have a meta-agent generate tool code and an agent configuration.
- A data analyst who wants an agent workflow that analyzes a CSV file and produces an HTML report.
- 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 .envThen 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/baseFor the search-enabled configuration, set SERPER_API_KEY and JINA_API_KEY in .env, then run:
python scripts/cli_chat.py --config simple/base_searchTo 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?
- 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.
- 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?
Why each dimension lost points
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.
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.
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.
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.
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.
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.
- 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.
Recent releases
Latest entries from the project's GitHub Releases. Notes are quoted from upstream as written, not rewritten or tested by FollowAgents.
-
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 ↗ -
frontend/v0.3.0 utu_agent_ui v0.3.0
-
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 ↗