bringing AI Chat to Terminal
- 📦 Out of the box, multi-provider AI chat in your terminal
- 🔄 7 built-in providers: OpenAI, Anthropic, Kimi (K2.5), Together, DeepSeek, Ollama, Custom
- 🌊 Streaming response with real-time token display
- 💬 Multi-turn conversation with context memory
- ⚡️ Per-provider API Key & model configuration
- 🔩 Friendly visual interaction powered by Vue-TermUI
| Provider | Default Model | Base URL |
|---|---|---|
| OpenAI | gpt-4o |
https://api.openai.com/v1 |
| Anthropic | claude-sonnet-4-20250514 |
https://api.anthropic.com/v1 |
| Kimi | kimi-k2.5 |
https://api.moonshot.cn/v1 |
| Together | Llama-3.3-70B-Instruct-Turbo |
https://api.together.xyz/v1 |
| DeepSeek | deepseek-chat |
https://api.deepseek.com/v1 |
| Ollama | llama3.2 |
http://localhost:11434/v1 |
| Custom | (user-defined) | (user-defined) |
All providers use the OpenAI-compatible API format. You can override Base URL and Model for any provider in Settings.
pnpm i tgpt -g
tgpt init
Press Tab to focus input, Enter to send, ArrowDown to open Settings.
/clear— reset conversation history/exit— quit tgpt- ArrowUp / ArrowDown — browse input history
Press Tab to input, Enter to confirm, ArrowUp to save & go back to chat.
- Press P to cycle through providers
- Each provider keeps its own API Key, Base URL, and Model
- Config is saved to
~/.tgpt/config.json
Config file location: ~/.tgpt/config.json
- Vue 3 + Vue-TermUI — terminal UI framework
- Pinia — state management
- Vite — build tool
- TypeScript
MIT © classmatewu


{ "providerIndex": 0, // Active provider (0-6) "providerKeys": { // API keys per provider "OpenAI": "sk-xxx", "Kimi": "sk-xxx" }, "providerOverrides": { // Optional overrides "OpenAI": { "model": "gpt-4o-mini" } } }