shellai-tmux


Nameshellai-tmux JSON
Version 0.1.1 PyPI version JSON
download
home_pageNone
SummaryAI-powered shell assistant that uses tmux
upload_time2024-11-01 21:50:41
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseGPLv3
keywords ai shell tmux assistant terminal
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Shell AI Assistant

A command-line tool that integrates AI assistance directly into your terminal. It reads your tmux pane content and provides contextually aware command suggestions using various AI models through litellm.

## Features

- Reads your tmux pane content and sends it to your choice of AI model
- Automatically parses commands from AI responses and puts them into your prompt
- Optional Stack Exchange integration to provide additional context from relevant stack exchange google search.
- Terrible and poorly thought out features like auto-execution and recursive mode for automated system destruction.

## Prerequisites

- Python 3
- TMux
- litellm
- BeautifulSoup4 (for Stack Exchange integration)
- requests

## Installation

1. Install required Python packages:
   ```bash
   pip install shellai-tmux
   ```
2. Set up your API key for your chosen provider as an environment variable:
   The tool looks for API keys in environment variables based on the chosen model:
   ```bash
   # Example API key setup
   export OPENROUTER_API_KEY="your-key-here"
   export ANTHROPIC_API_KEY="your-key-here"
   export GEMINI_API_KEY="your-key-here"
   export TOGETHER_API_KEY="your-key-here"
   ```
   - And any others supported by litellm

## Usage

Basic usage:
```bash
shellai [options] [input]
```

### Options

- `-A`, `--auto`: Automatically execute the suggested command (use with caution)
- `-r`, `--recursive`: Add `;shellai` to the end of suggested commands for continuous operation
- `-m MODEL`, `--model MODEL`: Choose AI model (can use number 0-5 to select from model list)
- `-q`, `--quiet`: Only output the command without explanation
- `-v`, `--verbose`: Enable verbose mode with detailed output
- `--debug`: Run in debug mode (skips API request)
- `-t TARGET`, `--target TARGET`: Specify target TMux pane (default: current pane)
- `--log FILE`: Log all output to specified file
- `--log-commands FILE`: Log only commands to specified file
- `--file FILE`: Read additional input from specified file
- `-S LINES`, `--scrollback LINES`: Number of scrollback lines to include from tmux (default: 0)
- `--system-prompt FILE`: Use custom system prompt from file
- `--delay SECONDS`: Set delay before auto-execution (default: 2.0 seconds)
- `-c`, `--add-stackexchange`: Add relevant context from Stack Exchange
- `-M MODEL`, `--model-stackexchange MODEL`: Specify model for Stack Exchange search query generation (default: gemini/gemini-1.5-flash-latest)

### Examples

1. Basic command suggestion based on visible terminal content:
   ```bash
   shellai
   ```

2. Get a suggestion for a specific task:
   ```bash
   shellai how to find large files
   ```

3. Use a specific model by number or name:
   ```bash
   shellai -m 3 how do I automate these commands
   # or
   shellai -m anthropic/claude-3-5-sonnet-latest how do I automate these commands
   ```

4. Include Stack Exchange context with custom model:
   ```bash
   shellai -c -M gemini/gemini-1.5-pro-latest how to compress images in bulk
   ```

