Skip to content

vipol0/Repos-Coder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Repos Coder

A local autonomous AI agent for working with files and code on your machine. Runs through Ollama — no cloud API keys and no internet requests required, the model runs locally on your hardware.

Python License

Features

  • Autonomous "think → act → observe" loop — the agent plans its own steps, calls tools, and checks the results.
  • File operations — reading, writing, and targeted editing (block text replacement).
  • Git support — check repository status.
  • Project search — grep-like text search across all workspace files.
  • Terminal command execution directly from the agent's conversation.
  • Local LLM — uses Ollama by default (e.g. llama3), so no code is sent anywhere.
  • Graphical interface — dark, terminal-style UI built with PyQt6.

Project structure

Repos-Coder/
├── agent/          # agent core: planner, memory, executor, system prompt
├── llm/            # abstraction over LLM providers (currently Ollama)
├── tools/          # agent tools: files, git, search, terminal
├── cli/            # entry point — GUI application
├── config.py       # agent configuration (model, workspace, limits)
└── requirements.txt

Installation

  1. Install and run Ollama, then pull a model:
    ollama run llama3
  2. Clone the repository and install dependencies:
    git clone https://github.com/vipol0/Repos-Coder.git
    cd Repos-Coder
    pip install -r requirements.txt
    pip install PyQt6

Usage

python cli/main.py

This opens the agent window. Type a task in the input field — for example fix typecheck errors — and the agent will start working in the current working directory.

Configuration

Agent settings are defined in config.py (AgentConfig):

Parameter Default Description
workspace_dir current directory agent's working folder
llm_provider ollama LLM provider
llm_model llama3 model name
api_base http://localhost:11434 Ollama endpoint
temperature 0.0 generation temperature
max_iterations 30 step limit per task

How it works

The agent communicates with the model using a strict protocol: every action the model wants to take must be returned as a JSON block, e.g.:

{"action": "write_file", "path": "example.py", "content": "print('hi')"}

ToolExecutor parses this block, calls the corresponding tool, and feeds the result back into the model's context as an Observation. This loop repeats until the model returns a final_response block or the iteration limit is reached.

Project status

Early development stage (v0.0.1). Known limitations:

  • Only Ollama is supported as an LLM provider.
  • PyQt6 is not yet listed in requirements.txt — install it separately.
  • No support for multi-file operations or undoing actions.

License

Apache-2.0

About

Your personal assistant who can work with files on your computer

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages