llmdo


Namellmdo JSON
Version 0.2.1 PyPI version JSON
download
home_pageNone
SummaryAsk GPT to run a command
upload_time2024-06-02 05:32:53
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseGPL-3.0
keywords llm gpt cli
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # llmdo

`llmdo` is a Python application that leverages Large Language Models (LLMs) to translate English requests into shell commands. It provides a convenient way to interact with your system using natural language.

## Features

- Translates English requests into corresponding shell commands
- Supports multiple LLMs for command generation
- Customizable configuration file
- Verbose mode for debugging
- YOLO mode for running commands without confirmation

## Installation

```bash
pip install llmdo
```

## Usage

`llmdo` uses OpenAI, Claude, and local LLM APIs to generate shell commands based on the user's requests.
For OpenAI and Claude, you will need to have an API key to use this tool.

- OpenAI: You can sign up for an API key on the [OpenAI website](https://platform.openai.com/).
- Claude: You can sign up for an API key on the [Claude website](https://claude.ai/).

To use `llmdo`, run the following command followed by your request:

```bash
llmdo [options] <request>
```

### Options

- `-h`, `--help`: Show the help message and exit.
- `-c CONFIG`, `--config CONFIG`: Specify the path to the configuration file. Default is `~/.config/llmdo/llmdo.json`.
- `-l`, `--list-models`: List the available LLMs.
- `-m MODEL`, `--model MODEL`: Specify which LLM to use for command generation.
- `-v`, `--verbose`: Print verbose debug information.
- `-y`, `--yolo`: Run the generated command without confirmation.

### Examples

1. Translate a request to a shell command:

```bash
llmdo "list all files in the current directory"
```

2. Use a specific LLM for command generation:

```bash
llmdo -m gpt-3.5-turbo "find all Python files in the project"
```

3. Run the generated command without confirmation:

```bash
llmdo -y "delete all temporary files"
```

## Configuration

The configuration file for `llmdo` is located at `~/.config/llmdo/llmdo.json` by default. You can specify a different path using the `-c` or `--config` option.

The configuration file allows you to customize the behavior of `llmdo`, such as specifying the default LLM, setting API keys, and defining custom aliases.

## Contributing

Contributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the [GitHub repository](https://github.com/randombk/llmdo).

## License

This project is licensed under the [GPLv3](LICENSE).

## Disclaimer

`llmdo` is an experimental tool that relies on LLMs for generating shell commands. While it can be helpful, it's important to review and understand the generated commands before executing them, especially when using the YOLO mode. The developers are not responsible for any damages or unintended consequences resulting from the use of this tool.

This project is not affiliated with OpenAI, Claude, or my employer in any way. It is an independent project created for educational and research purposes.

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "llmdo",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "llm, gpt, cli",
    "author": null,
    "author_email": "David Li <david@david-li.com>",
    "download_url": "https://files.pythonhosted.org/packages/98/2c/4022be64e60e746775a5d89eb6f77f1e46b44b89ebed586b6734ee1092d4/llmdo-0.2.1.tar.gz",
    "platform": null,
    "description": "# llmdo\n\n`llmdo` is a Python application that leverages Large Language Models (LLMs) to translate English requests into shell commands. It provides a convenient way to interact with your system using natural language.\n\n## Features\n\n- Translates English requests into corresponding shell commands\n- Supports multiple LLMs for command generation\n- Customizable configuration file\n- Verbose mode for debugging\n- YOLO mode for running commands without confirmation\n\n## Installation\n\n```bash\npip install llmdo\n```\n\n## Usage\n\n`llmdo` uses OpenAI, Claude, and local LLM APIs to generate shell commands based on the user's requests.\nFor OpenAI and Claude, you will need to have an API key to use this tool.\n\n- OpenAI: You can sign up for an API key on the [OpenAI website](https://platform.openai.com/).\n- Claude: You can sign up for an API key on the [Claude website](https://claude.ai/).\n\nTo use `llmdo`, run the following command followed by your request:\n\n```bash\nllmdo [options] <request>\n```\n\n### Options\n\n- `-h`, `--help`: Show the help message and exit.\n- `-c CONFIG`, `--config CONFIG`: Specify the path to the configuration file. Default is `~/.config/llmdo/llmdo.json`.\n- `-l`, `--list-models`: List the available LLMs.\n- `-m MODEL`, `--model MODEL`: Specify which LLM to use for command generation.\n- `-v`, `--verbose`: Print verbose debug information.\n- `-y`, `--yolo`: Run the generated command without confirmation.\n\n### Examples\n\n1. Translate a request to a shell command:\n\n```bash\nllmdo \"list all files in the current directory\"\n```\n\n2. Use a specific LLM for command generation:\n\n```bash\nllmdo -m gpt-3.5-turbo \"find all Python files in the project\"\n```\n\n3. Run the generated command without confirmation:\n\n```bash\nllmdo -y \"delete all temporary files\"\n```\n\n## Configuration\n\nThe configuration file for `llmdo` is located at `~/.config/llmdo/llmdo.json` by default. You can specify a different path using the `-c` or `--config` option.\n\nThe configuration file allows you to customize the behavior of `llmdo`, such as specifying the default LLM, setting API keys, and defining custom aliases.\n\n## Contributing\n\nContributions are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the [GitHub repository](https://github.com/randombk/llmdo).\n\n## License\n\nThis project is licensed under the [GPLv3](LICENSE).\n\n## Disclaimer\n\n`llmdo` is an experimental tool that relies on LLMs for generating shell commands. While it can be helpful, it's important to review and understand the generated commands before executing them, especially when using the YOLO mode. The developers are not responsible for any damages or unintended consequences resulting from the use of this tool.\n\nThis project is not affiliated with OpenAI, Claude, or my employer in any way. It is an independent project created for educational and research purposes.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0",
    "summary": "Ask GPT to run a command",
    "version": "0.2.1",
    "project_urls": null,
    "split_keywords": [
        "llm",
        " gpt",
        " cli"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "982c4022be64e60e746775a5d89eb6f77f1e46b44b89ebed586b6734ee1092d4",
                "md5": "afc8694361560d3f9184cfa33c26d02c",
                "sha256": "6614b9690e3e3b66c513e4e914cb14916f545f9ec9a11ea113ebcacb0048a7ea"
            },
            "downloads": -1,
            "filename": "llmdo-0.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "afc8694361560d3f9184cfa33c26d02c",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 22738,
            "upload_time": "2024-06-02T05:32:53",
            "upload_time_iso_8601": "2024-06-02T05:32:53.798612Z",
            "url": "https://files.pythonhosted.org/packages/98/2c/4022be64e60e746775a5d89eb6f77f1e46b44b89ebed586b6734ee1092d4/llmdo-0.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-02 05:32:53",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "llmdo"
}
        
Elapsed time: 0.37624s