5. Auto-execute commands with auto and recursive mode(or don't):
   ```bash
   shellai -A -r process these files  # DO NOT DO THIS
   ```

6. Include more context from terminal history:
   ```bash
   shellai -S 100 why won't this compile
   ```

## Security Considerations

- **Review commands before execution**: Always review suggested commands before running them
- **Auto-execution risks**: The `-A` flag will execute commands without confirmation
- **Data privacy**: Be mindful that terminal content is sent to AI providers
- **API credentials**: Secure your API keys and avoid exposing them in scripts or logs
- **Recursive mode**: Use `-r` flag with extreme caution as it can create command loops

## Troubleshooting

- Enable verbose mode (-v) for detailed operation information
- Check API key environment variables if model requests fail

## Contributing

Contributions are welcome! Please feel free to submit issues and enhancement requests.

## License

GPL 3

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "shellai-tmux",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": null,
    "keywords": "ai, shell, tmux, assistant, terminal",
    "author": null,
    "author_email": "Elijah Knaperek <elijahknaperek@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/dc/36/c46ccf89f871b1b7d14d8471f6db23797cdf62a60c805d0e178b30f912fd/shellai_tmux-0.1.1.tar.gz",
    "platform": null,
    "description": "# Shell AI Assistant\n\nA command-line tool that integrates AI assistance directly into your terminal. It reads your tmux pane content and provides contextually aware command suggestions using various AI models through litellm.\n\n## Features\n\n- Reads your tmux pane content and sends it to your choice of AI model\n- Automatically parses commands from AI responses and puts them into your prompt\n- Optional Stack Exchange integration to provide additional context from relevant stack exchange google search.\n- Terrible and poorly thought out features like auto-execution and recursive mode for automated system destruction.\n\n## Prerequisites\n\n- Python 3\n- TMux\n- litellm\n- BeautifulSoup4 (for Stack Exchange integration)\n- requests\n\n## Installation\n\n1. Install required Python packages:\n   ```bash\n   pip install shellai-tmux\n   ```\n2. Set up your API key for your chosen provider as an environment variable:\n   The tool looks for API keys in environment variables based on the chosen model:\n   ```bash\n   # Example API key setup\n   export OPENROUTER_API_KEY=\"your-key-here\"\n   export ANTHROPIC_API_KEY=\"your-key-here\"\n   export GEMINI_API_KEY=\"your-key-here\"\n   export TOGETHER_API_KEY=\"your-key-here\"\n   ```\n   - And any others supported by litellm\n\n## Usage\n\nBasic usage:\n```bash\nshellai [options] [input]\n```\n\n### Options\n\n- `-A`, `--auto`: Automatically execute the suggested command (use with caution)\n- `-r`, `--recursive`: Add `;shellai` to the end of suggested commands for continuous operation\n- `-m MODEL`, `--model MODEL`: Choose AI model (can use number 0-5 to select from model list)\n- `-q`, `--quiet`: Only output the command without explanation\n- `-v`, `--verbose`: Enable verbose mode with detailed output\n- `--debug`: Run in debug mode (skips API request)\n- `-t TARGET`, `--target TARGET`: Specify target TMux pane (default: current pane)\n- `--log FILE`: Log all output to specified file\n- `--log-commands FILE`: Log only commands to specified file\n- `--file FILE`: Read additional input from specified file\n- `-S LINES`, `--scrollback LINES`: Number of scrollback lines to include from tmux (default: 0)\n- `--system-prompt FILE`: Use custom system prompt from file\n- `--delay SECONDS`: Set delay before auto-execution (default: 2.0 seconds)\n- `-c`, `--add-stackexchange`: Add relevant context from Stack Exchange\n- `-M MODEL`, `--model-stackexchange MODEL`: Specify model for Stack Exchange search query generation (default: gemini/gemini-1.5-flash-latest)\n\n### Examples\n\n1. Basic command suggestion based on visible terminal content:\n   ```bash\n   shellai\n   ```\n\n2. Get a suggestion for a specific task:\n   ```bash\n   shellai how to find large files\n   ```\n\n3. Use a specific model by number or name:\n   ```bash\n   shellai -m 3 how do I automate these commands\n   # or\n   shellai -m anthropic/claude-3-5-sonnet-latest how do I automate these commands\n   ```\n\n4. Include Stack Exchange context with custom model:\n   ```bash\n   shellai -c -M gemini/gemini-1.5-pro-latest how to compress images in bulk\n   ```\n\n5. Auto-execute commands with auto and recursive mode(or don't):\n   ```bash\n   shellai -A -r process these files  # DO NOT DO THIS\n   ```\n\n6. Include more context from terminal history:\n   ```bash\n   shellai -S 100 why won't this compile\n   ```\n\n## Security Considerations\n\n- **Review commands before execution**: Always review suggested commands before running them\n- **Auto-execution risks**: The `-A` flag will execute commands without confirmation\n- **Data privacy**: Be mindful that terminal content is sent to AI providers\n- **API credentials**: Secure your API keys and avoid exposing them in scripts or logs\n- **Recursive mode**: Use `-r` flag with extreme caution as it can create command loops\n\n## Troubleshooting\n\n- Enable verbose mode (-v) for detailed operation information\n- Check API key environment variables if model requests fail\n\n## Contributing\n\nContributions are welcome! Please feel free to submit issues and enhancement requests.\n\n## License\n\nGPL 3\n",
    "bugtrack_url": null,
    "license": "GPLv3",
    "summary": "AI-powered shell assistant that uses tmux",
    "version": "0.1.1",
    "project_urls": {
        "Homepage": "https://github.com/elijahknaperek/shellai"
    },
    "split_keywords": [
        "ai",
        " shell",
        " tmux",
        " assistant",
        " terminal"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c93bce4d77512ed7ce3c2b1328d94494eb9653f6e1d70d4610e0a96a71abfc57",
                "md5": "46f98d7653294668fdbb9ed6ef4755bb",
                "sha256": "279c260b10f3e000f11216b9041b2d8fdcce37d72ddcf8626bdae3e318587ade"
            },
            "downloads": -1,
            "filename": "shellai_tmux-0.1.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "46f98d7653294668fdbb9ed6ef4755bb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 20475,
            "upload_time": "2024-11-01T21:50:39",
            "upload_time_iso_8601": "2024-11-01T21:50:39.599311Z",
            "url": "https://files.pythonhosted.org/packages/c9/3b/ce4d77512ed7ce3c2b1328d94494eb9653f6e1d70d4610e0a96a71abfc57/shellai_tmux-0.1.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dc36c46ccf89f871b1b7d14d8471f6db23797cdf62a60c805d0e178b30f912fd",
                "md5": "49f9d7b5913a54b124c845b8fcc329a9",
                "sha256": "be6369f5684b17bea2748ee673a54e3ef65920b505bcdec6adb48cdfc22f4a35"
            },
            "downloads": -1,
            "filename": "shellai_tmux-0.1.1.tar.gz",
            "has_sig": false,
            "md5_digest": "49f9d7b5913a54b124c845b8fcc329a9",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 20105,
            "upload_time": "2024-11-01T21:50:41",
            "upload_time_iso_8601": "2024-11-01T21:50:41.288383Z",
            "url": "https://files.pythonhosted.org/packages/dc/36/c46ccf89f871b1b7d14d8471f6db23797cdf62a60c805d0e178b30f912fd/shellai_tmux-0.1.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-01 21:50:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "elijahknaperek",
    "github_project": "shellai",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "shellai-tmux"
}
        
Elapsed time: 0.40356s