Debug your AI agents like you debug your code
Project description
🐑 Shepherd CLI
Debug your AI agents like you debug your code.
Installation
pip install shepherd-cli
For enhanced shell experience (tab completion, history):
pip install shepherd-cli[shell]
Quick Start
1. Configure your API key
shepherd config init
Or set the environment variable:
export AIOBS_API_KEY=aiobs_sk_xxxx
2. List sessions
shepherd sessions list
3. Get session details
shepherd sessions get <session-id>
4. Interactive shell
shepherd shell
Commands
Config
shepherd config init # Interactive setup
shepherd config show # Show current config
shepherd config set <key> <value>
shepherd config get <key>
Sessions
shepherd sessions list # List all sessions
shepherd sessions list -n 10 # Limit to 10 sessions
shepherd sessions list -o json # Output as JSON
shepherd sessions list --ids # List only session IDs (for scripting)
shepherd sessions get <id> # Get session details with trace tree
shepherd sessions get <id> -o json # Output as JSON
# Search and filter sessions
shepherd sessions search "query" # Search by name, ID, labels, or metadata
shepherd sessions search --label env=prod # Filter by label
shepherd sessions search --provider openai # Filter by provider
shepherd sessions search --model gpt-4 # Filter by model
shepherd sessions search --function my_func # Filter by function name
shepherd sessions search --after 2025-12-01 # Sessions after date
shepherd sessions search --before 2025-12-07 # Sessions before date
shepherd sessions search --has-errors # Only sessions with errors
shepherd sessions search --evals-failed # Only sessions with failed evaluations
# Compare two sessions
shepherd sessions diff <id1> <id2> # Compare sessions side-by-side
shepherd sessions diff <id1> <id2> -o json # Output diff as JSON
# Combine filters
shepherd sessions search --provider anthropic --label user=alice --after 2025-12-01
shepherd sessions search "agent" --model claude-3 --evals-failed -n 5
Shell
shepherd shell # Start interactive shell
Inside the shell:
shepherd > sessions list
shepherd > sessions get <id>
shepherd > sessions search --provider openai
shepherd > sessions diff <id1> <id2>
shepherd > config show
shepherd > help
shepherd > exit
Features:
- Tab completion
- Command history (persisted)
- Auto-suggestions
/commandorcommandsyntax
Configuration
Config file location: ~/.shepherd/config.toml
[default]
provider = "aiobs"
[providers.aiobs]
api_key = "aiobs_sk_xxxx"
endpoint = "https://shepherd-api-48963996968.us-central1.run.app"
[cli]
output_format = "table"
color = true
Development
Setup
git clone https://github.com/neuralis/shepherd-cli
cd shepherd-cli
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
Running Tests
pytest
Project Structure
shepherd-cli/
├── src/shepherd/
│ ├── cli/ # CLI commands (typer)
│ ├── models/ # Pydantic models
│ ├── providers/ # API clients
│ └── config.py # Configuration management
├── tests/ # Test suite
└── pyproject.toml
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file shepherd_cli-0.0.1.tar.gz.
File metadata
- Download URL: shepherd_cli-0.0.1.tar.gz
- Upload date:
- Size: 47.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff98e4d47bfb76a3d4f7d716e775885e529b9725cc116d0c1ee6d3df6c787b1f
|
|
| MD5 |
1c65328e5149569831d86bb66be8cf94
|
|
| BLAKE2b-256 |
b7d4bece0abe9c4fd30a594d0585f5904bfaada106662fec81ee4a39e74a3bc3
|
Provenance
The following attestation bundles were made for shepherd_cli-0.0.1.tar.gz:
Publisher:
release.yml on neuralis-in/shepherd-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shepherd_cli-0.0.1.tar.gz -
Subject digest:
ff98e4d47bfb76a3d4f7d716e775885e529b9725cc116d0c1ee6d3df6c787b1f - Sigstore transparency entry: 747727152
- Sigstore integration time:
-
Permalink:
neuralis-in/shepherd-cli@183a04aff37c2d45cbbc2182244e3b994e17b9d9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/neuralis-in
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@183a04aff37c2d45cbbc2182244e3b994e17b9d9 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file shepherd_cli-0.0.1-py3-none-any.whl.
File metadata
- Download URL: shepherd_cli-0.0.1-py3-none-any.whl
- Upload date:
- Size: 28.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad08c66b973ba7fbe47a34a51ba1b1b36f9645fdcf5aff048e9229b5f20266e7
|
|
| MD5 |
cf1081932e0816c3184546578853782e
|
|
| BLAKE2b-256 |
e289642c50843f61aee8c0f6e93ea214d684dd33e2aac05110664d7ab60a5afd
|
Provenance
The following attestation bundles were made for shepherd_cli-0.0.1-py3-none-any.whl:
Publisher:
release.yml on neuralis-in/shepherd-cli
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
shepherd_cli-0.0.1-py3-none-any.whl -
Subject digest:
ad08c66b973ba7fbe47a34a51ba1b1b36f9645fdcf5aff048e9229b5f20266e7 - Sigstore transparency entry: 747727157
- Sigstore integration time:
-
Permalink:
neuralis-in/shepherd-cli@183a04aff37c2d45cbbc2182244e3b994e17b9d9 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/neuralis-in
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@183a04aff37c2d45cbbc2182244e3b994e17b9d9 -
Trigger Event:
workflow_dispatch
-
Statement type: