{"slug":"self-hosted-agent-infrastructure","title":"Self-Hosted Agent Infrastructure","published":true,
 "description":"Running LLM agents on hardware you control: a coding agent, the protocol that connects it to tools, frameworks for multi-step workflows, local or hosted model access through one interface, observability, and the plumbing (process supervision, reverse proxy, tunnel, secrets) that keeps it reachable and safe.",
 "items":[
  {"tool":"claude-code","blurb":"Terminal-native coding agent that reads a repository, runs commands and edits files under instruction."},
  {"tool":"model-context-protocol","blurb":"Open standard for exposing tools and data to agents; servers can run locally on the same machine."},
  {"tool":"langgraph","blurb":"Graph-based orchestration for stateful, resumable agent workflows."},
  {"tool":"pydantic-ai","blurb":"Typed, minimal agent framework for Python with structured outputs."},
  {"tool":"litellm","blurb":"One OpenAI-compatible interface in front of hosted and local models, with budgets and keys."},
  {"tool":"ollama","blurb":"Local model serving for the parts of a workflow that should not leave the machine."},
  {"tool":"vllm","blurb":"High-throughput serving when a GPU server is available."},
  {"tool":"langfuse","blurb":"Self-hostable tracing, evaluation and cost tracking for LLM applications."},
  {"tool":"promptfoo","blurb":"Test prompts and agents like code, in CI."},
  {"tool":"pm2","blurb":"Keeps long-running Node processes and workers alive."},
  {"tool":"caddy","blurb":"Reverse proxy with automatic HTTPS in front of every service."},
  {"tool":"wireguard","blurb":"The tunnel between a public gateway and private machines."},
  {"tool":"tailscale","blurb":"Zero-configuration mesh networking when WireGuard by hand is too much."},
  {"tool":"1password","blurb":"Secrets and API keys kept out of configuration files and prompts."}
 ]}
