{"id":51026909,"url":"https://github.com/gitstq/termchat","last_synced_at":"2026-06-21T20:02:31.029Z","repository":{"id":355748003,"uuid":"1229428912","full_name":"gitstq/termchat","owner":"gitstq","description":"Lightweight universal terminal AI chat assistant - Multi-LLM backend, streaming output, session management, Markdown rendering","archived":false,"fork":false,"pushed_at":"2026-05-05T03:16:53.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-05T05:22:44.226Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/gitstq/termchat","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gitstq.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-05T03:14:08.000Z","updated_at":"2026-05-05T03:16:57.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gitstq/termchat","commit_stats":null,"previous_names":["gitstq/termchat"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gitstq/termchat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Ftermchat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Ftermchat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Ftermchat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Ftermchat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gitstq","download_url":"https://codeload.github.com/gitstq/termchat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gitstq%2Ftermchat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34623906,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-21T02:00:05.568Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-21T20:02:30.932Z","updated_at":"2026-06-21T20:02:31.015Z","avatar_url":"https://github.com/gitstq.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003e🤖 TermChat\u003c/h1\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cstrong\u003eLightweight Universal Terminal AI Chat Assistant\u003c/strong\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"#-简体中文\"\u003e简体中文\u003c/a\u003e ·\n    \u003ca href=\"#-繁體中文\"\u003e繁體中文\u003c/a\u003e ·\n    \u003ca href=\"#-english\"\u003eEnglish\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp align=\"center\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Python-3.9+-blue.svg\" alt=\"Python\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/License-MIT-green.svg\" alt=\"License\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/PRs-Welcome-brightgreen.svg\" alt=\"PRs Welcome\"\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n---\n\n\u003ca id=\"-简体中文\"\u003e\u003c/a\u003e\n\n## 🎉 项目介绍\n\n**TermChat** 是一款轻量级的通用终端 AI 对话助手，专为开发者打造。它支持多种大语言模型（LLM）后端，提供流式输出、会话管理、Markdown 渲染等核心功能，让你在终端中即可享受流畅的 AI 对话体验。\n\n### 💡 灵感来源与差异化亮点\n\n受 GitHub Trending 热门项目 DeepSeek-TUI 启发，TermChat 在其产品理念基础上进行了全面差异化升级：\n\n- 🌐 **多 LLM 后端支持** — 不仅限于单一模型，支持 OpenAI、DeepSeek、Ollama、Groq、Together AI、OpenRouter 等主流平台\n- 💾 **会话管理系统** — 创建、切换、搜索、导出多个独立对话会话，所有记录持久化存储\n- 🎨 **精美终端 UI** — 基于 Rich 库的 Markdown 渲染、语法高亮、多主题切换\n- ⚡ **流式实时输出** — 逐字流式显示 AI 回复，体验流畅自然\n- 🔧 **零门槛配置** — 环境变量自动读取、一键初始化配置文件\n- 🐍 **Python 生态** — 低贡献门槛，丰富的扩展可能\n\n---\n\n## ✨ 核心特性\n\n| 特性 | 描述 |\n|------|------|\n| 🤖 **多模型支持** | OpenAI / DeepSeek / Ollama / Groq / Together / OpenRouter |\n| ⚡ **流式输出** | 实时逐字显示 AI 回复，响应迅速 |\n| 💬 **多会话管理** | 创建、切换、删除、搜索多个独立对话 |\n| 📝 **Markdown 渲染** | 完整支持 Markdown 格式、代码高亮 |\n| 🎨 **多主题切换** | Monokai / Dark / Light 三套精美主题 |\n| 🔍 **历史搜索** | 跨会话全文搜索历史消息 |\n| 📤 **会话导出** | 一键导出对话为 Markdown 文件 |\n| 🔌 **OpenAI 兼容** | 支持所有 OpenAI 兼容 API 接口 |\n| ⚙️ **灵活配置** | YAML 配置文件 + 环境变量双重管理 |\n| 🧪 **完整测试** | 27 个单元测试，代码质量有保障 |\n\n---\n\n## 🚀 快速开始\n\n### 环境要求\n\n- **Python** \u003e= 3.9\n- **pip** (Python 包管理器)\n- 一个 LLM API Key（OpenAI / DeepSeek / Groq 等）\n\n### 安装\n\n```bash\n# 使用 pip 安装\npip install termchat\n\n# 或从源码安装\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e .\n```\n\n### 初始化配置\n\n```bash\n# 创建默认配置文件\ntermchat --init\n```\n\n配置文件位置：`~/.termchat/config.yaml`\n\n### 设置 API Key\n\n**方式一：编辑配置文件**\n\n```bash\n# 编辑配置文件，填入你的 API Key\nnano ~/.termchat/config.yaml\n```\n\n**方式二：使用环境变量**\n\n```bash\nexport OPENAI_API_KEY=\"sk-your-key\"\nexport DEEPSEEK_API_KEY=\"sk-your-key\"\nexport GROQ_API_KEY=\"gsk-your-key\"\n```\n\n### 启动对话\n\n```bash\ntermchat\n```\n\n---\n\n## 📖 详细使用指南\n\n### 基本对话\n\n启动 TermChat 后，直接输入消息即可开始对话：\n\n```\n[openai] default\u003e 你好，请介绍一下你自己\n```\n\n### 命令列表\n\n| 命令 | 说明 |\n|------|------|\n| `/help` | 显示帮助信息 |\n| `/clear` | 清空当前对话 |\n| `/new \u003cname\u003e` | 创建新会话 |\n| `/switch \u003cname\u003e` | 切换到指定会话 |\n| `/sessions` | 列出所有会话 |\n| `/delete \u003cname\u003e` | 删除指定会话 |\n| `/provider \u003cname\u003e` | 切换 LLM 提供商 |\n| `/model \u003cname\u003e` | 更换当前模型 |\n| `/providers` | 列出所有可用提供商 |\n| `/config` | 显示当前配置 |\n| `/theme \u003cname\u003e` | 切换主题 (monokai/dark/light) |\n| `/save` | 保存当前会话 |\n| `/search \u003cquery\u003e` | 搜索历史消息 |\n| `/export \u003cpath\u003e` | 导出会话为 Markdown |\n| `/test` | 测试当前提供商连接 |\n| `/quit` | 退出 TermChat |\n\n### 切换提供商\n\n```\n[openai] default\u003e /provider deepseek\n✓ Switched to provider 'deepseek' (model: deepseek-chat)\n```\n\n### 使用 Ollama 本地模型\n\n确保 Ollama 已启动，然后切换提供商：\n\n```\n[openai] default\u003e /provider ollama\n✓ Switched to provider 'ollama' (model: llama3)\n```\n\n### 导出对话\n\n```\n[openai] default\u003e /export my_chat.md\n✓ Session exported to my_chat.md\n```\n\n---\n\n## 💡 设计思路与迭代规划\n\n### 设计理念\n\nTermChat 的核心理念是**「终端即界面，简洁即力量」**。我们相信开发者最熟悉的工作环境就是终端，因此将 AI 对话能力无缝融入终端体验，无需打开浏览器或额外应用。\n\n### 技术选型\n\n- **Python** — 生态丰富、贡献门槛低、异步支持完善\n- **Rich** — 终端渲染天花板，Markdown/语法高亮开箱即用\n- **Prompt Toolkit** — 成熟的终端交互库，自动补全和历史记录\n- **httpx** — 现代异步 HTTP 客户端，流式支持优秀\n\n### 后续规划\n\n- [ ] 🖼️ 图片输入支持（多模态对话）\n- [ ] 🔄 对话分支管理\n- [ ] 📊 Token 用量统计与成本追踪\n- [ ] 🔌 插件系统（自定义命令扩展）\n- [ ] 🌐 Web UI 模式（浏览器访问）\n- [ ] 📱 MCP 协议集成\n\n---\n\n## 📦 安装与部署\n\n### pip 安装（推荐）\n\n```bash\npip install termchat\n```\n\n### 从源码安装\n\n```bash\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e .\n```\n\n### 开发模式\n\n```bash\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e \".[dev]\"\npytest  # 运行测试\nruff check src/  # 代码检查\n```\n\n### 兼容环境\n\n| 环境 | 最低版本 |\n|------|----------|\n| Python | 3.9+ |\n| OS | Linux / macOS / Windows |\n| 终端 | 任何支持 ANSI 的终端 |\n\n---\n\n## 🤝 贡献指南\n\n欢迎所有形式的贡献！请查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详情。\n\n1. Fork 本仓库\n2. 创建特性分支：`git checkout -b feature/amazing-feature`\n3. 提交更改：`git commit -m 'feat: add amazing feature'`\n4. 推送分支：`git push origin feature/amazing-feature`\n5. 提交 Pull Request\n\n---\n\n## 📄 开源协议\n\n本项目基于 [MIT License](LICENSE) 开源。\n\n---\n\n\u003ca id=\"-繁體中文\"\u003e\u003c/a\u003e\n\n## 🎉 專案介紹\n\n**TermChat** 是一款輕量級的通用終端 AI 對話助手，專為開發者打造。它支援多種大語言模型（LLM）後端，提供串流輸出、會話管理、Markdown 渲染等核心功能，讓你在終端中即可享受流暢的 AI 對話體驗。\n\n### 💡 靈感來源與差異化亮點\n\n受 GitHub Trending 熱門專案 DeepSeek-TUI 啟發，TermChat 在其產品理念基礎上進行了全面差異化升級：\n\n- 🌐 **多 LLM 後端支援** — 不僅限於單一模型，支援 OpenAI、DeepSeek、Ollama、Groq、Together AI、OpenRouter 等主流平台\n- 💾 **會話管理系統** — 建立、切換、搜尋、匯出多個獨立對話會話，所有記錄持久化儲存\n- 🎨 **精美終端 UI** — 基於 Rich 函式庫的 Markdown 渲染、語法高亮、多主題切換\n- ⚡ **串流即時輸出** — 逐字串流顯示 AI 回覆，體驗流暢自然\n- 🔧 **零門檻配置** — 環境變數自動讀取、一鍵初始化設定檔\n- 🐍 **Python 生態** — 低貢獻門檻，豐富的擴展可能\n\n---\n\n## ✨ 核心特性\n\n| 特性 | 描述 |\n|------|------|\n| 🤖 **多模型支援** | OpenAI / DeepSeek / Ollama / Groq / Together / OpenRouter |\n| ⚡ **串流輸出** | 即時逐字顯示 AI 回覆，回應迅速 |\n| 💬 **多會話管理** | 建立、切換、刪除、搜尋多個獨立對話 |\n| 📝 **Markdown 渲染** | 完整支援 Markdown 格式、程式碼高亮 |\n| 🎨 **多主題切換** | Monokai / Dark / Light 三套精美主題 |\n| 🔍 **歷史搜尋** | 跨會話全文搜尋歷史訊息 |\n| 📤 **會話匯出** | 一鍵匯出對話為 Markdown 檔案 |\n| 🔌 **OpenAI 相容** | 支援所有 OpenAI 相容 API 介面 |\n| ⚙️ **靈活配置** | YAML 設定檔 + 環境變數雙重管理 |\n| 🧪 **完整測試** | 27 個單元測試，程式碼品質有保障 |\n\n---\n\n## 🚀 快速開始\n\n### 環境需求\n\n- **Python** \u003e= 3.9\n- **pip**（Python 套件管理器）\n- 一個 LLM API Key（OpenAI / DeepSeek / Groq 等）\n\n### 安裝\n\n```bash\n# 使用 pip 安裝\npip install termchat\n\n# 或從原始碼安裝\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e .\n```\n\n### 初始化配置\n\n```bash\n# 建立預設設定檔\ntermchat --init\n```\n\n設定檔位置：`~/.termchat/config.yaml`\n\n### 設定 API Key\n\n**方式一：編輯設定檔**\n\n```bash\nnano ~/.termchat/config.yaml\n```\n\n**方式二：使用環境變數**\n\n```bash\nexport OPENAI_API_KEY=\"sk-your-key\"\nexport DEEPSEEK_API_KEY=\"sk-your-key\"\nexport GROQ_API_KEY=\"gsk-your-key\"\n```\n\n### 啟動對話\n\n```bash\ntermchat\n```\n\n---\n\n## 📖 詳細使用指南\n\n### 基本對話\n\n啟動 TermChat 後，直接輸入訊息即可開始對話：\n\n```\n[openai] default\u003e 你好，請介紹一下你自己\n```\n\n### 命令列表\n\n| 命令 | 說明 |\n|------|------|\n| `/help` | 顯示說明資訊 |\n| `/clear` | 清空目前對話 |\n| `/new \u003cname\u003e` | 建立新會話 |\n| `/switch \u003cname\u003e` | 切換到指定會話 |\n| `/sessions` | 列出所有會話 |\n| `/delete \u003cname\u003e` | 刪除指定會話 |\n| `/provider \u003cname\u003e` | 切換 LLM 提供者 |\n| `/model \u003cname\u003e` | 更換目前模型 |\n| `/providers` | 列出所有可用提供者 |\n| `/config` | 顯示目前配置 |\n| `/theme \u003cname\u003e` | 切換主題 (monokai/dark/light) |\n| `/save` | 儲存目前會話 |\n| `/search \u003cquery\u003e` | 搜尋歷史訊息 |\n| `/export \u003cpath\u003e` | 匯出會話為 Markdown |\n| `/test` | 測試目前提供者連線 |\n| `/quit` | 結束 TermChat |\n\n---\n\n## 💡 設計思路與迭代規劃\n\n### 設計理念\n\nTermChat 的核心理念是**「終端即介面，簡潔即力量」**。我們相信開發者最熟悉的工作環境就是終端，因此將 AI 對話能力無縫融入終端體驗，無需開啟瀏覽器或額外應用。\n\n### 後續規劃\n\n- [ ] 🖼️ 圖片輸入支援（多模態對話）\n- [ ] 🔄 對話分支管理\n- [ ] 📊 Token 用量統計與成本追蹤\n- [ ] 🔌 外掛系統（自訂命令擴展）\n- [ ] 🌐 Web UI 模式（瀏覽器存取）\n\n---\n\n## 📦 安裝與部署\n\n### pip 安裝（推薦）\n\n```bash\npip install termchat\n```\n\n### 從原始碼安裝\n\n```bash\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e .\n```\n\n### 開發模式\n\n```bash\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e \".[dev]\"\npytest\nruff check src/\n```\n\n---\n\n## 🤝 貢獻指南\n\n歡迎所有形式的貢獻！請查看 [CONTRIBUTING.md](CONTRIBUTING.md) 了解詳情。\n\n---\n\n## 📄 開源協議\n\n本專案基於 [MIT License](LICENSE) 開源。\n\n---\n\n\u003ca id=\"-english\"\u003e\u003c/a\u003e\n\n## 🎉 Introduction\n\n**TermChat** is a lightweight universal terminal AI chat assistant designed for developers. It supports multiple LLM backends with streaming output, session management, Markdown rendering, and more — bringing a seamless AI conversation experience right to your terminal.\n\n### 💡 Inspiration \u0026 Differentiation\n\nInspired by the trending GitHub project DeepSeek-TUI, TermChat delivers a comprehensively upgraded experience:\n\n- 🌐 **Multi-LLM Backend** — Not limited to a single model; supports OpenAI, DeepSeek, Ollama, Groq, Together AI, OpenRouter, and more\n- 💾 **Session Management** — Create, switch, search, and export multiple independent chat sessions with persistent storage\n- 🎨 **Beautiful Terminal UI** — Markdown rendering, syntax highlighting, and multi-theme support powered by Rich\n- ⚡ **Streaming Output** — Real-time character-by-character AI response display for a natural experience\n- 🔧 **Zero-Friction Setup** — Auto-read environment variables, one-command config initialization\n- 🐍 **Python Ecosystem** — Low contribution barrier with rich extension possibilities\n\n---\n\n## ✨ Key Features\n\n| Feature | Description |\n|---------|-------------|\n| 🤖 **Multi-Model Support** | OpenAI / DeepSeek / Ollama / Groq / Together / OpenRouter |\n| ⚡ **Streaming Output** | Real-time token-by-token AI response display |\n| 💬 **Multi-Session** | Create, switch, delete, and search across multiple conversations |\n| 📝 **Markdown Rendering** | Full Markdown support with syntax highlighting |\n| 🎨 **Theme Switching** | Monokai / Dark / Light themes |\n| 🔍 **History Search** | Full-text search across all sessions |\n| 📤 **Session Export** | One-click export to Markdown files |\n| 🔌 **OpenAI Compatible** | Works with any OpenAI-compatible API |\n| ⚙️ **Flexible Config** | YAML config file + environment variable support |\n| 🧪 **Well Tested** | 27 unit tests ensuring code quality |\n\n---\n\n## 🚀 Quick Start\n\n### Requirements\n\n- **Python** \u003e= 3.9\n- **pip** package manager\n- An LLM API key (OpenAI / DeepSeek / Groq, etc.)\n\n### Installation\n\n```bash\n# Install via pip\npip install termchat\n\n# Or install from source\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e .\n```\n\n### Initialize Configuration\n\n```bash\ntermchat --init\n```\n\nConfig file location: `~/.termchat/config.yaml`\n\n### Set API Key\n\n**Option 1: Edit config file**\n\n```bash\nnano ~/.termchat/config.yaml\n```\n\n**Option 2: Use environment variables**\n\n```bash\nexport OPENAI_API_KEY=\"sk-your-key\"\nexport DEEPSEEK_API_KEY=\"sk-your-key\"\nexport GROQ_API_KEY=\"gsk-your-key\"\n```\n\n### Start Chatting\n\n```bash\ntermchat\n```\n\n---\n\n## 📖 Usage Guide\n\n### Basic Chat\n\nAfter launching TermChat, simply type your message:\n\n```\n[openai] default\u003e Hello, introduce yourself\n```\n\n### Command Reference\n\n| Command | Description |\n|---------|-------------|\n| `/help` | Show help information |\n| `/clear` | Clear current conversation |\n| `/new \u003cname\u003e` | Create a new session |\n| `/switch \u003cname\u003e` | Switch to a session |\n| `/sessions` | List all sessions |\n| `/delete \u003cname\u003e` | Delete a session |\n| `/provider \u003cname\u003e` | Switch LLM provider |\n| `/model \u003cname\u003e` | Change model |\n| `/providers` | List available providers |\n| `/config` | Show current configuration |\n| `/theme \u003cname\u003e` | Switch theme (monokai/dark/light) |\n| `/save` | Save current session |\n| `/search \u003cquery\u003e` | Search message history |\n| `/export \u003cpath\u003e` | Export session to Markdown |\n| `/test` | Test provider connection |\n| `/quit` | Exit TermChat |\n\n### Switching Providers\n\n```\n[openai] default\u003e /provider deepseek\n✓ Switched to provider 'deepseek' (model: deepseek-chat)\n```\n\n### Using Ollama (Local Models)\n\nMake sure Ollama is running, then switch the provider:\n\n```\n[openai] default\u003e /provider ollama\n✓ Switched to provider 'ollama' (model: llama3)\n```\n\n### Export Conversations\n\n```\n[openai] default\u003e /export my_chat.md\n✓ Session exported to my_chat.md\n```\n\n---\n\n## 💡 Design Philosophy \u0026 Roadmap\n\n### Philosophy\n\n**\"Terminal as interface, simplicity as power.\"** We believe the terminal is the developer's most natural workspace. TermChat seamlessly integrates AI conversation capabilities into the terminal experience — no browser or extra apps needed.\n\n### Tech Stack\n\n- **Python** — Rich ecosystem, low contribution barrier, excellent async support\n- **Rich** — Best-in-class terminal rendering with Markdown and syntax highlighting\n- **Prompt Toolkit** — Mature terminal interaction with auto-completion and history\n- **httpx** — Modern async HTTP client with excellent streaming support\n\n### Roadmap\n\n- [ ] 🖼️ Image input support (multimodal chat)\n- [ ] 🔄 Conversation branching\n- [ ] 📊 Token usage \u0026 cost tracking\n- [ ] 🔌 Plugin system (custom command extensions)\n- [ ] 🌐 Web UI mode\n- [ ] 📱 MCP protocol integration\n\n---\n\n## 📦 Installation \u0026 Deployment\n\n### pip Install (Recommended)\n\n```bash\npip install termchat\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e .\n```\n\n### Development Mode\n\n```bash\ngit clone https://github.com/gitstq/termchat.git\ncd termchat\npip install -e \".[dev]\"\npytest  # Run tests\nruff check src/  # Lint\n```\n\n### Compatible Environments\n\n| Environment | Minimum Version |\n|-------------|-----------------|\n| Python | 3.9+ |\n| OS | Linux / macOS / Windows |\n| Terminal | Any ANSI-compatible terminal |\n\n---\n\n## 🤝 Contributing\n\nContributions of all forms are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for details.\n\n1. Fork this repository\n2. Create a feature branch: `git checkout -b feature/amazing-feature`\n3. Commit your changes: `git commit -m 'feat: add amazing feature'`\n4. Push the branch: `git push origin feature/amazing-feature`\n5. Submit a Pull Request\n\n---\n\n## 📄 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n---\n\n\u003cp align=\"center\"\u003e\n  Made with ❤️ by \u003ca href=\"https://github.com/gitstq\"\u003egitstq\u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitstq%2Ftermchat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgitstq%2Ftermchat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgitstq%2Ftermchat/lists"}