Metadata-Version: 2.4
Name: easylocai
Version: 0.2.0
Summary: Local AI CLI using local llm gpt-oss:20b
Project-URL: Homepage, https://github.com/fidemin/easylocai
Project-URL: Repository, https://github.com/fidemin/easylocai
Project-URL: Issues, https://github.com/fidemin/easylocai/issues
Author-email: Yunhong Min <yunhongmin00@gmail.com>
License: MIT License
        
        Copyright (c) 2026 Yunhong Min
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
License-File: LICENSE
Keywords: ai,cli,llm,local,mcp,ollama
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.12
Requires-Dist: accelerate>=1.10.1
Requires-Dist: chromadb>=1.0.15
Requires-Dist: jinja2>=3.1.6
Requires-Dist: mcp[cli]>=1.12.0
Requires-Dist: ollama>=0.5.1
Requires-Dist: prompt-toolkit>=3.0.52
Requires-Dist: pydantic<3,>=2
Requires-Dist: rank-bm25>=0.2.2
Requires-Dist: rich>=14.0.0
Requires-Dist: torch>=2.8.0
Requires-Dist: transformers>=4.56.2
Description-Content-Type: text/markdown

# easylocai

Fully autonomous agentic workflows running locally—no APIs, no data leaks

![run_sample.gif](./docs/assets/images/run_sample.gif)

## Overview

Easylocai is an On-Device Autonomous Agent designed for secure, offline task execution. Unlike cloud-dependent assistants, it leverages the gpt-oss:20b model to perform complex reasoning and actions entirely on your local machine.

By implementing a sophisticated Plan-Execute-Replan orchestration, Easylocai can decompose ambiguous goals into actionable steps, execute them using Model Context Protocol (MCP) tools, and autonomously refine its strategy based on real-time feedback.


## Features
- **Privacy-First Autonomy**: 100% local execution using gpt-oss:20b via Ollama. Your code and data never leave your machine.

- **Agentic Orchestration**: A robust multi-agent loop (Plan → Execute → Replan) that ensures high success rates for long-horizon tasks.

- **MCP Tool Integration**: Seamlessly connects with Model Context Protocol (MCP) servers to interact with your local file system, terminal, and APIs.


## Requirements
To ensure stable performance of the autonomous agent, your system must meet the following criteria:

### System Requirements
- Minimum 16GB RAM (32GB or more recommended for optimal performance)
- Sufficient disk space for model storage and operation

### OS
- **OS:** macOS (Strictly supported)

### Software Requirements
- **Runtime:** Python 3.12. It is recommended to use [pyenv](https://github.com/pyenv/pyenv).
- **LLM Engine:** [Ollama](https://ollama.com/) must be installed and running.
  - **Model:** `gpt-oss:20b` (Make sure to run `ollama pull gpt-oss:20b` before starting).

# Install & Execution

## (1) Installation

### First-time install

```bash
pipx install easylocai
```

### Reinstall or upgrade

```bash
pipx upgrade easylocai
```


## (2) Initialization
configuration file is generated at `~/.easylocai/config.json` after initialization.
```bash
easylocai init
```

If you want to force re-initialization, use `--force` flag:
**WARNING**: config file will be reset to default and all existing MCP server configurations.

```bash
easylocai init --force
```

## (3) Configuration

### MCP server configuration
- file_name: `~/.config/easylocai/config.json`
- example
    ```json
    {
      "mcpServers": {
        "filesystem": {
          "command": "npx",
          "args": [
            "-y",
            "@modelcontextprotocol/server-filesystem",
            "."
          ]
        },
        "notion_api": {
          "command": "docker",
          "args": [
            "run",
            "--rm",
            "-i",
            "-e", "NOTION_TOKEN",
            "mcp/notion"
          ],
          "env": {
            "NOTION_TOKEN": "<token>"
          }
        }
      }
    }
    ```

## (4) Execution
### Run default workflow
```bash
easylocai
```

### Run flag workflow variant
```bash
easylocai --flag={flag}
```

# References
- Development: [docs/DEVELOPMENT.md](docs/DEVELOPMENT.md) for development setup, testing, and key code patterns.
- Architecture: [docs/ARCHITECTURE.md](docs/ARCHITECTURE.md) for agentic workflow architecture, component responsibilities, and data flow diagrams.
