A lightweight terminal agent framework for long-running modular agents
Project description
Pegasus
Pegasus is a terminal-first agent runtime for long-running tasks. It combines a streaming CLI, tool calling, browser control, camera capture, MCP execution, subagents, and automatic context compression in one package.
It is designed for workflows that need more than simple code generation. Pegasus can keep working across multiple turns, use tools to interact with the local machine and external systems, and continue operating even as context grows.
Features
- terminal agent workflow with streaming responses and tool execution
- built-in file, shell, edit, web search, memory, and todo tools
- browser automation with annotated screenshots for grounded actions
- camera capture with image handoff into the next model turn
- MCP executor for listing and composing MCP tools as Python-style functions
- subagents for delegated task execution
- automatic context compression when conversation history approaches the model limit
Installation
Install from PyPI:
pip install pegasus-ai
Install from source:
git clone https://github.com/asuzukosi/pegasus.git
cd pegasus
pip install -e .
Requirements
- python 3.9 or newer
- an API key exposed as
API_KEY - optional local dependencies for advanced tools, such as a working browser environment for Playwright-based automation and a camera device for vision capture
Get an API key from OpenRouter.
Set your API key:
export API_KEY="sk-xxx"
Quick Start
Run the CLI:
pegasus-cli
Run a single prompt:
pegasus-cli --message "summarize the repository structure"
Run Pegasus from source without installing the console script:
python main.py
Basic Usage
Interactive session:
$ pegasus-cli
[user]> inspect this project and explain the main runtime flow
Single-shot invocation:
pegasus-cli --message "list the builtin tools and explain what each one is for"
Switch models from inside the CLI:
/model gpt-5.4
Useful built-in commands:
/help/config/model <name>/clear/exit
Configuration
Pegasus loads project configuration from .pegasus/config.toml in the current working directory.
Example MCP configuration:
[mcp_servers.hackathon_manager]
enabled = true
startup_timeout_sec = 10.0
command = "node"
args = [".pegasus/mcp_servers/hackathon_manager_server.js"]
cwd = "."
[mcp_servers.event_booking]
enabled = true
startup_timeout_sec = 10.0
command = "node"
args = [".pegasus/mcp_servers/event_booking_server.js"]
cwd = "."
Examples
Ask Pegasus to inspect a codebase:
pegasus-cli --message "inspect the current project and explain how session startup works"
Use browser-based task execution:
[user]> open a browser, go to the target site, and tell me which clickable options are visible
Use camera capture in a multimodal workflow:
[user]> capture the camera feed for 10 seconds and describe what changed across the frames
Use MCP composition:
[user]> list the available mcp functions, then fetch details for the sf hackathons
Packaging
The published distribution name is pegasus-ai.
Install command:
pip install pegasus-ai
Python import package:
import pegasus
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
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 pegasus_ai-0.1.1.tar.gz.
File metadata
- Download URL: pegasus_ai-0.1.1.tar.gz
- Upload date:
- Size: 53.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
714632f5664c856f504c4a071a088610da51ae144bccf7d9d81bc1ba98d39bf1
|
|
| MD5 |
d133f2c49d100332887685bbed939e22
|
|
| BLAKE2b-256 |
64a7a40c8aade99987d72af718c3544fe22dadee3d55111ff1d5384e25526a3c
|
File details
Details for the file pegasus_ai-0.1.1-py3-none-any.whl.
File metadata
- Download URL: pegasus_ai-0.1.1-py3-none-any.whl
- Upload date:
- Size: 67.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8884f114d8c22deaf65717bd65ac2e859257a93cacd7f11faec4689430248712
|
|
| MD5 |
5bc7dbcad9bd128907806f4c6ec46919
|
|
| BLAKE2b-256 |
be1c195ce85590a33fab694d36d99324076ff27a1f65d930b2ffee4f4d578f13
|