ProtoAgent is a local-first coding agent designed to enhance productivity with its fast Rust terminal UI and powerful Python core. It enables the orchestration of local LLMs, allowing for narrower roles for smaller models and clear context indexing. Ideal for developers seeking a streamlined coding experience with integrated tools.
ProtoAgent is an innovative local-first coding agent that combines a high-speed Rust terminal user interface (TUI) with a robust Python core, powered by ProtoLink. This project is designed to optimize the functionality of smaller language models, providing specific roles, bounded evidence, and reliable completion checks, enhancing the coding experience while maintaining safety and efficiency.
Key Features
- Small-Model Focus: The system introduces adjustable prompt profiles (
small,medium,large, andapi), which fine-tune delegation depth while adhering to safety protocols. - Visible Context Management: With the Context Loom, ProtoAgent incrementally indexes the workspace and generates a source-cited Context Pack before executing any inference, ensuring clarity and precision.
- Defined Agent Roles: The project defines clear roles within its architecture: the Architect coordinates initiatives, the Explorer navigates the repository, the Coder executes policy-controlled changes, and the optional Scout performs web research.
- ProtoLink Engine: The solution utilizes ProtoLink to manage agent discovery, delegation, tools, states, events, approvals, cancellations, transports, and run reports efficiently.
- Robust Completion Checks: ProtoAgent implements application-level
RunContract, guaranteeing that unrecognized prose does not count as a completed task. - Operator Visibility: The Rust CLI presents an array of provider, model, context, agent, readiness, timeline, trace, diff, and session state details, fostering enhanced control and oversight.
System Architecture
ProtoAgent is structured into several key components to enhance functionality:
| Surface | Status | Responsibility |
|---|---|---|
cli/ | Active, 0.2.0 | Rust CLI/TUI controlling projects and models, including approvals and diagnostics. |
core/ | Active, 0.2.0 | Python logic, managing Context Loom, agent factories, and more. |
acp/ | Planned, 0.0.0-dev.0 | Upcoming adapter for editor integration. |
Agent Role Dynamics
The operational design of ProtoAgent includes defined roles:
| Role | State | Authority |
|---|---|---|
| Architect | Persistent project communication | Plans and produces responses without workspace tools. |
| Explorer | Task-local | Reviews and queries the workspace. |
| Coder | Task-local | Executes file changes with strict approval requirements. |
| Scout | Tool-only, no memory, disabled by default | Utilizes web search tools; enabled when needed, subject to privacy considerations. |
Use the following commands to manage the Scout agent:
proto-cli agents scout on
Or within the TUI:
/agents scout on
The Scout role can access external data while preserving the confidentiality of the workspace.
Documentation and Resources
For a thorough overview of functionality, including detailed instructions and troubleshooting, refer to the documentation. For complete design insights, consult the whitepaper and the maintainer documentation.
ProtoAgent positions itself as a powerful assistant for developers seeking a secure, efficient, and robust coding environment. The focused architecture and clear roles empower users to handle projects with greater precision and confidence.
No comments yet.
Sign in to be the first to comment.