Skip to main content

An AI agent that diagnoses network connectivity issues using OpenAI's Responses API

Project description

Connectivity Agent

A demonstration project showing how to build a multi-tool AI Agent using OpenAI’s Responses API. Although intended as an example, it also works amazingly well for network connectivity checking.

Overview

The agent runs in a terminal. It chooses which tools to run for your query, interprets their output, and explains results in plain language.

The included tools are:

  • ping
  • curl
  • netstat
  • tracert
  • nslookup
  • ipconfig

Why This Example Might Be Useful

If you're learning the Responses API or experimenting with AI agents that use multiple tools, this example shows a simple pattern without extra framework code. The source is in a single file.

It is also a pwerful diagnostic tool in its own right.

Example Queries

Basic Connectivity >> How is the connection to google?

Comprehensive Analysis >> Describe the connectivity to www.amazon.com. Be exhaustive.

Performance Comparison >> Compare response times between AWS on the East and West coast.

DNS Troubleshooting >> I can't reach example.com. Is it a DNS problem?

Local Network Diagnostics >> Show me my current network configuration and default gateway.

Port Analysis >> What services are currently listening on my machine?

Route Investigation >> Why might packets to cloudflare.com be taking an unusual path?

Multi-Protocol Testing >> Can I reach github.com? Check both ping and HTTP connectivity.

Security Assessment >> Are there any unexpected connections to external IP addresses?

Network Path Optimization >> Which endpoint has better routing from my location: https://www.nasa.gov or https://www.esa.int ?

Self Check >> Run a self-diagnostic.

Requirements

  • Python 3.10 or higher
  • OpenAI API Key

Installation

Installing from PyPI

Once published, you can install the package directly:

pip install connectivity-agent

Installing from Source

  1. Clone the repository:
git clone https://github.com/brocla/connectivity_agent.git
cd connectivity_agent
  1. Install the package:
pip install -e .

Or install the required dependencies manually:

pip install openai>=2.8.0

API Key Setup

The Connectivity Agent requires an OpenAI API key to function. You can obtain an API key from OpenAI's platform.

Setting Up Your API Key

You have two options for providing your API key:

Option 1: Environment Variable (Recommended)

Set the OPENAI_API_KEY environment variable:

On Windows:

setx OPENAI_API_KEY "your-api-key-here"

On Linux/Mac:

export OPENAI_API_KEY="your-api-key-here"

To make it permanent on Linux/Mac, add the export command to your ~/.bashrc or ~/.zshrc file.

Option 2: Direct Configuration

The OpenAI Python client will automatically look for the API key in the environment variable. Alternatively, you can modify the code to pass the key directly (not recommended for security reasons).

Usage

After installation and API key setup, run the agent:

If installed via pip:

connectivity-agent

If running from source:

python connectivity_agent.py

The agent will start an interactive REPL where you can ask connectivity-related questions.

Kudos

Thanks to Thomas Ptacek for his article You Should Write an Agent

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

connectivity_agent-0.1.6.tar.gz (7.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

connectivity_agent-0.1.6-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file connectivity_agent-0.1.6.tar.gz.

File metadata

  • Download URL: connectivity_agent-0.1.6.tar.gz
  • Upload date:
  • Size: 7.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.0

File hashes

Hashes for connectivity_agent-0.1.6.tar.gz
Algorithm Hash digest
SHA256 fe2b7e1a3ac1e62311e17aeca0c19fcfece4660f554a9bcb1a7396a688d352ac
MD5 3e5968a594d6391694d518c4cf6ff159
BLAKE2b-256 c67e23e816255c855b7b57f97dea90c24abff371a15c1f5c92ce9466b74eb8b2

See more details on using hashes here.

File details

Details for the file connectivity_agent-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for connectivity_agent-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 dae2a9d1e4745f944ce10d8a1fca8d336e6660933ead8b8fbc75ba2ffbd03d0d
MD5 e2629b8c3f8bd858a95557c0ef24c2e5
BLAKE2b-256 633954211f68988b623861d2ae4ac0ef6a8e9334a371a7b8aa91d1630e6f13a6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page