🛠️

AI PC Build Configurator

Pick a budget and use case. Get the CPU, GPU, RAM, PSU, case, OS, and software stack preconfigured.

Get a quote

Need help with your AI PC build? Send a request and a partner will reply within 24 hours.

🤖 Use this tool in your agent

✓ Agent-ready code

Copy the snippet below into your agent, newsletter, or script. The tool page at hermesdispatch.dev/tools/ai-pc-build-configurator/ is the canonical contract: inputs, outputs, and formulas.

python
# Hermes Dispatch Tool — AI PC Build Configurator
# Source: https://hermesdispatch.dev/tools/ai-pc-build-configurator/
# Description: Return a recommended AI PC build for a given budget tier.
# License: MIT (generated by hermesdispatch.dev)
#
# INSTALL:
#   1. Save this file as ~/.hermes/hermes-agent/tools/ai_pc_build_configurator.py
#   2. Restart Hermes or run /reset in a session
#   3. The tool auto-registers if Hermes uses auto-discovery of tools/*.py
#
# MANUAL REGISTRY (if auto-discovery is off):
#   from tools.ai_pc_build_configurator import register
#   register()

import json

DATA = {"budget-ai-pc": {"name": "Budget AI PC", "budget": "$800-1,200", "use_case": "Run 7B-8B models locally, experiment with agents, light coding assistant.", "cpu": "AMD Ryzen 5 7600X", "motherboard": "B650 mATX with PCIe 4.0", "ram": "64GB DDR5-5600", "gpu": "NVIDIA RTX 3060 12GB or used RTX 3090", "storage": "1TB NVMe Gen4 SSD", "psu": "650W 80+ Gold", "case": "Compact mid-tower with airflow", "os": "Ubuntu 22.04 or Windows 11 WSL2", "software": "Ollama, LM Studio, Python, Docker", "expected_8b_tok_s": "25-40", "expected_70b": "Not recommended", "notes": "Best entry point. Buy a used 3090 for 24GB VRAM if you can power and cool it."}, "enthusiast-ai-pc": {"name": "Enthusiast AI PC", "budget": "$2,500-3,500", "use_case": "Run 70B quantized models, multi-agent workflows, fine-tuning small models.", "cpu": "AMD Ryzen 9 7900X or Intel i7-14700K", "motherboard": "X670 / Z790 with PCIe 5.0, 4x DIMM slots", "ram": "128GB DDR5-6000", "gpu": "NVIDIA RTX 4090 24GB", "storage": "2TB NVMe Gen4 SSD + 4TB HDD", "psu": "1000W 80+ Gold", "case": "Full tower with high airflow", "os": "Ubuntu 22.04", "software": "Ollama, vLLM, Unsloth, ComfyUI", "expected_8b_tok_s": "60-90", "expected_70b": "8-12 tok/s (Q4)", "notes": "The standard local LLM workstation. 4090 is the best price/performance for 70B models."}, "pro-ai-workstation": {"name": "Pro AI Workstation", "budget": "$6,000-10,000", "use_case": "Run 70B+ models, fine-tune 13B-30B models, multi-GPU inference.", "cpu": "AMD Threadripper 7960X or Intel Xeon W5", "motherboard": "TRX50 / W790 workstation board", "ram": "256GB DDR5 ECC", "gpu": "2x NVIDIA RTX 4090 24GB or 1x RTX 6000 Ada 48GB", "storage": "4TB NVMe Gen4 SSD + 8TB RAID", "psu": "1600W Titanium", "case": "Full-tower workstation case", "os": "Ubuntu 22.04 Server", "software": "vLLM, TensorRT-LLM, Axolotl, Docker Swarm", "expected_8b_tok_s": "120-180", "expected_70b": "20-35 tok/s", "notes": "For serious inference hosting or research. Dual 4090s need blower-style cards for thermals."}, "silent-home-ai": {"name": "Silent Home AI Box", "budget": "$1,500-2,500", "use_case": "Quiet 24/7 inference server in a living room or office.", "cpu": "AMD Ryzen 7 7700", "motherboard": "B650 ITX", "ram": "64GB DDR5-5600", "gpu": "NVIDIA RTX 4070 Ti Super 16GB", "storage": "2TB NVMe Gen4 SSD", "psu": "750W 80+ Platinum fanless", "case": "Small form-factor with large fans", "os": "Ubuntu Server", "software": "Ollama, OpenWebUI, text-generation-webui", "expected_8b_tok_s": "40-60", "expected_70b": "Not recommended", "notes": "Prioritize quiet cooling. Use undervolted GPU settings and run large models via API fallback."}, "mac-studio-route": {"name": "Mac Studio M4 Max Route", "budget": "$3,500-5,500", "use_case": "Silent, power-efficient local inference for content, coding, and research agents.", "cpu": "Apple M4 Max 14-core CPU", "motherboard": "Integrated", "ram": "64-128GB unified memory", "gpu": "M4 Max 32-core GPU", "storage": "1TB SSD", "psu": "Built-in", "case": "Mac Studio", "os": "macOS 15", "software": "Ollama, MLX, LM Studio, Xcode", "expected_8b_tok_s": "50-80", "expected_70b": "5-10 tok/s", "notes": "Best for developers who want zero noise and great single-core performance. Higher cost per TFLOP than NVIDIA."}}

def _ok(result):
    return json.dumps({"success": True, "data": result}, indent=2)

def _err(message):
    return json.dumps({"success": False, "error": message}, indent=2)


TOOL_NAME = "ai_pc_build_configurator"
TOOLSET = "hardware"

SCHEMA = {
  "type": "function",
  "function": {
    "name": "ai_pc_build_configurator",
    "description": "Return a recommended AI PC build for a given budget tier.",
    "parameters": {
      "type": "object",
      "properties": {
        "budget": {
          "type": "string",
          "description": "Build slug: budget-ai-pc, enthusiast-ai-pc, pro-ai-workstation, silent-home-ai, mac-studio-route"
        }
      },
      "required": []
    }
  }
}

def _run(args):
    budget = args.get("budget", "budget-ai-pc")
    build = DATA.get(budget)
    if not build:
        return _err(f"Unknown build. Choose from: {', '.join(DATA.keys())}")
    return _ok({
        "build_name": build.get("name", budget),
        "total_cost_usd": build.get("total_cost_usd"),
        "cpu": build.get("cpu"),
        "gpu": build.get("gpu"),
        "ram": build.get("ram"),
        "storage": build.get("storage"),
        "use_case": build.get("use_case", ""),
        "notes": build.get("notes", "")
    })

def HANDLER(args):
    try:
        return _run(args)
    except Exception as e:
        return _err(str(e))


def register():
    """Manual registry hook. Import and call this to register with Hermes."""
    try:
        from tools.registry import registry
        registry.register(
            name=TOOL_NAME,
            toolset=TOOLSET,
            schema=SCHEMA,
            handler=HANDLER,
        )
    except ImportError:
        print("Hermes registry not found; skipping manual registration.")

if __name__ == "__main__":
    # CLI smoke test
    print(HANDLER({}))

Want early access to the next locked tool? Subscribe to The Hermes Dispatch.

🚀 Get AI automation insights daily

15:00 MST. One-click unsubscribe.

Subscribe