Not in the top 1,000 by GitHub stars
TYH-labs/unsloth-buddy
Zero-friction LLM fine-tuning skill for Claude Code, Gemini CLI & any ACP agent. Unsloth on NVIDIA · TRL+MPS/MLX on Apple Silicon. Automates env setup, LoRA training (SFT, DPO, GRPO, vision), post-hoc GRPO log diagnostics, evaluation, and export end-to-end. Part of the Gaslamp AI platform.
History
Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.
View weekly changes
SKILL.md
Week of Nov 2, 2026 · +0 / −0 lines
Before Network or broad shell → After Network or broad shell
e8e461ff8944 → e8e461ff8944
Week of Oct 26, 2026 · Line counts unavailable
Before Not checked yet → After Network or broad shell
First observation → e8e461ff8944
No earlier version was observed for comparison.
Verified commit e8e461ff894481090eff44be91638d6723f7e9c0
git clone --filter=blob:none --no-checkout https://github.com/TYH-labs/unsloth-buddy.git .hotskills/tyh-labs-unsloth-buddy && git -C .hotskills/tyh-labs-unsloth-buddy checkout --detach e8e461ff894481090eff44be91638d6723f7e9c0
# Copy each selected skill directory from .hotskills/tyh-labs-unsloth-buddy into .claude/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/TYH-labs/unsloth-buddy.git .hotskills/tyh-labs-unsloth-buddy && git -C .hotskills/tyh-labs-unsloth-buddy checkout --detach e8e461ff894481090eff44be91638d6723f7e9c0
# Copy each selected skill directory from .hotskills/tyh-labs-unsloth-buddy into .agents/skills/<skill-name>/git clone --filter=blob:none --no-checkout https://github.com/TYH-labs/unsloth-buddy.git .hotskills/tyh-labs-unsloth-buddy && git -C .hotskills/tyh-labs-unsloth-buddy checkout --detach e8e461ff894481090eff44be91638d6723f7e9c0
# Copy each selected skill directory from .hotskills/tyh-labs-unsloth-buddy into .gemini/skills/<skill-name>/Heat
0.3- Star growth, last 7 daysNot available
- Star growth, last 24 hoursNot available
- Rank movement, last 7 daysNot available
- Commits, last 30 daysNot available
- Accounts asking about it through MCP, last 7 daysNot available
- Hot votes this weekNot available
Heat never changes the order by stars, and sponsorship never touches it. How heat works
Stars over time
30-day change not yet available: not enough history.
Individual skills in this repository
How it works
unsloth-buddy
When your agent uses it
This skill should be used when users want to fine-tune language models or perform reinforcement learning (SFT, DPO, GRPO, ORPO, KTO, SimPO) using the highly optimized Unsloth library. Covers environment setup, LoRA patching, VRAM optimization, vision/multimodal fine-tuning, TTS, embedding training, and GGUF/vLLM/Ollama deployment. Should be invoked for tasks involving fast, memory-efficient local or cloud GPU training, specifically when the user mentions Unsloth or when hardware limits prevent standard training.
What it loads into context
Frontmatter
263 tokensAlways available to the agent
SKILL.md
15,984 tokensWhen the skill is activated
Reference documents
38,021 tokensLoaded on request
Token counts are estimates. Scripts run separately; they are not counted as reference context.
The playbook
- Overview
- Available Scripts & Templates
- The 7-Phase End-to-End Lifecycle (+Deploy)
- Integration with Gaslamp
- Auto-Environment Setup & Installation
- Hardware Selection & VRAM Requirements
- Model Loading
- LoRA Patching (PEFT)
- Training Methods
- Vision Fine-Tuning
- Exporting & Deployment
- Troubleshooting Common Errors
- Phase 3: Evaluation (mlx-tune / Apple Silicon)
- Example Scripts
- Resources
Scripts executed separately
eval/graders/__init__.pyeval/graders/common.pyeval/graders/filesystem.pyeval/graders/lifecycle.pyeval/graders/report.pyeval/graders/static_contract.pyeval/graders/trace.pyeval/run_skill_evals.pyeval/tests/test_filesystem_lifecycle.pyeval/tests/test_report.pyeval/tests/test_static_contract.pyeval/tests/test_trace.pyscripts/add_reflect_hint.pyscripts/colab_training.pyscripts/demo_server.pyscripts/detect_env.pyscripts/detect_system.pyscripts/gaslamp_callback.pyscripts/init_project.pyscripts/llamacpp.pyscripts/mlx_eval_template.pyscripts/mlx_eval_vision_template.pyscripts/mlx_gaslamp_dashboard.pyscripts/mps_grpo_example.pyscripts/reflect.pyscripts/search_design.pyscripts/setup_colab.pyscripts/terminal_dashboard.pyscripts/unsloth_dpo_example.pyscripts/unsloth_grpo_example.pyscripts/unsloth_mlx_sft_example.pyscripts/unsloth_mlx_vision_example.pyscripts/unsloth_sft_example.pyscripts/unsloth_vision_example.py
Files
.claude-plugin/marketplace.jsonasset2,120 bytes.gitignoreasset256 bytesAGENTS.mddoc4,512 bytesLICENSEasset1,065 bytesREADME.mddoc19,659 bytesREADME_zh-Hans.mddoc19,443 bytesREADME_zh-Hant.mddoc19,597 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesSKILL.mdcore60,785 bytesdemos/README.mddoc3,104 bytesdemos/README_zh-Hans.mddoc2,961 bytesdemos/README_zh-Hant.mddoc2,986 bytesdemos/gemma4_htr_sft_2026_04_07/README.mddoc613 bytesdemos/gemma4_htr_sft_2026_04_07/assets/compare_sample_1.pngasset47,118 bytesdemos/gemma4_htr_sft_2026_04_07/assets/compare_sample_2.pngasset48,196 bytesdemos/gemma4_htr_sft_2026_04_07/assets/compare_sample_3.pngasset43,115 bytesdemos/gemma4_htr_sft_2026_04_07/gaslamp.mddoc11,935 bytesdemos/gemma4_htr_sft_2026_04_07/index.htmlasset20,326 bytesdemos/qwen2.5-0.5b-chip2-sft/gaslamp.mddoc13,301 bytesdemos/qwen2.5-0.5b-chip2-sft/index.htmlasset21,560 bytesdemos/qwen2.5-0.5b-chip2-sft/index_zh-Hans.htmlasset21,577 bytesdemos/qwen2.5-0.5b-chip2-sft/index_zh-Hant.htmlasset21,577 byteseval/EVAL.mddoc2,347 byteseval/README.mddoc2,725 byteseval/fixtures/datasets/tiny_dpo_pairs.jsonlasset313 byteseval/fixtures/datasets/tiny_grpo_prompts.jsonlasset58 byteseval/fixtures/datasets/tiny_sft_messages.jsonlasset457 byteseval/fixtures/gaslamp_home/lessons.mddoc122 byteseval/fixtures/gaslamp_home/skills.mddoc149 byteseval/fixtures/gaslamp_home/user.mddoc106 byteseval/fixtures/resume_project/gaslamp.mddoc675 byteseval/fixtures/resume_project/logs/eval_compare.logasset116 byteseval/fixtures/resume_project/progress_log.mddoc132 byteseval/fixtures/resume_project/project_brief.mddoc214 byteseval/graders/__init__.pyruns46 byteseval/graders/common.pyruns1,364 byteseval/graders/filesystem.pyruns3,227 byteseval/graders/lifecycle.pyruns6,807 byteseval/graders/report.pyruns2,278 byteseval/graders/static_contract.pyruns9,270 byteseval/graders/trace.pyruns5,290 byteseval/prompts/lifecycle_smoke.csvasset2,047 byteseval/prompts/negative_controls.csvasset560 byteseval/prompts/skill_activation.csvasset704 byteseval/run_skill_evals.pyruns11,086 byteseval/schemas/unsloth_buddy_rubric.schema.jsonasset663 byteseval/tests/test_filesystem_lifecycle.pyruns2,576 byteseval/tests/test_report.pyruns1,002 byteseval/tests/test_static_contract.pyruns1,566 byteseval/tests/test_trace.pyruns2,853 bytesgemini-extension.jsonasset1,439 bytesimages/unsloth_gaslamp.pngasset1,816,466 bytesscripts/add_reflect_hint.pyruns5,196 bytesscripts/colab_training.pyruns9,894 bytesscripts/demo_server.pyruns6,984 bytesscripts/detect_env.pyruns9,746 bytesscripts/detect_system.pyruns8,137 bytesscripts/gaslamp_callback.pyruns17,353 bytesscripts/init_project.pyruns6,176 bytesscripts/llamacpp.pyruns18,718 bytesscripts/mlx_eval_template.pyruns7,645 bytesscripts/mlx_eval_vision_template.pyruns6,436 bytesscripts/mlx_gaslamp_dashboard.pyruns11,248 bytesscripts/mps_grpo_example.pyruns10,872 bytesscripts/reflect.pyruns46,016 bytesscripts/search_design.pyruns1,924 bytesscripts/setup_colab.pyruns3,805 bytesscripts/terminal_dashboard.pyruns11,774 bytesscripts/unsloth_dpo_example.pyruns3,546 bytesscripts/unsloth_grpo_example.pyruns5,343 bytesscripts/unsloth_mlx_sft_example.pyruns4,422 bytesscripts/unsloth_mlx_vision_example.pyruns4,410 bytesscripts/unsloth_sft_example.pyruns4,315 bytesscripts/unsloth_vision_example.pyruns3,743 bytessub-skills/data.mddoc4,214 bytessub-skills/demo_builder.mddoc13,384 bytessub-skills/interview.mddoc3,758 bytestemplates/chat_ui.htmlasset15,995 bytestemplates/dashboard.htmlasset34,256 bytestemplates/demo_llm_crisp.htmlasset18,328 bytestemplates/demo_llm_dark.htmlasset19,148 bytestemplates/demo_vlm_crisp.htmlasset19,274 bytestemplates/demo_vlm_dark.htmlasset20,031 bytestemplates/gaslamp.pngasset295,499 bytestemplates/gaslamp_template.mddoc9,436 bytes
Read SKILL.md
# Unsloth Training & Optimization
## Overview
You are the `unsloth-buddy`, a specialized AI assistant that helps machine learning practitioners train and optimize large language models (LLMs) using the Unsloth library.
**Unsloth provides massive advantages over standard Hugging Face training:**
- **Speed**: ~2x faster training speeds.
- **Memory**: Up to 80% less VRAM usage (enabling 70B models on a single 80GB GPU, or 8B models on 12GB).
- **Exact Math**: 0% loss in accuracy; Unsloth uses exact manual backprop kernels, not approximations.
- **Broad Support**: Text, Vision/Multimodal, TTS, Embedding fine-tuning. All RL methods.
## Available Scripts & Templates
View the complete source on GitHubSkills included
- unsloth-buddy
Repository facts
- License
- MIT
- Created
- Mar 15, 2026
- Last pushed
- Jun 28, 2026
- Forks
- 14
- Open issues
- 0
- Project activity
- Slowing
Before you install
Network or broad shellAutomated signals, not a guarantee
Checked Nov 4, 2026
Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.
Show 65 notes
SKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzedSKILL.md:1Analysis incomplete: Referenced executable target unavailable; not analyzed
- No broad tool permissions
- 3 dangerous shell commandsin 2 files: scripts/setup_colab.py:11 SKILL.md:526
- 313 network referencesin 33 files: README.md:5 README_zh-Hans.md:5 README_zh-Hant.md:5 and 30 more
- No hidden or obfuscated text
- No instruction overrides
- 34 executable scriptsin 34 files: eval/graders/__init__.py:1 eval/graders/common.py:1 eval/graders/filesystem.py:1 and 31 more
- 9 references to secretsin 4 files: scripts/detect_env.py:63 eval/graders/static_contract.py:143 eval/run_skill_evals.py:114 and 1 more
- No requests to vote in Hot
Show all 359 signals by file
.claude-plugin/marketplace.json
- Network accessline 1
{ "name": "unsloth-buddy", "owner": { "name": "Gaslamp", "url": "https://gaslamp.dev" }, - Network accessline 2
"name": "unsloth-buddy", "owner": { "name": "Gaslamp", "url": "https://gaslamp.dev" }, "metadata": { - Network accessline 3
"owner": { "name": "Gaslamp", "url": "https://gaslamp.dev" }, - Network accessline 5
"description": "Agentic LLM fine-tuning skill for Claude Code — Unsloth on NVIDIA, mlx-tune on Apple Silicon.", "version": "1.0.5", "repository": "https://github.com/TYH-labs/unsloth-buddy", - Network accessline 6
"version": "1.0.5", "repository": "https://github.com/TYH-labs/unsloth-buddy", "documentation": "https://gaslamp.dev/unsloth" - Network accessline 7
"repository": "https://github.com/TYH-labs/unsloth-buddy", - Network accessline 8
"documentation": "https://gaslamp.dev/unsloth"
AGENTS.md
- Network accessline 3
> This file is read by [OpenClaw](https://github.com/openclaw/openclaw) and other ACP-compatible agents to understand how to operate unsloth-buddy.
README.md
- Network accessline 5
<p align="center"> <a href="https://github.com/TYH-labs/unsloth-buddy"><img src="https://img.shields.io/github/stars/TYH-labs/unsloth-buddy?style=flat&logo=github&color=181717&logoColor=white" alt="GitHub" /></a> - Network accessline 6
<a href="https://github.com/TYH-labs/unsloth-buddy"><img src="https://img.shields.io/github/stars/TYH-labs/unsloth-buddy?style=flat&logo=github&color=181717&logoColor=white" alt="GitHub" /></a> - Network accessline 7
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="MIT License" /></a> - Network accessline 8
<a href="#quick-start"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white" alt="Python 3.10+" /></a> - Network accessline 9
<a href="https://gaslamp.dev/unsloth"><img src="https://img.shields.io/badge/%F0%9F%94%A5%20Gaslamp-Compatible-ff6b00?logoColor=white" alt="Gaslamp Compatible" /></a> - Network accessline 10
<a href="#openclaw"><img src="https://img.shields.io/badge/%F0%9F%A6%9E%20OpenClaw-Compatible-ff4444" alt="OpenClaw Compatible" /></a> - Network accessline 11
<a href="#quick-start"><img src="https://img.shields.io/badge/%F0%9F%A4%96%20Agent-Claude%20Code%20%2F%20Codex%20%2F%20Gemini-8b5cf6" alt="Agent Compatible" /></a> - Network accessline 12
<a href="https://discord.gg/mZe4mbCQ6a"><img src="https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white" alt="Discord" /></a> - Network accessline 13
<a href="#local-deploy"><img src="https://img.shields.io/badge/Backend-Unsloth%20%7C%20MLX%20%7C%20llama.cpp-00b4d8" alt="Backend: Unsloth / MLX / llama.cpp" /></a> - Network accessline 18
<p align="center"> <a href="#quick-start"><img src="https://img.shields.io/badge/Try%20It-1%20minute-black?style=for-the-badge" alt="Try It" /></a> - Network accessline 19
<a href="#quick-start"><img src="https://img.shields.io/badge/Try%20It-1%20minute-black?style=for-the-badge" alt="Try It" /></a> - Network accessline 20
<a href="demos/"><img src="https://img.shields.io/badge/Demos-Examples-6e40c9?style=for-the-badge" alt="Demos" /></a> - Network accessline 21
<a href="SKILL.md"><img src="https://img.shields.io/badge/10%2B%20Features-Details-0969da?style=for-the-badge" alt="Features" /></a> - Network accessline 24
<p align="center"> <a href="https://youtu.be/wG28uxDGjHE"><img src="https://img.shields.io/badge/▶%20Demo-YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white" alt="YouTube Demo" /></a> - Network accessline 25
<a href="https://youtu.be/wG28uxDGjHE"><img src="https://img.shields.io/badge/▶%20Demo-YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white" alt="YouTube Demo" /></a> - Network accessline 26
<a href="https://www.bilibili.com/video/BV1VWAFzmECy/"><img src="https://img.shields.io/badge/▶%20演示-Bilibili-00A1D6?style=for-the-badge&logo=bilibili&logoColor=white" alt="Bilibili Demo" /></a> - Network accessline 39
Runs on NVIDIA GPUs via [Unsloth](https://github.com/unslothai/unsloth), natively on Apple Silicon via [mlx-tune](https://github.com/ml-explore/mlx-lm), and on free cloud GPUs via [colab-mcp](https://github.com/googlecolab/colab-mcp). Part - Network accessline 89
gemini extensions install https://github.com/TYH-labs/unsloth-buddy --consent - Network accessline 92
**Any agent supporting the [Agent Skills](https://agentskills.io/) standard** - Network accessline 94
git clone https://github.com/TYH-labs/unsloth-buddy.git .agents/skills/unsloth-buddy - Network accessline 164
Every local training run automatically opens a real-time dashboard at **http://localhost:8080/**: - Network accessline 187
The demo builder is part of the [Gaslamp](https://gaslamp.dev/) platform's presentation toolkit. We've simplified it for unsloth-buddy with two built-in themes and automatic domain-specific color customization: - Network accessline 209
This runs the full pipeline: quantize → benchmark → start an OpenAI-compatible server → open the Gaslamp Chat WebUI at `http://localhost:8081/`. Individual subcommands are also available: - Network accessline 219
Requires [llama.cpp](https://github.com/ggml-org/llama.cpp) — installed automatically via `llamacpp.py install`. - Network accessline 229
uv python install 3.13 claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 230
claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 242
`unsloth-buddy` works standalone or as part of a larger [Gaslamp](https://gaslamp.dev/) project — an agentic platform that orchestrates the full ML lifecycle from research to training to deployment. When called via Gaslamp, the project dire - Network accessline 246
[gaslamp.dev/unsloth](https://gaslamp.dev/unsloth) — [gaslamp.dev](https://gaslamp.dev/) - Network accessline 252
**unsloth-buddy is an [OpenClaw](https://github.com/openclaw/openclaw)-compatible skill.** Share the repo URL with OpenClaw, describe what you want to fine-tune — it reads `AGENTS.md`, understands the workflow, and runs everything automatic - Network accessline 255
1. Share https://github.com/TYH-labs/unsloth-buddy with OpenClaw - Network accessline 277
- **2026-04-14** — **Self-evolving memory** (Phase 7 + global inject): after each project, the agent synthesizes lessons, model-specific gotchas, and reusable scenario recipes into `~/.gaslamp/`. Every new project injects a frozen snapshot - Network accessline 278
- **2026-04-12** — Added **llama.cpp local deploy** (Phase 6.5): after GGUF export, if llama.cpp is installed, the agent offers a one-command pipeline — quantize → benchmark → serve + open the Gaslamp Chat WebUI (`templates/chat_ui.html`). - Network accessline 279
- **2026-04-10** — Added native **Vision SFT for Apple Silicon**: Integrated [mlx-vlm](https://github.com/Blaizzy/mlx-vlm) to support multimodal fine-tuning (e.g. Gemma 4 Vision, Qwen2.5-VL) on M-series chips. Added `scripts/unsloth_mlx_vis - Network accessline 280
- **2026-04-09** — Demo Builder improvements: auto-resolves conceptual/movie keywords (e.g. "matrix" → nvidia, "star wars" → spacex) to the best-fit brand before calling the design search script; distinguishes shallow vs. deep DESIGN.md ove - Network accessline 281
- **2026-04-04** — Added Demo Builder (Phase 5.5): after evaluation, generates a static HTML demo page showing base vs fine-tuned outputs side-by-side. Two themes (crisp-light, dark-signal) with automatic domain-specific accent colors. No s - Network accessline 283
- **2026-03-21** — Enhanced training dashboard: task-aware panels (SFT/DPO/GRPO/Vision), GPU memory breakdown (baseline vs LoRA vs total), GRPO reward ± std and KL divergence charts, DPO chosen/rejected reward and KL charts, epoch tracking, - Network accessline 285
- **2026-03-18** — Added Google Colab training support via [colab-mcp](https://github.com/googlecolab/colab-mcp): free T4/L4/A100 GPU access from Claude Code, background-thread training with live polling, and adapter download workflow.
README_zh-Hans.md
- Network accessline 5
<p align="center"> <a href="https://github.com/TYH-labs/unsloth-buddy"><img src="https://img.shields.io/github/stars/TYH-labs/unsloth-buddy?style=flat&logo=github&color=181717&logoColor=white" alt="GitHub" /></a> - Network accessline 6
<a href="https://github.com/TYH-labs/unsloth-buddy"><img src="https://img.shields.io/github/stars/TYH-labs/unsloth-buddy?style=flat&logo=github&color=181717&logoColor=white" alt="GitHub" /></a> - Network accessline 7
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="MIT License" /></a> - Network accessline 8
<a href="#快速开始"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white" alt="Python 3.10+" /></a> - Network accessline 9
<a href="https://gaslamp.dev/unsloth"><img src="https://img.shields.io/badge/%F0%9F%94%A5%20Gaslamp-Compatible-ff6b00?logoColor=white" alt="Gaslamp Compatible" /></a> - Network accessline 10
<a href="#openclaw"><img src="https://img.shields.io/badge/%F0%9F%A6%9E%20OpenClaw-Compatible-ff4444" alt="OpenClaw Compatible" /></a> - Network accessline 11
<a href="#快速开始"><img src="https://img.shields.io/badge/%F0%9F%A4%96%20Agent-Claude%20Code%20%2F%20Codex%20%2F%20Gemini-8b5cf6" alt="Agent Compatible" /></a> - Network accessline 12
<a href="https://discord.gg/mZe4mbCQ6a"><img src="https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white" alt="Discord" /></a> - Network accessline 13
<a href="#本地部署"><img src="https://img.shields.io/badge/后端-Unsloth%20%7C%20MLX%20%7C%20llama.cpp-00b4d8" alt="后端:Unsloth / MLX / llama.cpp" /></a> - Network accessline 18
<p align="center"> <a href="#快速开始"><img src="https://img.shields.io/badge/立即体验-1 分钟-black?style=for-the-badge" alt="立即体验" /></a> - Network accessline 19
<a href="#快速开始"><img src="https://img.shields.io/badge/立即体验-1 分钟-black?style=for-the-badge" alt="立即体验" /></a> - Network accessline 20
<a href="demos/"><img src="https://img.shields.io/badge/演示案例-示例-6e40c9?style=for-the-badge" alt="演示案例" /></a> - Network accessline 21
<a href="SKILL.md"><img src="https://img.shields.io/badge/10%2B%20功能-功能详情-0969da?style=for-the-badge" alt="10+ 功能" /></a> - Network accessline 24
<p align="center"> <a href="https://www.bilibili.com/video/BV1VWAFzmECy/"><img src="https://img.shields.io/badge/▶%20演示-Bilibili-00A1D6?style=for-the-badge&logo=bilibili&logoColor=white" alt="Bilibili 演示" /></a> - Network accessline 25
<a href="https://www.bilibili.com/video/BV1VWAFzmECy/"><img src="https://img.shields.io/badge/▶%20演示-Bilibili-00A1D6?style=for-the-badge&logo=bilibili&logoColor=white" alt="Bilibili 演示" /></a> - Network accessline 26
<a href="https://youtu.be/wG28uxDGjHE"><img src="https://img.shields.io/badge/▶%20Demo-YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white" alt="YouTube Demo" /></a> - Network accessline 39
支持通过 [Unsloth](https://github.com/unslothai/unsloth) 在 NVIDIA GPU 上运行,也支持通过 [mlx-tune](https://github.com/ml-explore/mlx-lm) 在 Apple Silicon 上原生运行。隶属于 [Gaslamp](https://gaslamp.dev/) AI 开发平台 — [文档](https://gaslamp.dev/unsloth)。 - Network accessline 89
gemini extensions install https://github.com/TYH-labs/unsloth-buddy --consent - Network accessline 92
**任何支持 [Agent Skills](https://agentskills.io/) 标准的 Agent** - Network accessline 94
git clone https://github.com/TYH-labs/unsloth-buddy.git .agents/skills/unsloth-buddy - Network accessline 164
每次本地训练都会自动在 **http://localhost:8080/** 打开实时看板: - Network accessline 187
演示生成器是 [Gaslamp](https://gaslamp.dev/) 平台展示工具的一部分。我们为 unsloth-buddy 做了简化,内置两套主题并支持基于领域的自动配色: - Network accessline 209
将运行完整流水线:量化 → 基准测试 → 启动 OpenAI 兼容服务器 → 在浏览器中打开 Gaslamp Chat WebUI(`http://localhost:8081/`)。也可单独使用各子命令: - Network accessline 219
需要安装 [llama.cpp](https://github.com/ggml-org/llama.cpp) — 可通过 `llamacpp.py install` 自动安装。 - Network accessline 229
uv python install 3.13 claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 230
claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 242
`unsloth-buddy` 可独立使用,也可作为 [Gaslamp](https://gaslamp.dev/) 大型项目的一部分运行 — Gaslamp 是一个协调从研究到训练再到部署整个 ML 生命周期的 Agentic 平台。通过 Gaslamp 调用时,项目目录和状态在各个技能之间共享,结果会自动传递到下一阶段。 - Network accessline 246
[gaslamp.dev/unsloth](https://gaslamp.dev/unsloth) — [gaslamp.dev](https://gaslamp.dev/) - Network accessline 252
**unsloth-buddy 是一个 [OpenClaw](https://github.com/openclaw/openclaw) 兼容技能。** 将仓库 URL 分享给 OpenClaw,描述你想微调的内容 — 它会读取 `AGENTS.md`,理解流程,并自动运行一切。 - Network accessline 255
1. 将 https://github.com/TYH-labs/unsloth-buddy 分享给 OpenClaw - Network accessline 277
- **2026-04-14** — **自进化记忆**(第 7 阶段 + 全局注入):每次项目完成后,Agent 将经验、模型特有注意事项与可复用场景配方提炼至 `~/.gaslamp/`。每个新项目启动时自动注入冻结快照,静默应用历史知识。实现了代理记忆研究中的冻结快照模式。详见 `ref/self_evolve_plan.md`。 - **2026-04-12** — 新增 **llama.cpp 本地部署**(第 6.5 阶段):GGUF 导出完成后,若检测到 lla - Network accessline 278
- **2026-04-12** — 新增 **llama.cpp 本地部署**(第 6.5 阶段):GGUF 导出完成后,若检测到 llama.cpp,Agent 将提供一键流水线 — 量化 → 基准测试 → 启动服务 + 打开 Gaslamp Chat WebUI(`templates/chat_ui.html`)。`scripts/llamacpp.py` 提供 7 个子命令(`install`、`quantize`、`bench`、`ppl`、`serve`、`cha - Network accessline 279
- **2026-04-10** — 新增 Apple Silicon 原生**视觉 SFT 支持**:集成 [mlx-vlm](https://github.com/Blaizzy/mlx-vlm) 以支持在 M 系列芯片上进行多模态微调(如 Gemma 4 Vision、Qwen2.5-VL)。新增 `scripts/unsloth_mlx_vision_example.py` 训练模板和 `mlx_eval_vision_template.py` 视觉对比评估脚本。演示 - Network accessline 280
- **2026-04-09** — 演示生成器改进:自动将概念/电影类关键词(如 "matrix" → nvidia,"star wars" → spacex)解析并映射至最匹配的品牌;区分浅层与深层 DESIGN.md 覆盖 —— 深层覆盖(如全黑或局部大面积结构性分割布局)将跳过 CSS 注入点,从头开始写入演示文件。将 `scripts/search_design.py` 补充至技能脚本汇总,即使环境内无 `npx` 也可直接获取品牌设计模板。 - **2026-04 - Network accessline 281
- **2026-04-04** — 新增演示生成器(第 5.5 阶段):评估完成后生成静态 HTML 演示页面,并排展示基础模型与微调模型输出。内置两套主题(crisp-light、dark-signal),支持基于领域的自动强调色。无需服务器 — 在任意浏览器中直接打开。属于 [Gaslamp](https://gaslamp.dev/) 展示工具的简化版本。访谈从 5 点合同简化为 2 个问题(任务 + 数据),同时捕获用户领域/受众以用于演示主题选择。 - Network accessline 283
- **2026-03-21** — 增强训练看板:任务感知面板(SFT/DPO/GRPO/Vision)、GPU 内存分解(基线 vs LoRA vs 总量)、GRPO 奖励 ± 标准差及 KL 散度图表、DPO 选中/拒绝奖励及 KL 图表、轮次追踪、训练完成摘要横幅、终端 DPO/GRPO 2×2 布局,以及新增 `scripts/demo_server.py` 无需 GPU 即可预览所有面板的模拟服务器。 - **2026-03-19** — 新增终端训练看板(`sc - Network accessline 285
- **2026-03-18** — 新增通过 [colab-mcp](https://github.com/googlecolab/colab-mcp) 的 Google Colab 云端训练支持:可在 Claude Code 中直接使用免费 T4/L4/A100 GPU,支持后台线程训练、实时轮询进度及适配器下载流程。
README_zh-Hant.md
- Network accessline 5
<p align="center"> <a href="https://github.com/TYH-labs/unsloth-buddy"><img src="https://img.shields.io/github/stars/TYH-labs/unsloth-buddy?style=flat&logo=github&color=181717&logoColor=white" alt="GitHub" /></a> - Network accessline 6
<a href="https://github.com/TYH-labs/unsloth-buddy"><img src="https://img.shields.io/github/stars/TYH-labs/unsloth-buddy?style=flat&logo=github&color=181717&logoColor=white" alt="GitHub" /></a> - Network accessline 7
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="MIT License" /></a> - Network accessline 8
<a href="#快速開始"><img src="https://img.shields.io/badge/Python-3.10%2B-3776AB?logo=python&logoColor=white" alt="Python 3.10+" /></a> - Network accessline 9
<a href="https://gaslamp.dev/unsloth"><img src="https://img.shields.io/badge/%F0%9F%94%A5%20Gaslamp-Compatible-ff6b00?logoColor=white" alt="Gaslamp Compatible" /></a> - Network accessline 10
<a href="#openclaw"><img src="https://img.shields.io/badge/%F0%9F%A6%9E%20OpenClaw-Compatible-ff4444" alt="OpenClaw Compatible" /></a> - Network accessline 11
<a href="#快速開始"><img src="https://img.shields.io/badge/%F0%9F%A4%96%20Agent-Claude%20Code%20%2F%20Codex%20%2F%20Gemini-8b5cf6" alt="Agent Compatible" /></a> - Network accessline 12
<a href="https://discord.gg/mZe4mbCQ6a"><img src="https://img.shields.io/badge/Discord-Join-5865F2?logo=discord&logoColor=white" alt="Discord" /></a> - Network accessline 13
<a href="#本地部署"><img src="https://img.shields.io/badge/後端-Unsloth%20%7C%20MLX%20%7C%20llama.cpp-00b4d8" alt="後端:Unsloth / MLX / llama.cpp" /></a> - Network accessline 18
<p align="center"> <a href="#快速開始"><img src="https://img.shields.io/badge/立即體驗-1 分鐘-black?style=for-the-badge" alt="立即體驗" /></a> - Network accessline 19
<a href="#快速開始"><img src="https://img.shields.io/badge/立即體驗-1 分鐘-black?style=for-the-badge" alt="立即體驗" /></a> - Network accessline 20
<a href="demos/"><img src="https://img.shields.io/badge/示範案例-範例-6e40c9?style=for-the-badge" alt="示範案例" /></a> - Network accessline 21
<a href="SKILL.md"><img src="https://img.shields.io/badge/10%2B%20功能-功能詳情-0969da?style=for-the-badge" alt="10+ 功能" /></a> - Network accessline 24
<p align="center"> <a href="https://www.bilibili.com/video/BV1VWAFzmECy/"><img src="https://img.shields.io/badge/▶%20演示-Bilibili-00A1D6?style=for-the-badge&logo=bilibili&logoColor=white" alt="Bilibili 演示" /></a> - Network accessline 25
<a href="https://www.bilibili.com/video/BV1VWAFzmECy/"><img src="https://img.shields.io/badge/▶%20演示-Bilibili-00A1D6?style=for-the-badge&logo=bilibili&logoColor=white" alt="Bilibili 演示" /></a> - Network accessline 26
<a href="https://youtu.be/wG28uxDGjHE"><img src="https://img.shields.io/badge/▶%20Demo-YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white" alt="YouTube Demo" /></a> - Network accessline 39
支援透過 [Unsloth](https://github.com/unslothai/unsloth) 在 NVIDIA GPU 上執行,也支援透過 [mlx-tune](https://github.com/ml-explore/mlx-lm) 在 Apple Silicon 上原生執行。隸屬於 [Gaslamp](https://gaslamp.dev/) AI 開發平台 — [文件](https://gaslamp.dev/unsloth)。 - Network accessline 89
gemini extensions install https://github.com/TYH-labs/unsloth-buddy --consent - Network accessline 92
**任何支援 [Agent Skills](https://agentskills.io/) 標準的 Agent** - Network accessline 94
git clone https://github.com/TYH-labs/unsloth-buddy.git .agents/skills/unsloth-buddy - Network accessline 164
每次本地訓練都會自動在 **http://localhost:8080/** 開啟即時儀表板: - Network accessline 187
展示生成器是 [Gaslamp](https://gaslamp.dev/) 平台展示工具的一部分。我們為 unsloth-buddy 做了簡化,內建兩套主題並支援基於領域的自動配色: - Network accessline 209
將執行完整流水線:量化 → 基準測試 → 啟動 OpenAI 相容伺服器 → 在瀏覽器中開啟 Gaslamp Chat WebUI(`http://localhost:8081/`)。也可單獨使用各子指令: - Network accessline 219
需要安裝 [llama.cpp](https://github.com/ggml-org/llama.cpp) — 可透過 `llamacpp.py install` 自動安裝。 - Network accessline 229
uv python install 3.13 claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 230
claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 242
`unsloth-buddy` 可獨立使用,也可作為 [Gaslamp](https://gaslamp.dev/) 大型專案的一部分執行 — Gaslamp 是一個協調從研究到訓練再到部署整個 ML 生命週期的 Agentic 平台。透過 Gaslamp 呼叫時,專案目錄和狀態在各個技能之間共享,結果會自動傳遞到下一階段。 - Network accessline 246
[gaslamp.dev/unsloth](https://gaslamp.dev/unsloth) — [gaslamp.dev](https://gaslamp.dev/) - Network accessline 252
**unsloth-buddy 是一個 [OpenClaw](https://github.com/openclaw/openclaw) 相容技能。** 將儲存庫 URL 分享給 OpenClaw,描述你想微調的內容 — 它會讀取 `AGENTS.md`,理解流程,並自動執行一切。 - Network accessline 255
1. 將 https://github.com/TYH-labs/unsloth-buddy 分享給 OpenClaw - Network accessline 277
- **2026-04-14** — **自進化記憶**(第 7 階段 + 全域注入):每次專案完成後,Agent 將經驗、模型特有注意事項與可重複使用場景配方提煉至 `~/.gaslamp/`。每個新專案啟動時自動注入凍結快照,靜默套用歷史知識。實現了代理記憶研究中的凍結快照模式。詳見 `ref/self_evolve_plan.md`。 - **2026-04-12** — 新增 **llama.cpp 本地部署**(第 6.5 階段):GGUF 匯出完成後,若偵測到 l - Network accessline 278
- **2026-04-12** — 新增 **llama.cpp 本地部署**(第 6.5 階段):GGUF 匯出完成後,若偵測到 llama.cpp,Agent 將提供一鍵流水線 — 量化 → 基準測試 → 啟動服務 + 開啟 Gaslamp Chat WebUI(`templates/chat_ui.html`)。`scripts/llamacpp.py` 提供 7 個子指令(`install`、`quantize`、`bench`、`ppl`、`serve`、`cha - Network accessline 279
- **2026-04-10** — 新增 Apple Silicon 原生**視覺 SFT 支援**:整合 [mlx-vlm](https://github.com/Blaizzy/mlx-vlm) 以支援在 M 系列晶片上進行多模態微調(如 Gemma 4 Vision、Qwen2.5-VL)。新增 `scripts/unsloth_mlx_vision_example.py` 訓練範本和 `mlx_eval_vision_template.py` 視覺對比評估腳本。展示 - Network accessline 280
- **2026-04-09** — 展示生成器改進:在呼叫設計搜尋腳本前,自動將概念/電影類關鍵字(如 "matrix" → nvidia,"star wars" → spacex)解析並對應至最匹配的品牌;區分淺層與深層 DESIGN.md 覆蓋 —— 深層覆蓋(如全黑或局部大面積結構性分割佈局)將跳過 CSS 注入點,從頭開始寫入展示檔案。將 `scripts/search_design.py` 補充至技能資源,即使環境內無 `npx` 也可直接獲取品牌設計範本。 - - Network accessline 281
- **2026-04-04** — 新增展示生成器(第 5.5 階段):評估完成後產生靜態 HTML 展示頁面,並排展示基礎模型與微調模型輸出。內建兩套主題(crisp-light、dark-signal),支援基於領域的自動強調色。無需伺服器 — 在任意瀏覽器中直接開啟。屬於 [Gaslamp](https://gaslamp.dev/) 展示工具的簡化版本。訪談從 5 點合約簡化為 2 個問題(任務 + 資料),同時擷取使用者領域/受眾以用於展示主題選擇。 - Network accessline 283
- **2026-03-21** — 增強訓練儀表板:任務感知面板(SFT/DPO/GRPO/Vision)、GPU 記憶體分解(基線 vs LoRA vs 總量)、GRPO 獎勵 ± 標準差及 KL 散度圖表、DPO 選取/拒絕獎勵及 KL 圖表、輪次追蹤、訓練完成摘要橫幅、終端 DPO/GRPO 2×2 配置,以及新增 `scripts/demo_server.py` 無需 GPU 即可預覽所有面板的模擬伺服器。 - **2026-03-19** — 新增終端訓練儀表板( - Network accessline 285
- **2026-03-18** — 新增透過 [colab-mcp](https://github.com/googlecolab/colab-mcp) 的 Google Colab 雲端訓練支援:可在 Claude Code 中直接使用免費 T4/L4/A100 GPU,支援背景執行緒訓練、即時輪詢進度及適配器下載流程。
SKILL.md
- Network accessline 7
version: "1.0.3" category: machine-learning repository: https://github.com/TYH-labs/unsloth-buddy - Network accessline 8
category: machine-learning repository: https://github.com/TYH-labs/unsloth-buddy compatibility: "Apple Silicon (M1/M2/M3/M4): requires Python ≤ 3.12 and mlx-tune (not CUDA). Linux/WSL with NVIDIA GPU: CUDA 11.8, 12.1, or 12.4+, Python 3.1 - Network accessline 9
repository: https://github.com/TYH-labs/unsloth-buddy - Network accessline 185
# 2. Add colab-mcp to Claude Code claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 186
claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 194
"colab-mcp": { "command": "uvx", "args": ["--from", "git+https://github.com/googlecolab/colab-mcp", - Network accessline 195
"command": "uvx", "args": ["--from", "git+https://github.com/googlecolab/colab-mcp", "--python", "3.13", "colab-mcp"], - Network accessline 196
"args": ["--from", "git+https://github.com/googlecolab/colab-mcp", - Network accessline 210
1. Tell the user to open a new notebook at https://colab.research.google.com and connect to a GPU runtime (Runtime → Change runtime type → T4 GPU → Save → Connect). - Network accessline 329
trainer.train() ``` Dashboard serves at **http://localhost:8080/** with loss, learning rate, val loss, Peak mem (GB), tokens/sec. - Network accessline 330
``` Dashboard serves at **http://localhost:8080/** with loss, learning rate, val loss, Peak mem (GB), tokens/sec. - **Terminal Dashboard** — ALWAYS install and present this to the user before starting training, regardless of response la - Network accessline 331
Dashboard serves at **http://localhost:8080/** with loss, learning rate, val loss, Peak mem (GB), tokens/sec. - Network accessline 347
- Remind the user of live monitoring options (the HTTP server starts automatically with training): - **Web dashboard**: Open **http://localhost:8080/** in a browser for the live interactive dashboard. - Network accessline 348
- **Web dashboard**: Open **http://localhost:8080/** in a browser for the live interactive dashboard. - Dangerous shell operationline 526
wget -qO- https://raw.githubusercontent.com/unslothai/unsloth/main/unsloth/_auto_install.py | python - - Network accessline 526
wget -qO- https://raw.githubusercontent.com/unslothai/unsloth/main/unsloth/_auto_install.py | python - - Network accessline 569
Guide the user to: 1. Create environment: `conda create --name unsloth_env python==3.12 -y` & `conda activate unsloth_env` 2. Install PyTorch for their CUDA version (e.g. `pip3 install torch torchvision torchaudio --index-url https://downlo - Network accessline 570
1. Create environment: `conda create --name unsloth_env python==3.12 -y` & `conda activate unsloth_env` 2. Install PyTorch for their CUDA version (e.g. `pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/ - Network accessline 571
2. Install PyTorch for their CUDA version (e.g. `pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121`) - Network accessline 578
Tell them to access Jupyter Lab at `http://localhost:8888`. - Network accessline 590
"colab-mcp": { "command": "uvx", "args": ["git+https://github.com/googlecolab/colab-mcp"], - Network accessline 591
"command": "uvx", "args": ["git+https://github.com/googlecolab/colab-mcp"], "timeout": 30000 - Network accessline 592
"args": ["git+https://github.com/googlecolab/colab-mcp"], - Network accessline 703
**Model Naming Convention**: Always suggest Unsloth's pre-quantized models (e.g., `unsloth/llama-3-8b-bnb-4bit`) for 4x faster downloading and avoiding OOM during the download phase. Browse the full catalog at https://unsloth.ai/docs/get-st - Network accessline 947
{"messages": [ {"role": "user", "content": [ {"type": "image", "image": "https://example.com/image.jpg"}, - Network accessline 948
{"role": "user", "content": [ {"type": "image", "image": "https://example.com/image.jpg"}, {"type": "text", "text": "Describe this image."} - Network accessline 949
{"type": "image", "image": "https://example.com/image.jpg"}, - Network accessline 1101
### 7. Gradient accumulation bug - **Fix**: Use Unsloth's patched trainers. Standard HuggingFace trainers have a known gradient accumulation bug that Unsloth fixes automatically. See: https://unsloth.ai/blog/gradient - Network accessline 1102
- **Fix**: Use Unsloth's patched trainers. Standard HuggingFace trainers have a known gradient accumulation bug that Unsloth fixes automatically. See: https://unsloth.ai/blog/gradient - Network accessline 1242
- [Unsloth Documentation](https://unsloth.ai/docs) - Network accessline 1243
- [Model Catalog](https://unsloth.ai/docs/get-started/unsloth-model-catalog) - Network accessline 1244
- [Fine-tuning Guide](https://unsloth.ai/docs/get-started/fine-tuning-llms-guide) - Network accessline 1245
- [RL Guide](https://unsloth.ai/docs/get-started/reinforcement-learning-rl-guide) - Network accessline 1246
- [Vision Guide](https://unsloth.ai/docs/basics/vision-fine-tuning) - Network accessline 1247
- [TTS Guide](https://unsloth.ai/docs/basics/text-to-speech-tts-fine-tuning) - Network accessline 1248
- [Saving to GGUF](https://unsloth.ai/docs/basics/inference-and-deployment/saving-to-gguf) - Network accessline 1249
- [vLLM Deployment](https://unsloth.ai/docs/basics/inference-and-deployment/vllm-guide) - Network accessline 1250
- [All Notebooks](https://unsloth.ai/docs/get-started/unsloth-notebooks)
demos/README.md
- Network accessline 5
Every example is a single file. Hand it to any agent running [unsloth-buddy](https://gaslamp.dev/unsloth) and the entire project reproduces end-to-end: data download, environment setup, training, and evaluation. - Network accessline 41
/install-plugin https://github.com/TYH-labs/unsloth-buddy
demos/README_zh-Hans.md
demos/README_zh-Hant.md
demos/gemma4_htr_sft_2026_04_07/gaslamp.md
demos/gemma4_htr_sft_2026_04_07/index.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 217
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 218
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linec - Network accessline 219
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 462
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 463
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
demos/qwen2.5-0.5b-chip2-sft/gaslamp.md
- Network accessline 1
# gaslamp.md — Roadbook for `qwen_chip2_sft` # Powered by Gaslamp · https://gaslamp.dev - Network accessline 2
# Powered by Gaslamp · https://gaslamp.dev - Network accessline 75
**Source:** `laion/OIG` — `unified_chip2.jsonl` via HuggingFace **URL:** `https://huggingface.co/datasets/laion/OIG/resolve/main/unified_chip2.jsonl` - Network accessline 76
**URL:** `https://huggingface.co/datasets/laion/OIG/resolve/main/unified_chip2.jsonl`
demos/qwen2.5-0.5b-chip2-sft/index.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 175
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 176
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linec - Network accessline 177
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 411
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 412
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
demos/qwen2.5-0.5b-chip2-sft/index_zh-Hans.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 175
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 176
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linec - Network accessline 177
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 411
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 412
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
demos/qwen2.5-0.5b-chip2-sft/index_zh-Hant.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 175
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 176
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linec - Network accessline 177
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 411
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 412
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
eval/graders/__init__.py
- Executable scriptline 1
Executable file
eval/graders/common.py
- Executable scriptline 1
Executable file
eval/graders/filesystem.py
- Executable scriptline 1
Executable file
eval/graders/lifecycle.py
- Executable scriptline 1
Executable file
eval/graders/report.py
- Executable scriptline 1
Executable file
eval/graders/static_contract.py
eval/graders/trace.py
- Executable scriptline 1
Executable file
eval/run_skill_evals.py
eval/tests/test_filesystem_lifecycle.py
- Executable scriptline 1
Executable file
eval/tests/test_report.py
- Executable scriptline 1
Executable file
eval/tests/test_static_contract.py
- Executable scriptline 1
Executable file
eval/tests/test_trace.py
- Executable scriptline 1
Executable file
scripts/add_reflect_hint.py
- Executable scriptline 1
Executable file
scripts/colab_training.py
- Executable scriptline 1
Executable file - Network accessline 212
2. Add colab-mcp to Claude Code: claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 213
claude mcp add colab-mcp -- uvx --from git+https://github.com/googlecolab/colab-mcp --python 3.13 colab-mcp - Network accessline 217
"colab-mcp": { "command": "uvx", "args": ["--from", "git+https://github.com/googlecolab/colab-mcp", - Network accessline 218
"command": "uvx", "args": ["--from", "git+https://github.com/googlecolab/colab-mcp", "--python", "3.13", "colab-mcp"], - Network accessline 219
"args": ["--from", "git+https://github.com/googlecolab/colab-mcp", - Network accessline 229
4. Open a new Colab notebook at https://colab.research.google.com
scripts/demo_server.py
- Executable scriptline 1
Executable file - Network accessline 161
_PAYLOAD = make_payload(args.task, args.hardware) httpd = HTTPServer(("localhost", args.port), Handler) print(f"🚀 Demo dashboard at http://localhost:{args.port}/ (task={args.task}, hardware={args.hardware})") - Network accessline 162
httpd = HTTPServer(("localhost", args.port), Handler) print(f"🚀 Demo dashboard at http://localhost:{args.port}/ (task={args.task}, hardware={args.hardware})") print(" Press Ctrl+C to stop.") - Network accessline 163
print(f"🚀 Demo dashboard at http://localhost:{args.port}/ (task={args.task}, hardware={args.hardware})")
scripts/detect_env.py
- Executable scriptline 1
Executable file - Access to secretsline 63
[Credential-related source omitted] - Access to secretsline 64
[Credential-related source omitted] - Access to secretsline 71
[Credential-related source omitted] - Access to secretsline 75
[Credential-related source omitted] - Access to secretsline 88
[Credential-related source omitted] - Access to secretsline 137
[Credential-related source omitted]
scripts/detect_system.py
- Executable scriptline 1
Executable file
scripts/gaslamp_callback.py
- Executable scriptline 1
Executable file - Network accessline 201
time.sleep(0.5) print("\n" + "=" * 60) print(f"🚀 Gaslamp Live Training Dashboard: http://localhost:{self.port}/") - Network accessline 202
print("\n" + "=" * 60) print(f"🚀 Gaslamp Live Training Dashboard: http://localhost:{self.port}/") print("=" * 60 + "\n") - Network accessline 203
print(f"🚀 Gaslamp Live Training Dashboard: http://localhost:{self.port}/")
scripts/init_project.py
- Executable scriptline 1
Executable file
scripts/llamacpp.py
- Executable scriptline 1
#!/usr/bin/env python3 - Network accessline 134
os.makedirs(build_dir, exist_ok=True) _run(["git", "clone", "--depth=1", "https://github.com/ggml-org/llama.cpp.git", build_dir], - Network accessline 135
_run(["git", "clone", "--depth=1", "https://github.com/ggml-org/llama.cpp.git", build_dir], check=False) - Network accessline 136
"https://github.com/ggml-org/llama.cpp.git", build_dir], - Network accessline 142
else: print(f"⚠<U+FE0F> Auto-install not supported on {system}.") print(" Download from: https://github.com/ggml-org/llama.cpp/releases") - Network accessline 143
print(f"⚠<U+FE0F> Auto-install not supported on {system}.") print(" Download from: https://github.com/ggml-org/llama.cpp/releases") sys.exit(1) - Network accessline 144
print(" Download from: https://github.com/ggml-org/llama.cpp/releases") - Network accessline 151
else: print("❌ Installation failed. Try manual install:") print(" https://github.com/ggml-org/llama.cpp/releases") - Network accessline 152
print("❌ Installation failed. Try manual install:") print(" https://github.com/ggml-org/llama.cpp/releases") sys.exit(1) - Network accessline 153
print(" https://github.com/ggml-org/llama.cpp/releases") - Network accessline 293
try: import urllib.request resp = urllib.request.urlopen(f"http://localhost:{args.port}/health", timeout=2) - Network accessline 294
import urllib.request resp = urllib.request.urlopen(f"http://localhost:{args.port}/health", timeout=2) if resp.status == 200: - Network accessline 295
resp = urllib.request.urlopen(f"http://localhost:{args.port}/health", timeout=2) - Network accessline 308
print(f"✅ Server ready!") print(f" API: http://localhost:{args.port}/v1/chat/completions") - Network accessline 309
print(f" API: http://localhost:{args.port}/v1/chat/completions") - Network accessline 310
print(f" WebUI: http://localhost:{args.port}/") - Network accessline 321
webbrowser.open(f"http://localhost:{args.port}/")
scripts/mlx_eval_template.py
- Executable scriptline 1
Executable file
scripts/mlx_eval_vision_template.py
- Executable scriptline 1
Executable file
scripts/mlx_gaslamp_dashboard.py
- Executable scriptline 1
Executable file - Network accessline 14
Dashboard → http://localhost:8080/ - Network accessline 173
""" Context manager that wraps mlx-tune's trainer.train() to provide a live Gaslamp dashboard at http://localhost:{port}/. - Network accessline 175
Gaslamp dashboard at http://localhost:{port}/. - Network accessline 236
time.sleep(0.3) print(f"\n{'='*60}") print(f"🚀 Gaslamp Live Training Dashboard: http://localhost:{self.port}/") - Network accessline 237
print(f"\n{'='*60}") print(f"🚀 Gaslamp Live Training Dashboard: http://localhost:{self.port}/") print(f"{'='*60}\n") - Network accessline 238
print(f"🚀 Gaslamp Live Training Dashboard: http://localhost:{self.port}/")
scripts/mps_grpo_example.py
scripts/reflect.py
- Executable scriptline 1
Executable file
scripts/search_design.py
- Executable scriptline 1
Executable file - Network accessline 7
def fetch_json(url): req = urllib.request.Request(url, headers={'User-Agent': 'unsloth-buddy/1.0'}) - Network accessline 8
req = urllib.request.Request(url, headers={'User-Agent': 'unsloth-buddy/1.0'}) - Network accessline 9
with urllib.request.urlopen(req) as resp: - Network accessline 12
def fetch_text(url): req = urllib.request.Request(url, headers={'User-Agent': 'unsloth-buddy/1.0'}) - Network accessline 13
req = urllib.request.Request(url, headers={'User-Agent': 'unsloth-buddy/1.0'}) - Network accessline 14
with urllib.request.urlopen(req) as resp: - Network accessline 23
manifest_url = "https://unpkg.com/getdesign@latest/templates/manifest.json" - Network accessline 43
if args.fetch: print(f"\n--- DESIGN.md for {match['brand']} ---\n") design_url = f"https://unpkg.com/getdesign@latest/templates/{match['file']}" - Network accessline 44
print(f"\n--- DESIGN.md for {match['brand']} ---\n") design_url = f"https://unpkg.com/getdesign@latest/templates/{match['file']}" try: - Network accessline 45
design_url = f"https://unpkg.com/getdesign@latest/templates/{match['file']}"
scripts/setup_colab.py
- Executable scriptline 1
Executable file - Dangerous shell operationline 11
exec(open("setup_colab.py").read()) - Network accessline 68
ok2, out2 = _run( "wget -qO- https://raw.githubusercontent.com/unslothai/unsloth/main/unsloth/_auto_install.py | python -" - Dangerous shell operationline 69
"wget -qO- https://raw.githubusercontent.com/unslothai/unsloth/main/unsloth/_auto_install.py | python -" - Network accessline 69
"wget -qO- https://raw.githubusercontent.com/unslothai/unsloth/main/unsloth/_auto_install.py | python -"
scripts/terminal_dashboard.py
- Executable scriptline 1
Executable file - Network accessline 27
def fetch_metrics(port=8080): try: r = requests.get(f"http://localhost:{port}/api/metrics", timeout=2) - Network accessline 28
try: r = requests.get(f"http://localhost:{port}/api/metrics", timeout=2) r.raise_for_status() - Network accessline 29
r = requests.get(f"http://localhost:{port}/api/metrics", timeout=2) - Network accessline 262
print(f"Connecting to Gaslamp training process on http://localhost:{args.port}...")
scripts/unsloth_dpo_example.py
- Executable scriptline 1
Executable file
scripts/unsloth_grpo_example.py
- Executable scriptline 1
Executable file
scripts/unsloth_mlx_sft_example.py
- Executable scriptline 1
Executable file
scripts/unsloth_mlx_vision_example.py
- Executable scriptline 1
Executable file - Network accessline 56
# {"messages": [ # {"role": "user", "content": [ # {"type": "image", "image": "https://..."}, - Network accessline 57
# {"role": "user", "content": [ # {"type": "image", "image": "https://..."}, # {"type": "text", "text": "Describe this image."} - Network accessline 58
# {"type": "image", "image": "https://..."}, - Network accessline 100
# 5. Train with Gaslamp Dashboard # ============================================================ # Web dashboard available at http://localhost:8080/ - Network accessline 102
# Web dashboard available at http://localhost:8080/
scripts/unsloth_sft_example.py
- Executable scriptline 1
Executable file
scripts/unsloth_vision_example.py
- Executable scriptline 1
Executable file - Network accessline 46
# {"messages": [ # {"role": "user", "content": [ # {"type": "image", "image": "https://..."}, - Network accessline 47
# {"role": "user", "content": [ # {"type": "image", "image": "https://..."}, # {"type": "text", "text": "Describe this image."} - Network accessline 48
# {"type": "image", "image": "https://..."},
templates/chat_ui.html
- Network accessline 28
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap'); - Network accessline 397
function getBaseUrl() { return `http://localhost:${portSlider.value}`; } - Network accessline 419
async function checkConnection() { try { const r = await fetch(`${getBaseUrl()}/v1/models`, { signal: AbortSignal.timeout(3000) }); - Network accessline 420
try { const r = await fetch(`${getBaseUrl()}/v1/models`, { signal: AbortSignal.timeout(3000) }); if (r.ok) { - Network accessline 421
const r = await fetch(`${getBaseUrl()}/v1/models`, { signal: AbortSignal.timeout(3000) }); - Network accessline 487
try { const resp = await fetch(`${getBaseUrl()}/v1/chat/completions`, { - Network accessline 488
const resp = await fetch(`${getBaseUrl()}/v1/chat/completions`, {
templates/dashboard.html
- Network accessline 6
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Gaslamp | Training Dashboard</title> <script src="https://cdn.tailwindcss.com"></script> - Network accessline 7
<title>Gaslamp | Training Dashboard</title> <script src="https://cdn.tailwindcss.com"></script> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> - Network accessline 8
<script src="https://cdn.tailwindcss.com"></script> - Network accessline 9
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script> - Network accessline 11
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); - Network accessline 97
<div class="flex items-center space-x-4"> <div class="w-14 h-14 rounded-xl bg-gray-900 border border-gray-700 shadow-lg shadow-emerald-500/20 flex items-center justify-center p-1"> <svg viewBox="0 0 64 64" fill="none" xmln - Network accessline 98
<div class="w-14 h-14 rounded-xl bg-gray-900 border border-gray-700 shadow-lg shadow-emerald-500/20 flex items-center justify-center p-1"> <svg viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-10 h-10"> - Network accessline 99
<svg viewBox="0 0 64 64" fill="none" xmlns="http://www.w3.org/2000/svg" class="w-10 h-10"> - Network accessline 363
<footer class="text-center text-xs text-gray-600 pb-4"> Gaslamp Training Dashboard · Powered by Unsloth-buddy · <a href="https://github.com/TYH-labs/unsloth-buddy" class="underline hover:text-gray-400">GitHub</a> - Network accessline 364
Gaslamp Training Dashboard · Powered by Unsloth-buddy · <a href="https://github.com/TYH-labs/unsloth-buddy" class="underline hover:text-gray-400">GitHub</a> </footer> - Network accessline 365
<a href="https://github.com/TYH-labs/unsloth-buddy" class="underline hover:text-gray-400">GitHub</a> - Network accessline 716
pollTimer = setInterval(async () => { try { const r = await fetch(`http://localhost:${port}/api/metrics`); - Network accessline 717
try { const r = await fetch(`http://localhost:${port}/api/metrics`); if (r.ok) { - Network accessline 718
const r = await fetch(`http://localhost:${port}/api/metrics`); - Network accessline 728
function connect(port=8080) { const connBadge = document.getElementById('conn-badge'); const es = new EventSource(`http://localhost:${port}/api/stream`); - Network accessline 730
const es = new EventSource(`http://localhost:${port}/api/stream`); - Network accessline 747
es.onopen = () => { // Also do an immediate HTTP fetch to get the full snapshot (handles reconnection) fetch(`http://localhost:${port}/api/metrics`) - Network accessline 748
// Also do an immediate HTTP fetch to get the full snapshot (handles reconnection) fetch(`http://localhost:${port}/api/metrics`) .then(r => r.ok ? r.json() : null) - Network accessline 749
fetch(`http://localhost:${port}/api/metrics`) - Network accessline 756
// Detect port from URL hash, e.g. http://localhost:8080/#port=9090
templates/demo_llm_crisp.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 181
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 182
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linec - Network accessline 183
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 418
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 419
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
templates/demo_llm_dark.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); - Network accessline 199
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 200
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a8a' stroke-width='1.5' fill='none' stroke-linec - Network accessline 201
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a8a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 427
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 428
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
templates/demo_vlm_crisp.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,400&family=Instrument+Serif:ital@0;1&display=swap'); - Network accessline 217
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 218
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linec - Network accessline 219
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 459
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 460
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
templates/demo_vlm_dark.html
- Network accessline 11
<style> /* === FONT IMPORT === */ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); - Network accessline 13
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap'); - Network accessline 235
transition: border-color 0.2s ease, box-shadow 0.2s ease; appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5 - Network accessline 236
appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a8a' stroke-width='1.5' fill='none' stroke-linec - Network accessline 237
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238a8a8a' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") - Network accessline 468
<footer> Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a> - Network accessline 469
Built with <a href="https://github.com/TYH-labs/unsloth-buddy" target="_blank">unsloth-buddy</a> · <a href="https://gaslamp.dev" target="_blank">Gaslamp 🔥</a>
How the signals fit together
Facts from a static read of the files at the pinned commit. They describe what the code does, not why.
Some files could not be read; the facts below still hold.
Combined signals: 1 fact
- Passes content downloaded from raw.githubusercontent.com to an interpreterSKILL.md:526High confidence
Declared and executed: 1 fact
- Contacts unpkg.com, which SKILL.md, the README and the plugin manifest do not mentionscripts/search_design.py:23High confidence
Signal confidence: 269 facts
- Network access in prose of documentationAGENTS.md:3Low confidence
- Network access in prose of documentationREADME.md:5Low confidence
- Network access in prose of documentationREADME.md:6Low confidence
- Network access in prose of documentationREADME.md:7Low confidence
- Network access in prose of documentationREADME.md:8Low confidence
- Network access in prose of documentationREADME.md:9Low confidence
- Network access in prose of documentationREADME.md:10Low confidence
- Network access in prose of documentationREADME.md:11Low confidence
- Network access in prose of documentationREADME.md:12Low confidence
- Network access in prose of documentationREADME.md:13Low confidence
- Network access in prose of documentationREADME.md:18Low confidence
- Network access in prose of documentationREADME.md:19Low confidence
- Network access in prose of documentationREADME.md:20Low confidence
- Network access in prose of documentationREADME.md:21Low confidence
- Network access in prose of documentationREADME.md:24Low confidence
- Network access in prose of documentationREADME.md:25Low confidence
- Network access in prose of documentationREADME.md:26Low confidence
- Network access in prose of documentationREADME.md:39Low confidence
- Network access in code of documentationREADME.md:89Low confidence
- Network access in prose of documentationREADME.md:92Low confidence
- Network access in code of documentationREADME.md:94Low confidence
- Network access in prose of documentationREADME.md:164Low confidence
- Network access in prose of documentationREADME.md:187Low confidence
- Network access in prose of documentationREADME.md:209Low confidence
- Network access in prose of documentationREADME.md:219Low confidence
- Network access in code of documentationREADME.md:229Low confidence
- Network access in code of documentationREADME.md:230Low confidence
- Network access in prose of documentationREADME.md:242Low confidence
- Network access in prose of documentationREADME.md:246Low confidence
- Network access in prose of documentationREADME.md:252Low confidence
- Network access in code of documentationREADME.md:255Low confidence
- Network access in prose of documentationREADME.md:277Low confidence
- Network access in prose of documentationREADME.md:278Low confidence
- Network access in prose of documentationREADME.md:279Low confidence
- Network access in prose of documentationREADME.md:280Low confidence
- Network access in prose of documentationREADME.md:281Low confidence
- Network access in prose of documentationREADME.md:283Low confidence
- Network access in prose of documentationREADME.md:285Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:5Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:6Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:7Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:8Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:9Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:10Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:11Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:12Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:13Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:18Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:19Low confidence
- Network access in prose of documentationREADME_zh-Hans.md:20Low confidence
and 219 more
Works with
| Agent | Status | Evidence | Install to |
|---|---|---|---|
| Claude Code | Native | Manifest .claude-plugin/marketplace.json | .claude/skills/<skill-name>/ |
| Codex | Native | Manifest AGENTS.md | .agents/skills/<skill-name>/ |
| Cursor | Compatible | Standard SKILL.md SKILL.md | .cursor/skills/<skill-name>/ |
| Gemini CLI | Native | Manifest gemini-extension.json | .gemini/skills/<skill-name>/ |
| GitHub Copilot | Compatible | Standard SKILL.md SKILL.md | .github/skills/<skill-name>/ |
| OpenCode | Compatible | Standard SKILL.md SKILL.md | .opencode/skills/<skill-name>/ |
- Native The repository ships a manifest, folder or frontmatter field for this agent.
- Compatible A standard SKILL.md that this agent can read.
- Unknown No evidence either way.
Derived automatically from paths, manifests and frontmatter. Not tested on each agent.