Note
This project is currently a work in progress. Feel free to star the repository to stay updated on new features and improvements. Feedback and suggestions are always welcome!
CLIP is a command-line interface to chat with LLM models that supports OpenAI's Response API.
- Conversation Management: Tracks conversation context for follow-up questions
- Context Pause/Resume: Pause conversations and resume them later with the
/continuecommand - Conversation-Based History: Responses are grouped by conversation for better organization
- Web Search Capability: Optionally enable web search for up-to-date information
- Command Interface: Intuitive slash commands with autocomplete
- Response ID Tracking: Uses OpenAI's response IDs for conversation continuity
CLIP is built as a personal tool using:
- Node.js
- OpenAI's Responses API
- Terminal interface with readline
The application supports these commands:
/help- Show help information/continue- Resume conversation with the most recent response/continue n- Continue from response #n in the current conversation (e.g.,/continue 2)/history- View the response history for the current conversation/history --all- View response history across all conversations/new- Start a new conversation with fresh context/debug- Show current conversation state (for troubleshooting)/clear- Clear the screen/exit- Exit the application
CLIP offers two conversation modes:
- Standard mode - Regular conversation with GPT
- Web search enabled - Uses OpenAI's search tool for current information
CLIP uses OpenAI's Responses API for conversation management, providing:
- Conversation continuity through response IDs
- Streaming response handling
- Support for tool usage (such as web search)
- Multi-turn conversation handling
CLIP includes a debugging system controlled through environment variables:
# Enable basic info level debugging
DEBUG=clipai node index.js
# Enable verbose level (more detailed output)
DEBUG=clipai:verbose node index.js
# Enable debug level (maximum detail)
DEBUG=clipai:debug node index.jsEach debugging level provides progressively more information about API interactions and application state.
CLIP stores conversation data in a dedicated directory:
~/.clipai/
├── conversations/ # Conversation data organized by ID
├── responses/ # Response history organized by conversation
├── state.json # Current application state
└── config.json # User configuration