summaryrefslogtreecommitdiff
path: root/README.md
AgeCommit message (Collapse)Author
2026-05-24chore(config): remove gpt-oss-120b references since qwen3.6 is betterPaul Buetow
2026-05-24replace qwen3-coder-next with qwen3.6-27b across configs, docs, and toolingPaul Buetow
2026-05-24docs: refresh README, hypr.fish, AGENTS.md for consolidated --vm CLIPaul Buetow
2026-05-24feat(cli): replace --config with --vm 1|2|both, remove create-both/delete-bothPaul Buetow
- Drop single-VM default hyperstack-vm.toml and @config_path/@config_explicit machinery - Add global --vm flag (default: 1) mapping to hyperstack-vm1.toml and/or hyperstack-vm2.toml - Fold create-both and delete-both into create/delete --vm both - Teach status, watch, test, model to accept --vm (default: 1) - Update help text and README/AGENTS/fish abbreviations accordingly
2026-05-24docs: remove single-VM and ComfyUI/photo referencesPaul Buetow
2026-04-24add qwenPaul Buetow
2026-04-11Rename VM1 configs: default hyperstack-vm1.toml, Nemotron in -nemotronPaul Buetow
Move the former hyperstack-vm1-coder.toml to hyperstack-vm1.toml as the standard VM1 profile (Qwen3-Coder-Next on single GPU). Preserve the dual-H100 Nemotron-3-Super stack as hyperstack-vm1-nemotron.toml. Point create-both at hyperstack-vm1.toml and refresh README for current defaults. Made-with: Cursor
2026-03-26eee97223-bfde-48d7-93f5-d1bb0ecddaba add /watch commandPaul Buetow
2026-03-24Add ComfyUI photo enhancement VM and photo-enhance.rb clientPaul Buetow
- hyperstack-vm-photo.toml: L40 GPU VM config (192.168.3.4, ~$1/hr) with [comfyui] section for port, model dirs, and pre-downloaded weights - hyperstack.rb: full ComfyUI provisioning support alongside vLLM/Ollama — config accessors, comfyui_install_script (git clone + venv + systemd), RemoteProvisioner#install_comfyui, Manager#create integration, UFW rules, status/service_mode_summary updates, --comfyui/--no-comfyui CLI flags - photo-enhance.rb: standalone client — uploads photos, submits ComfyUI workflow, polls for output, downloads PNG, converts to JPEG at quality 92 so file sizes match originals; --watch mode; processed-file manifest - workflows/photo-enhance.json: Real-ESRGAN x4plus enhance-in-place workflow (upscale 4x for enhancement, ImageScaleBy 0.25 back to original resolution) - README.md: Photo enhancement section with quickstart, config reference, workflow customisation notes, and performance table Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23docs: update watch command documentation to match actual implementationPaul Buetow
- Replace inaccurate description (Prometheus endpoint, TTFT, cumulative tokens) with a table reflecting the real data sources: nvidia-smi via SSH and vLLM Engine 0 log lines via docker logs - Explain side-by-side vs vertical layout behaviour - Fix grep filter from "Engine 000" to "Engine 0" in ad-hoc snippets - Update healthy baseline from A100 PCIe to H100 SXM (current VM1) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-23Add vLLM watch dashboard, side-by-side layout, and insert-mode defaultPaul Buetow
- hyperstack.rb: add VllmWatcher class and `watch` subcommand — live terminal dashboard polling all active VMs every 5 s via SSH; shows GPU util/VRAM/temp/power bars and vLLM throughput/requests/KV-cache/ cache-hit bars aligned in a shared column layout - draw(): render two or more VM panels side-by-side (horizontal) with a │ separator, padded to equal visible width; single VM falls back to vertical layout - pi/agent/extensions/modal-editor: start in INSERT mode instead of NORMAL - README: document watch command and update fish script rename Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Fix tmux diagram: two panes in one window, not two windowsPaul Buetow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Clarify SSH target in diagram: laptop SSHes into bhyve VM, not the hostPaul Buetow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Add laptop SSH entry point to architecture diagramPaul Buetow
Shows the laptop SSHing into the FreeBSD physical host, then attaching to the tmux session inside the bhyve VM to control the Pi windows. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Update architecture diagram: tmux + FreeBSD bhyve isolation layerPaul Buetow
Both Pi sessions now shown inside a tmux session, which runs inside a FreeBSD bhyve VM on a FreeBSD physical host (earth). Reflects the actual isolation setup: FreeBSD host → bhyve VM → tmux → pi windows. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Redesign logo as 3× wider banner (1536×512) with more visual elementsPaul Buetow
Left panel: A100 GPU chip with die grid and pins, connected to a three-layer neural network (AI nodes in purple/violet) bridging to center. Center: π symbol with FreeBSD daemon horns, circuit grid, glow ring. Right panel: tmux terminal window with macOS-style title bar, simulated shell session (create-both + pi sessions), and tmux status bar. README img width updated to 600px. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Fix Nemotron OOM; add VM lifecycle fish abbrs; document automated setupPaul Buetow
- hyperstack-vm1/vm2.toml: reduce nemotron-super max_model_len 262144→131072 and add --enforce-eager to disable CUDA graph capture (~3-4 GB overhead). Nemotron 120B weights (~60 GB) leave too little VRAM headroom for KV cache allocation and CUDA graph buffers at 262K context on a single A100 80GB. 131K context with eager mode is stable. README VRAM table updated to match. - hyperstack.fish: add hyperstack-create/delete/test and hyperstack-create/delete-both abbreviations for VM lifecycle management alongside the existing pi-* aliases. - README.md: add "Automated setup reference" section with single-VM and two-VM command flows before the manual vLLM Docker setup section. End-to-end tested: single VM (GPT-OSS 120B), dual VM (Nemotron + Qwen3-Coder), pi queries on all three models — all passed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Move logo below # hyperstack header, left-alignedPaul Buetow
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Add project logo (SVG) representing Hyperstack, Pi.dev, and FreeBSDPaul Buetow
- logo.svg: π symbol (Pi.dev) with BSD daemon horns (FreeBSD) over a GPU circuit-grid background (Hyperstack A100 cloud). Modern dark theme, 512×512 SVG suitable for both README header and git forge avatar. - README.md: logo image added at top, centred, width 192px. Taskwarrior task: fe78386b-6200-47b0-aeb0-10f4257e23a0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21Add web-search Pi extension (web_search + web_fetch tools)Paul Buetow
Implements two LLM-callable tools using DuckDuckGo's free HTML endpoint — no API key or account required: - web_search: searches DDG, returns up to 8 results with title/URL/snippet - web_fetch: fetches a URL, strips script/style/nav blocks, returns up to 12,000 chars of readable text Both tools are TypeScript registered via pi.registerTool() and load automatically from pi/agent/extensions/web-search/ via the ~/.pi symlink. HTTP requests use Node.js built-ins (node:https) with a 15s timeout and single-redirect follow. Also adds an Extensions section to README.md listing all extensions with a focused web-search subsection.
2026-03-21Add 'Why Pi' section to README.mdPaul Buetow
Concise bullet-point summary of Pi's key differentiators for this setup: bring-your-own-model OpenAI API, custom providers via models.json, project-local config via ~/.pi symlink, TypeScript extensions, and minimal core design. Placed after the Architecture topology notes and before Prerequisites.
2026-03-21Set single-VM default to GPT-OSS 120B; add hyperstack Pi provider and fish abbrPaul Buetow
- hyperstack-vm.toml: switch [vllm] default from Qwen3-Coder-Next to openai/gpt-oss-120b (container_name, max_model_len=131072, tool_call_parser=''); labels already reflected gpt-oss-120b - pi/agent/models.json: add 'hyperstack' provider pointing at hyperstack.wg1:11434/v1 with GPT-OSS 120B as primary model and all preset models registered (alongside hyperstack1/hyperstack2) - hyperstack.fish: add pi-hyperstack abbreviation for single-VM GPT-OSS 120B - README.md: update fish abbreviations table, provider table, VM config table, and Single-VM setup section to reflect the new defaults
2026-03-21Remove pi-vm1/pi-vm2 wrapper scripts; rely on fish abbreviationsPaul Buetow
Drop the wrapper scripts entirely per user direction. Update all references throughout README.md: - Architecture diagram: remove ./pi-vm1/./pi-vm2 labels from Pi boxes - Quickstart: replace ./pi-vm1/./pi-vm2 with fish abbreviations - Using Pi section: drop 'Wrapper scripts' subsection; fish abbreviations are the sole launch mechanism; fix symlink path to use a placeholder instead of a hardcoded absolute path
2026-03-21Improve architecture diagram, add WireGuard section, fix Docker setup docsPaul Buetow
- Rewrite architecture diagram to clearly show earth as the WireGuard hub with both VMs as peers, including IPs, port, and subnet - Add WireGuard topology notes below the diagram (IPs, port, firewall) - Add 'WireGuard setup' section: tunnel design (wg1.conf structure), manual setup commands, tunnel verification, and restart/recovery - Expand Docker flag table to cover --gpus, --ipc, --network, --restart, -v, and --host (the flags the previous table omitted) - Fix client config example: show both VM1 (.1) and VM2 (.3) IPs instead of only .1 (which doesn't match the Qwen3-Coder docker run example) - Rename 'Switching models manually' -> 'Replacing the running container' to distinguish it clearly from the 'Switching models' CLI section
2026-03-21Add missing vLLM Docker setup section to README.mdPaul Buetow
The initial consolidation dropped the manual Docker setup notes from vllm-setup.txt. Add the 'Manual vLLM Docker setup' section covering: prerequisites, storage setup, docker run command with flag explanations, startup/model verification, firewall rule, client config, and manual model-switching procedure.
2026-03-21Consolidate vllm-setup.txt into README.md and remove the filePaul Buetow
Merged all still-relevant content from vllm-setup.txt into README.md: - Why vLLM over Ollama section - Full monitoring commands with engine metrics table - Troubleshooting table - VRAM sizing guide - Performance characteristics table Dropped LiteLLM, Anthropic API, Claude Code, and OpenCode sections which are no longer applicable. Removes the vllm-setup.txt file.
2026-03-21Remove LiteLLM and Claude Code repo references (task 301)Paul Buetow
2026-03-21docs: update README for two-VM architecture and Pi coding agent setupPaul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019d0f66-43e6-77bc-944b-b623c1679f87 Co-authored-by: Amp <amp@ampcode.com>
2026-03-21initial importPaul Buetow