A modular AI agent framework that can also be your local CLI agent!
Project description
Proto-Agent
An educational AI agent framework demonstrating capability-based security and modular toolkit architecture. Built for learning secure AI agent patterns with human oversight and permission controls.
Features
- Capability-based security with granular permission controls
- CLI tool with human-in-the-loop approval for dangerous operations
- Python framework for building custom agents with programmatic control
- Modular toolkits for file operations, system monitoring, and version control
- Educational focus - clear, readable code demonstrating AI agent security patterns
Quick Start
Installation
pip install proto-agent # or if you prefer the cli to be used from anywhere: pip install --user proto-agent
Configuration
proto-agent --help # View CLI options, which include your config path for your OS
# Example config path for Linux: ~/.config/proto-agent/ will have .env file and config.toml
For Model configuration, please refer to the Litellm documentation for your exact name of the model you want to use.
CLI Usage
# Safe read-only analysis
proto-agent "Analyze this codebase structure" ./my_project --read-only
# Interactive execution with approval prompts
proto-agent "Run the test suite" ./my_project
# Prompts: "Allow execution of function 'run_python_file'? (y/N):"
Framework Usage
from proto_agent import Agent, AgentConfig
from proto_agent.tool_kits import FileOperationToolkit
# Autonomous mode - no human approval needed
agent = Agent(AgentConfig(
api_key="your_api_key",
working_directory="./my_project",
tools=[FileOperationToolkit(
enable_read=True,
enable_write=False, # Disable risky operations
enable_execute=False
).tool]
))
response = agent.generate_content("Analyze this project's structure")
print(response.text)
Key Concepts
- CLI Mode: Interactive approval prompts for dangerous operations
- Framework Mode: Full programmatic control over permissions
- Capability Flags: Enable/disable specific operations per toolkit
- Human Oversight: Configurable approval gates for security
Available Toolkits
- 📁 FileOperationToolkit: File reading, writing, and execution
- 💻 SystemInfoToolkit: System monitoring and resource information
- 🔧 GitToolkit: Version control operations with safety controls
Documentation
- Complete Documentation - Full guide with examples and architecture
- Repository - Source code and issues
- Inspiration - Boot.dev AI Agent Course
Educational Goals
Proto-Agent prioritizes learning and security over performance:
- Demonstrates secure AI agent design patterns
- Shows human-in-the-loop safety controls
- Provides clear, modular architecture examples
- Emphasizes permission-based security models
Perfect for developers learning about AI agents, security patterns, or needing a foundation for experimentation.
License
MIT License - see LICENSE file for details.
⭐ Star the repo to support educational AI agent development!
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 proto_agent-0.6.0.tar.gz.
File metadata
- Download URL: proto_agent-0.6.0.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2990a6704316664f77e49019691c8ce484cce15729b33be7bc6ba877afec176
|
|
| MD5 |
01afba3ab32cbce5c1c42a07c668321a
|
|
| BLAKE2b-256 |
cd2faed86bb5ca4d2361083f803ef9247f3882cdde994878273f5264ae5eda4c
|
File details
Details for the file proto_agent-0.6.0-py3-none-any.whl.
File metadata
- Download URL: proto_agent-0.6.0-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.8.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f96b99d9c73b5e67ccf14e1067abcbd287590b72a9cf766dc4fab53f91788f86
|
|
| MD5 |
48bd83dfae1f10723924ec40d160347f
|
|
| BLAKE2b-256 |
f873bf2660ece52b2b5bef8dfc6e3d34e495a6f39c0e672ea227614072ec96ef
|