skills/youtu_agent/SKILL.md
Flexible, high-performance framework for building, running, and evaluating autonomous agents with automated generation, experience learning, and RL training capabilities.
npx skillsauth add lamm-mit/scienceclaw youtu_agentInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Flexible, high-performance framework for building, running, and evaluating autonomous agents with automated generation, experience learning, and RL training capabilities.
https://github.com/TencentCloudADP/youtu-agent
Use this as the implementation source: clone the repo and follow its README for install, dependencies, and how to run code or experiments. The generated client prints JSON with a suggested git clone command.
https://arxiv.org/abs/2512.24615
This is the paper reference. The client can optionally fetch live Atom metadata (title, abstract) for agents; it does not run training or upstream research code by itself.
The *_client.py script prints JSON that combines a GitHub repository (clone URL + suggested git clone) with optional paper context from arXiv (live Atom metadata when reference_url is arXiv). Run the real code by cloning the repo and following its README — the skill is your agent-facing entrypoint, not a substitute for the repo’s install steps.
To call a REST API instead, set BASE_URL in scripts/youtu_agent_client.py or wrap the upstream CLI with subprocess after clone.
Extracted for operators and agents. Confirm against the upstream repository or paper before relying on it in production.
Clone and set up the repository:
git clone https://github.com/TencentCloudADP/youtu-agent.git
cd youtu-agent
uv sync # or, `make sync`
source ./.venv/bin/activate
cp .env.example .env
Alternatively, use Docker:
# Refer to docker/README.md for Docker-based setup with interactive frontend
# Basic agent (no internet search)
python scripts/cli_chat.py --config simple/base
# Agent with web search capabilities
python scripts/cli_chat.py --config simple/base_search
# Interactively clarify requirements and auto-generate a config
python scripts/gen_simple_agent.py
# Run the generated config
python scripts/cli_chat.py --config generated/xxx
# SVG generator (requires SERPER_API_KEY and JINA_API_KEY)
python examples/svg_generator/main.py
# SVG generator with web UI
python examples/svg_generator/main_web.py
# Prepare WebWalkerQA dataset
python scripts/data/process_web_walker_qa.py
# Run evaluation
python scripts/run_eval.py --config_name ww --exp_id <your_exp_id> --dataset WebWalkerQA_15 --concurrency 5
Edit .env file with required API keys:
# LLM Configuration (OpenAI API format compatible)
UTU_LLM_TYPE=chat.completions
UTU_LLM_MODEL=deepseek-chat
UTU_LLM_BASE_URL=https://api.deepseek.com/v1
UTU_LLM_API_KEY=replace-to-your-api-key
# Optional: Judge LLM (for evaluation)
JUDGE_LLM_TYPE=chat.completions
JUDGE_LLM_MODEL=deepseek-chat
JUDGE_LLM_BASE_URL=https://api.deepseek.com/v1
JUDGE_LLM_API_KEY=replace-to-your-api-key
# Tool APIs (optional, for web search)
SERPER_API_KEY=your-serper-api-key
JINA_API_KEY=your-jina-api-key
UTU_LLM_TYPE=chat.completions
UTU_LLM_MODEL=deepseek-v3
UTU_LLM_BASE_URL=https://api.lkeap.cloud.tencent.com/v1
UTU_LLM_API_KEY=replace-with-your-api-key
Agent configurations are YAML files in configs/agents/. Example structure:
defaults:
- /model/base
- /tools/[email protected]
- _self_
agent:
name: simple-tool-agent
instructions: "You are a helpful assistant that can search the web."
Download and install the frontend package:
curl -LO https://github.com/Tencent/Youtu-agent/releases/download/frontend%2Fv0.2.0/utu_agent_ui-0.2.0-py3-none-any.whl
uv pip install utu_agent_ui-0.2.0-py3-none-any.whl
Then run web-enabled examples:
python examples/svg_generator/main_web.py
# Access at http://127.0.0.1:8848/
The same text lives in scripts/USAGE.md for tools that prefer reading files under scripts/.
--api-key (str) [required] API key for authentication --config (str) [required] Path or name of the agent configuration file (YAML). Examples: 'simple/base_search', 'simple/base', 'ww' --exp-id (str) [optional, default=None] Experiment identifier for evaluation runs --dataset (str) [optional, default=None] Dataset name for evaluation. Examples: 'WebWalkerQA_15', 'GAIA' --concurrency (int) [optional, default=5] Number of concurrent evaluation tasks --config-name (str) [optional, default=None] Configuration name for evaluation (e.g., 'ww' for WebWalkerQA)
python3 scripts/youtu_agent_client.py --config simple/base_search
{"response": "agent_output", "trajectory": [...]}
tools
Onboard and manage Paperclip AI for research-paper knowledge and agent orchestration
development
Perform AI-powered web searches with real-time information using Perplexity models via LiteLLM and OpenRouter. This skill should be used when conducting web searches for current information, finding recent scientific literature, getting grounded answers with source citations, or accessing information beyond the model knowledge cutoff. Provides access to multiple Perplexity models including Sonar Pro, Sonar Pro Search (advanced agentic search), and Sonar Reasoning Pro through a single OpenRouter API key.
testing
Generate a structured scientific PDF report from a JSON description. Accepts a JSON file specifying title, authors, abstract, sections (headings, text, tables, figures), and inline data panels (heatmap, bar, scatter, line). Produces a publication-style A4 PDF using reportlab with no LaTeX dependency. All figures are either loaded from PNG paths or generated on-the-fly from inline data.
development
Execute arbitrary Python code and return stdout. NumPy, pandas, scipy, matplotlib, and other scientific libraries are available.