Skip to main content

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).

Release files for intelliterm 0.5.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for intelliterm 0.5.2
File Size Uploaded
intelliterm-0.5.2.tar.gz 22.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for intelliterm 0.5.2
File Interpreter ABI Platform
intelliterm-0.5.2-py3-none-any.whl Python 3 none any Details

Total release size: 48.1 kB

Release files / intelliterm-0.5.2.tar.gz

Download URL intelliterm-0.5.2.tar.gz
Size 22.9 kB
Tags Source
SHA-256 checksum
How to use checksums
dcb0e2a84545eb44ef35750f632eda5b4c27f91bb775cad5ad48597c47e84d94
BLAKE2b-256 checksum
How to use checksums
a06ab0a180c1552f71a9479eddee3dffc129623f8fa4c4597ab640bde14a1beb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

Release files / intelliterm-0.5.2-py3-none-any.whl

Download URL intelliterm-0.5.2-py3-none-any.whl
Size 25.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5ad9017ada7e51592489b297c0f9aa3f8c17ff4cafa1fe6f64782ca81d20a202
BLAKE2b-256 checksum
How to use checksums
568dd6cfb8496dcc396e1f391da8fbfeed4b7e22df3e2f845e51acb5946cb6fa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.8.3 CPython/3.12.4 Darwin/23.5.0

Release history Release notifications | RSS feed

This release

0.5.2 This release

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page