ajet/copilot/uv-install-agentjet-swarm-server/SKILL.md
Install AgentJet swarm server using the UV package manager. Handles virtual environment creation with Python 3.10, dependency installation with the verl training backbone, flash-attn compilation, and optional PyPI mirror for China users.
npx skillsauth add modelscope/agentjet uv-install-agentjet-swarm-serverInstall 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.
when the user only need to run agentjet client, and do not have to run models locally (e.g. user in their laptop), ONLY install AgentJet basic requirements is enough (pip install -e .). see
install-agentjet-clientskill
Check Python version requirement (3.10) and uv availability.
Verify user has uv installed:
uv --version
If uv is not installed, follow the uv installation guide.
Clone the AgentJet repository from GitHub and navigate into the project directory:
git clone https://github.com/modelscope/AgentJet.git
cd AgentJet
Create a new virtual environment with Python 3.10 using uv:
uv venv --python=3.10
source .venv/bin/activate
Install AgentJet with the verl training backbone:
uv pip install -e .[verl]
For users in China (faster with Aliyun mirror):
uv pip install -i https://mirrors.aliyun.com/pypi/simple/ -e .[verl]
Before installing flash-attn, test your connection to GitHub:
curl -I https://github.com --connect-timeout 10
or
git ls-remote https://github.com/Dao-AILab/flash-attention.git
!!! danger "⚠️ CRITICAL: Unstable GitHub Connection Detected" If the above command fails or times out, you will NOT be able to download pre-compiled flash-attn wheels from GitHub.
This means flash-attn will need to be **compiled from source**, which can take:
- **30+ minutes** on a fast machine
- **1-2+ hours** on slower machines
**RECOMMENDED**: Find a way to establish a stable GitHub connection before proceeding:
- Use a VPN or proxy
- Use GitHub mirrors if available in your region
- Wait for better network conditions
- Use a machine with better GitHub connectivity
If you cannot establish a stable connection and must proceed with compilation:
```bash
# Set to number of CPUs to speed up compilation
export MAX_JOBS=$(nproc)
```
flash-attn must be installed after other dependencies:
uv pip install --verbose flash-attn --no-deps --no-build-isolation --no-cache
For users in China (faster with Aliyun mirror):
uv pip install -i https://mirrors.aliyun.com/pypi/simple/ --verbose flash-attn --no-deps --no-build-isolation --no-cache
!!! warning "flash-attn Installation Notes"
- flash-attn must be installed after other dependencies.
- If installation takes a long time, ensure a healthy connection to GitHub.
- To build faster, you can set: export MAX_JOBS=${N_CPU} (replace ${N_CPU} with number of CPUs).
Verify the installation by checking the AgentJet version:
python -c "import ajet; print(ajet.__version__)"
After successful installation:
data-ai
How `max_env_worker` caps the "Running Episodes" gauge, and how `AgentJetJob` relates to the YAML config.
tools
Convert skills in non-standard formats to the standard Agent Skills `SKILL.md` format. Validates YAML frontmatter (name, description, license, compatibility, metadata, allowed-tools), directory structure (SKILL.md, scripts/, references/, assets/), and best practices. Use when the user asks to normalize, validate, or fix a skill.
devops
Download per-step time-series metric data (reward, entropy, response length, etc.) from a SwanLab cloud run URL as a pandas.DataFrame. Use when the user provides a SwanLab URL and wants to fetch or analyze training curves.
development
Your task is to investigate the chat template of given model, go to its tokenizer config and check whether the following behavior exists: > > Remove history <think> block from the input when apply chat template when converting messages. > This behavior will make RL training slower, if this behavior exists, please change the chat template to forbid such behavior. You must not do this in-place, instead, please create another model. E.g., "/mnt/data_cpfs/xielipeng.xlp/models/Qwen3-8B" -> "/mnt