| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
- 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
|
|
|
|
|
|
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
|
|
|
|
- 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>
|
|
- 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>
|
|
- 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>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
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>
|
|
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>
|
|
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>
|
|
- 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>
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
- 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>
|
|
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.
|
|
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.
|
|
- 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
|
|
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
|
|
- 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
|
|
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.
|
|
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.
|
|
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019d0f66-43e6-77bc-944b-b623c1679f87
Co-authored-by: Amp <amp@ampcode.com>
|
|
|