console-chat-gpt 是一个 Python 命令行界面(CLI)工具,用于与多种 AI 模型进行聊天。它旨在让用户直接在命令行中与 OpenAI、MistralAI、Anthropic、xAI、Google AI 等主流 LLM 提供商,以及任何兼容 OpenAI SDK 的提供商(如 DeepSeek、Alibaba、Inception、Moonshot AI、OpenRouter 等)或本地 Ollama 托管的模型进行无缝交互。
主要能力:
- 支持多个 AI 提供商,包括 OpenAI、MistralAI、Anthropic、xAI、Google AI,以及任何兼容 OpenAI SDK 的 LLM 提供商和 Ollama 本地模型。
- 支持通过 Telegram 机器人进行对话,包括 Bot API 10.1 的富消息格式化(当可用时),支持 Markdown 渲染为标题、列表、表格、引用、公式、详情块等结构化输出。
- 支持 OpenAI 图像生成(通过 Responses API)。
- 支持 OpenAI Responses API。
- 支持 Anthropic 提示缓存。
- 支持模型上下文协议(MCP):如果已使用 MCP 服务器,可将 claude_desktop_config.json 复制到根目录并重命名为 mcp_config.json,即可与任何模型一起使用。
- 统一的聊天完成功能被分离为独立库,可在任何应用中使用,提供跨提供商的 API 体验,源代码提供 Python 和 TypeScript 版本。
- 所有支持的模型均支持流式输出,默认禁用,可在设置菜单中启用。
- 支持 OpenAI Assistants Beta。
- AI 管理模式:根据任务复杂度自动确定使用哪个模型。
- 配置文件:通过 config.toml 文件轻松自定义应用设置,也可通过应用内设置命令进行配置。
- 角色选择:用户可以定义 AI 在对话中的角色,实现更个性化和交互式的体验。
- 温度控制:调整生成响应的温度,控制对话中的创造性和随机性。
- 命令处理:应用响应用户输入的各种命令,实现简单直观的交互。
- 图像输入:支持选定的模型。
- 错误处理:清晰有用的错误消息,便于理解和解决问题。
- 对话历史:查看之前的交互并保存对话以供将来参考,提供上下文和连续性。
- 优雅退出:平滑处理中断,确保在退出前保存对话,避免进度丢失。
使用方式:
- 克隆仓库:git clone https://github.com/amidabuddha/console-chat-gpt.git
- 进入文件夹:cd console-chat-gpt
- 安装依赖:python3 -m pip install -r requirements.txt
- 从 OpenAI、MistralAI、Anthropic、xAI、Google AI Studio 或相关平台获取 API 密钥。
- 首次运行时,config.toml.sample 会自动复制为 config.toml,并提示输入 API 密钥。可以根据需要更改其他默认设置。
- 运行可执行文件:python3 main.py。建议创建别名以便从任何位置运行。
- 在聊天中使用 help 命令查看可用选项。
配置选项:
- 在 config.toml 中可配置各种选项。
- 支持通过 telegram_chat_id 或 telegram_chat_ids 为每个模型映射 Telegram 聊天室。当聊天室映射到模型时,该聊天室固定使用该模型(模型切换命令被禁用),但其他命令(如 /mode、/role、/reasoning、/websearch、/webfetch 等)仍然可用。
- 添加 OpenAI SDK 支持的模型:在 config.toml 文件末尾添加条目,使用示例结构。
适用场景:
- 开发者和技术用户在命令行环境中快速与多个 AI 模型交互。
- 需要跨提供商统一 API 体验的应用开发。
- 通过 Telegram 机器人进行 AI 对话。
- 本地运行 Ollama 模型进行聊天。
- 需要 MCP 支持的场景。
限制:
- 该脚本在 Linux 和 MacOS 终端上运行良好,Windows 推荐使用 WSL。
- 该项目已标记为弃用,推荐新安装使用其继任者 tellm(一个 Rust 编写的 Telegram 助手,支持 Claude、GPT/Grok、Gemini、兼容端点和本地 Ollama,具有按房间模型选择和钥匙串支持的密钥)。
- 需要用户自行获取各提供商的 API 密钥。
- 流式输出默认禁用,需手动启用。
- 图像输入仅支持选定模型。
- 与 OpenAI、MistralAI、Anthropic、xAI、Google AI 等无任何关联或关系。