Chat with AI from your terminal!
Project description
Intelliterm
Chat with AI from your terminal!
Note
This is a side project I occasionally work on in my free time, there are bound to be bugs and/or missing features. Contributions are welcome!
Features
- 🧠 GPT-4 — Chat with any of OpenAI's language 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 yourOPENAI_API_KEY
environment variable in~/.zshrc
or~/.bashrc
:export OPENAI_API_KEY='YOUR-API-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
orai <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
Hashes for intelliterm-0.1.9-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8293dd427eadd21ff80673658d502443da9bb677689e076dac42496538041ec0 |
|
MD5 | cc42c965c239c69ca392d3436e9c86a5 |
|
BLAKE2b-256 | 7ba54f142e95f7527ce44d16e3981eafff47c92a3b80b22cebf5038ff3ad9c78 |