Agentic tool to control a Linux machine via LLM
Top 51.4% on sourcepulse
This project provides an AI agent capable of controlling a Linux environment, automating tasks by translating natural language goals into executable shell commands. It's designed for users who want to leverage LLMs for system administration, development workflows, or complex command-line operations without manual intervention. The primary benefit is enabling autonomous execution of multi-step processes on a Linux machine.
How It Works
The system operates in a loop: it sends the LLM a history of executed commands and their outputs, prompting it to suggest the next command. This command is then executed within a Docker container, and its output is fed back to the LLM, either partially or fully depending on the context-mode
setting. This iterative process allows the AI to learn from command outcomes, adapt to errors (like missing dependencies), and progressively work towards the defined goal.
Quick Start & Requirements
docker build -t aquarium .
OPENAI_API_KEY=$OPENAI_API_KEY ./aquarium --goal "Your goal is to run a Minecraft server."
--url
).--url "http://localhost:8000"
for models like llama-cpp-python
.Highlighted Details
partial
or full
) for managing LLM input.--limit
flag to cap the number of executed commands.Maintenance & Community
No specific contributors, sponsorships, or community links (Discord/Slack) are mentioned in the README.
Licensing & Compatibility
The project does not explicitly state a license in the provided README.
Limitations & Caveats
The AI cannot provide input to interactive programs (e.g., password prompts). Workarounds like -y
for apt-get
are implemented, but terminal output handling for progress bars and colors is imperfect. A significant limitation is the lack of a defined success criterion; the agent relies on a command limit to stop execution.
2 years ago
1 day