🛠️

AI PC Build Configurator

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

Want the agent playbook for your business?

Tell us what you're building and we'll send a one-page guide with the exact hardware, models, and skills that fit your budget.

🤖 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