Why?
I created this out of frustration. I always work around Neovim and tmux, and whenever I want advice or have a question in mind, I use AI any AI. But that usually forces me to use a mouse, which I don’t want to do because I want to work in the terminal as much as possible.
That’s when I decided to just vibe-code this thing so I can have the app asap, and also to experience what it feels like to vibe-code (I hate it, btw xd). But after discovering the free API from NVIDIA NIM, that really triggered this idea.
Even though this project was just vibe-coded, I still have the intention to continue it as a hobby. I’ll probably:
- Make it modular — everything is in a single file right now, which is ugly.
- Add history? — Initially, I didn’t want to because I rarely use it and I always copy the response right after it’s generated.
- Change the model — NVIDIA NIM has a variety of LLMs, and it might be better to switch to a faster one since it’s currently using R1.
Anyway, everything here is AI-generated except for this section.
Features ✨
- 🗣️ Interactive chat interface with streaming responses
- 📎 File attachment support (PDF, DOCX, TXT, code files, etc.)
- 📋 Clipboard integration for responses
- 🔍 Context-aware conversations
- 📁 Home directory-relative file paths
- 🚦 Progress indicators and error handling
Quick Start 🚀
# Install dependencies
pip install -r requirements.txt
# Set up your .env file
echo "NVIDIA_API_KEY=your_api_key_here" > .env
# Run the application
python app.py
Installation 📦
- Ensure Python 3.8+ is installed
- Clone this repository
- Install the app:
```bash pip install .
- Create
.env
file with your NVIDIA API key
Basic Usage 💻
terminal-nim
> attach
> /path/to/your/file.pdf
> done
> Explain the attached document
Supported File Types 📄
Extension | Description |
---|---|
PDF documents | |
.docx | Word documents |
.txt | Plain text files |
.md | Markdown files |
... | (Full list in documentation) |