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 yourANTHROPIC_API_KEYandOPENAI_API_KEYenvironment variables in~/.zshrcor~/.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
aiorai <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 Intellitermusage: |
||
| Configuration |
!cfg !use !config !switch
|
edit reset
|
Manage Intelliterm configurations
|
| Chat |
!new !n
|
Start new chat / clear context | |
!file !f
|
Input a file as promptusage: |
||
!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
Note: to auto-copy every new response: |
!run !r
|
Run code block in last responseNote: currently supports: |
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dcb0e2a84545eb44ef35750f632eda5b4c27f91bb775cad5ad48597c47e84d94
|
|
| MD5 |
2f2018ca235ee6ff01b8d32138b3da67
|
|
| BLAKE2b-256 |
a06ab0a180c1552f71a9479eddee3dffc129623f8fa4c4597ab640bde14a1beb
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5ad9017ada7e51592489b297c0f9aa3f8c17ff4cafa1fe6f64782ca81d20a202
|
|
| MD5 |
01861d39287c339e06821a3635598798
|
|
| BLAKE2b-256 |
568dd6cfb8496dcc396e1f391da8fbfeed4b7e22df3e2f845e51acb5946cb6fa
|