Skip to main content

Chat with AI from your terminal!

Project description

Intelliterm

Chat with LLMs from your terminal!

Note
This is a side project I occasionally work on in my free time, report any bugs and/or desired features. Contributions are welcome!

Features

  • 🧠 Anthropic + OpenAI Models — Chat with Opus, GPT4 and any every other Anthropic or OpenAI models!
  • 👾 Code Execution — Copy and run code [^1]
  • ⚙️ Configurations — Quickly switch between models (mid-chat!) and manage multiple configurations
  • 📂 File Input — Dump files into prompts!
  • 💬 Chat Manager — Create, save [^2] and load chats!
  • ! Command Palette — Do useful things with a variety of built-in commands!
  • ✍️ Auto-completion — Auto-complete commands with tab (and navigate history with / )

Install

pip install intelliterm

How to use

Note
Make sure you've set your ANTHROPIC_API_KEY and OPENAI_API_KEY environment variables in ~/.zshrc or ~/.bashrc:

export ANTHROPIC_API_KEY='YOUR-ANTHROPIC-KEY'
export OPENAI_API_KEY='YOUR-OPENAI-KEY'

Basic usage:

ai

# or with a prompt
ai write a python program that prints a random chess position using emojis

Input a file:

ai -f file.py # -f or --file

# or via pipes
cat file.py | ai
git diff | ai

Note
Piping a git diff is a special case for which Intelliterm one-shot generates a commit message in conventional format, summarizing the diff (for better UX).

Options

Short Long Description
-f --file Pass a file as prompt
-m --mini
--oneshot
Complete prompt without entering the Intelliterm CLI ("one-shot" usage)
-c --copy Auto-copy entire response to clipboard
-cc --copy-code Auto-copy code block to clipboard
-h --help Show help message (this one)
-v --version Show Intelliterm version

! Command Palette

Note You must be in a chat to use Command Palette (start a chat via ai or ai <prompt>)

Intelliterm comes with a set of handy commands, triggered by entering ! followed by:

Command Aliases Command Options Command Description
General !help !h Show available commands
!quit !q
or Ctrl + c
Quit Intelliterm
!shell !os Run basic shell commands within Intelliterm
usage: !shell <command>
example: > !shell ls
Configuration !cfg !use !config !switch edit reset Manage Intelliterm configurations
!cfg — Show active config
!cfg edit — Edit configs file
!use <name> — Switch to a config (case-insensitive)
example: !use gpt4
!cfg reset — Reset configs file to defaults (GPT3 and GPT4, defaulting to GPT3)
Chat !new !n Start new chat / clear context
!file !f Input a file as prompt
usage: !file <path> <prompt>
example: > !file file.py optimize this code
!info !i Show information about current chat
!save !s Save chat (to: <DOCUMENTS_DIR>/intelliterm/chats
!load !l Load chat
Response !copy !c code Copy last response to clipboard
!copy / !c — Copy all content
!copy code / !c code — Copy code from content
Note: to auto-copy every new response:
  1. Quit Intelliterm (!quit / !q / Ctrl + c)
  2. Relaunch with:
    • ai <prompt> --copy or
    • ai <prompt> --copy code
    • Tip: -c (short alias)
!run !r Run code block in last response
Note: currently supports:
  • Python
  • JavaScript
  • TypeScript

Contributing

Pull requests, suggestions and issue reports are very welcome 👽

[^1]: Running generated code currently supported for Python, JavaScript and TypeScript code snippets. [^2]: Intelliterm uses platformdirs to determine the file paths where configurations and chats are saved to and loaded from. CONFIG_DIR and DOCUMENTS_DIR directory locations will thus vary based on your OS (Intelliterm displays them when saving/loading things).

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

intelliterm-0.5.2.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

intelliterm-0.5.2-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file intelliterm-0.5.2.tar.gz.

File metadata

  • Download URL: intelliterm-0.5.2.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for intelliterm-0.5.2.tar.gz
Algorithm Hash digest
SHA256 dcb0e2a84545eb44ef35750f632eda5b4c27f91bb775cad5ad48597c47e84d94
MD5 2f2018ca235ee6ff01b8d32138b3da67
BLAKE2b-256 a06ab0a180c1552f71a9479eddee3dffc129623f8fa4c4597ab640bde14a1beb

See more details on using hashes here.

File details

Details for the file intelliterm-0.5.2-py3-none-any.whl.

File metadata

  • Download URL: intelliterm-0.5.2-py3-none-any.whl
  • Upload date:
  • Size: 25.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

File hashes

Hashes for intelliterm-0.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5ad9017ada7e51592489b297c0f9aa3f8c17ff4cafa1fe6f64782ca81d20a202
MD5 01861d39287c339e06821a3635598798
BLAKE2b-256 568dd6cfb8496dcc396e1f391da8fbfeed4b7e22df3e2f845e51acb5946cb6fa

See more details on using hashes here.

Supported by

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