From 8c13c7bbaa434cbb55078706d833ab8c323550f9 Mon Sep 17 00:00:00 2001 From: Frank Date: Sun, 9 Aug 2026 11:54:04 -0700 Subject: [PATCH] Add AGENTS.md git workflow rules and initial vllm-awq-qwen36-dflash-ampere.sh from dankserver --- AGENTS.md | 31 +++++++++++++++++++ scripts/vllm-awq-qwen36-dflash-ampere.sh | 38 ++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 AGENTS.md create mode 100644 scripts/vllm-awq-qwen36-dflash-ampere.sh diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..359d59a --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,31 @@ +# AGENTS.md — vllmScripts Agent Rules + +## Git Workflow + +This project manages deployment scripts for vLLM and llama.cpp servers on dankserver and dankclaw. + +All script edits must flow through git. Do not edit files on the remote machine directly. + +### Protocol + +1. **Source the script from the target machine** — fetch it from the server where it runs +2. **Place it in this repo** — commit the fetched version +3. **Edit here** — make all changes locally in the working tree +4. **Commit and push** — push to origin (Gitea on dankclaw) +5. **Pull on the target** — `git pull` on the remote machine before restarting +6. **Restart the service** — use the updated script on the target + +### Why + +Direct edits on the remote drift from version control. Future agents will not know what changed. Git is the single source of truth. + +> User request → Fetch script from remote → Commit here → Edit → Commit → Push → Pull on remote → Restart + +## Summary + +| Context | Action | +|---------|--------| +| Editing a deployment script | **Work through git** — fetch, commit, edit, push, pull, restart. Never edit on the remote directly. | +| Script exists only on remote | **Pull it into the repo first** — commit the fetched version before making changes. | +| Unstaged local changes | **Commit or discard** — check `git status` before starting work. Ask the user if unsure. | +| Tests exist | **Run them** — verify tests pass after every change. Do not commit failing tests. | diff --git a/scripts/vllm-awq-qwen36-dflash-ampere.sh b/scripts/vllm-awq-qwen36-dflash-ampere.sh new file mode 100644 index 0000000..d7a1f72 --- /dev/null +++ b/scripts/vllm-awq-qwen36-dflash-ampere.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +# vllm-awq-qwen36-dflash-ampere.sh +# +# Qwen3.6-35B-A3B AWQ 4bit with DFlash speculative decoding. +# Optimized for Ampere-class GPUs. +# +# Model: cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit +# Draft: z-lab/Qwen3.6-35B-A3B-DFlash +# Port: 34401 +# +set -euo pipefail + +MODEL="cyankiwi/Qwen3.6-35B-A3B-AWQ-4bit" +PORT=34401 + +exec docker run --rm --name vllm-awq-qwen36-dflash-ampere \ + --gpus all \ + --privileged --ipc=host \ + -p "${PORT}:8000" \ + -e OMP_NUM_THREADS=8 \ + -e VLLM_CPU_OMP_THREADS_BIND=8 \ + -v ~/.cache/huggingface:/root/.cache/huggingface \ + vllm/vllm-openai:nightly "${MODEL}" \ + --served-model-name "frank-default-small" \ + # --speculative-config '{"method": "dflash", "model": "z-lab/Qwen3.6-35B-A3B-DFlash", "num_speculative_tokens": 4}' \ + --max-num-seqs 2 \ + --max-model-len 32768 \ + --tensor-parallel-size 1 \ + --enable-chunked-prefill \ + --max-num-batched-tokens 1536 \ + --performance-mode throughput \ + --enable-auto-tool-choice --tool-call-parser qwen3_xml \ + --reasoning-parser qwen3 \ + --trust-remote-code \ + --gpu-memory-utilization 0.95 \ + --cpu-offload-gb 13 \ + --cpu-offload-params "experts" \ + --default-chat-template-kwargs '{"enable_thinking": true, "preserve_thinking": true}'