Skip to main content

cli-bob uses AI to generate command line code in case you cannot remember the exact syntax.

Project description

cli-bob

cli-bob uses AI to generate command line code in case you can't remember the exact syntax.

Under the hood, it uses the Large Language Models (LLMs) to generate commands.

Disclaimer

cli-bob is a research project aiming at streamlining command line interaction. Under the hood it uses artificial intelligence / large language models to generate terminal commands fulfilling the user's requests. Users are responsible to verify the generated commands before executing them.

When using cli-bob you configure it to use an API key to access the AI models. You have to pay for the usage and must be careful in using the generated commands. Do not use this technology if you are not aware of the costs and consequences.

[!CAUTION] When using the Anthropic, OpenAI, DeepSeek or any other endpoint via cli-bob, you are bound to the terms of service of the respective companies or organizations. The text you enter is transferred to their servers and may be processed and stored there. Make sure to not submit any sensitive, confidential or personal data. Also using these services may cost money.

Installation

pip install cli-bob

Configuring which LLM to use

cli-bob uses the claude LLM for generating commands per default. You can configure other LLM-service providers by setting the environment variable CLI_BOB_LLM_NAME. Additionally, you need to set the respective API key for the LLM-service provider.

Table of models and their respective API keys

Model name API key
anthropic:claude-3-5-sonnet-20241022 ANTHROPIC_API_KEY (get here)
openai:gpt-4o-2024-08-06 OPENAI_API_KEY (get here)
github_models:gpt-4o (openai-compatible models only) GH_MODELS_API_KEY (get here)
deepseek:deepseek-chat DEEPSEEK_API_KEY (get here)
kisski:codestral-22b KISSKI_API_KEY (get here)
blablador:alias-code BLABLADOR_API_KEY (get here)
ollama:deepseek-coder-v2 no API key required, but model downloaded )
-- --

For quickly testing the models, you can set an environment variable in your terminal on Windows like this:

Usage

On the terminal start typing bob and afterwards specify what you want to do. cli-bob will then generate a command proposal for you and you can hit ENTER to run it. You can also modify the command before running it. Hit ESC to cancel execution.

Debugging

To make sure cli-bob uses the right LLM, you can activate the verbose mode by calling bob -v <your prompt>. It will then print its version, available prompt-handlers and the chosen prompt handler.

Acknowledgements

We acknowledge the financial support by the Federal Ministry of Education and Research of Germany and by Sächsische Staatsministerium für Wissenschaft, Kultur und Tourismus in the programme Center of Excellence for AI-research „Center for Scalable Data Analytics and Artificial Intelligence Dresden/Leipzig", project identification number: ScaDS.AI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cli_bob-0.2.0.tar.gz (9.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cli_bob-0.2.0-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

Details for the file cli_bob-0.2.0.tar.gz.

File metadata

  • Download URL: cli_bob-0.2.0.tar.gz
  • Upload date:
  • Size: 9.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cli_bob-0.2.0.tar.gz
Algorithm Hash digest
SHA256 bf710bbb58ce5e1066705c18e7ef05c2abc0ae0b15bfb9315aef579004bd60ac
MD5 9faf5311d80765877ef7c5801b3c9f68
BLAKE2b-256 0abca2537c0f9c4a0346c87591896b6362c73ef6974162065108d9e4e54516f2

See more details on using hashes here.

File details

Details for the file cli_bob-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: cli_bob-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 8.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for cli_bob-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1ee78e01cffcd2d28ba7415df006f9f4969ff96050ae6a73b695e648c36697fe
MD5 f1fa498f417cd0ce1bbc551b4b67fa37
BLAKE2b-256 c93ea79b1398b268ee90ff5a42fe755e5bd745d2d3d9693ac3af735f50fe2b6c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page