console-chat-gpt v6
您的终极CLI助手,用于与AI模型聊天
享受与 OpenAI、MistralAI、Anthropic、xAI、Google AI 或其他任何兼容OpenAI SDK的LLM提供者(如 DeepSeek、Alibaba、Inception、Moonshot AI、OpenRouter 等)或 Ollama 托管的模型直接在命令行中进行无缝交互。
通过效率和便捷性提升您的聊天体验。
目录
免责声明: 本代码的意图和实现与 OpenAI、MistralAI、Anthropic、xAI、Google AI 或任何其他LLM实验室或相关方完全无关且不相关。在任何形式上,本代码均与 OpenAI、MistralAI、Anthropic、xAI、Google、任何其他LLM实验室或其子公司没有关联或关系。
功能
- :new: 通过Responses API生成OpenAI图像。 :new:
- :star: OpenAI Responses API 支持。 :star:
- :star: 运行任何兼容OpenAI SDK的模型 - 只需在
config.toml文件中添加相关的model_name和base_url模型结构。 :star: - :star: 本地运行 Ollama 托管的模型。Ollama 应已安装,所选模型应已下载 :star:
- :star: Anthropic提示缓存 完全支持 :star:
- :star: 模型上下文协议 (MCP) 支持!如果您已经在使用 MCP 服务器,只需将您的
claude_desktop_config.json复制到根目录并重命名为mcp_config.json,即可开始使用任何模型! :star: - 统一的聊天完成功能作为独立库分离,可用于任何应用程序,以实现跨提供者的无缝API体验。源代码可在 Python 和 TypeScript 中找到
- 所有支持的模型均可进行流式传输,默认情况下禁用,可在
设置菜单中启用 - OpenAI 助手Beta 支持
- AI管理模式 根据任务的复杂性,自动确定使用哪个模型。
- 配置文件 通过
config.toml文件轻松自定义应用程序的设置,以完全控制应用程序的工作方式。也支持在应用程序内通过设置命令进行配置。 - 角色选择 用户可以定义AI在对话中的角色,允许更个性化和互动的体验。
- 温度控制 调整生成响应的温度,以控制对话中的创造性和随机性。
- 命令处理 应用程序响应用户输入的各种命令,以实现轻松直观的交互。
- 图像输入 在选定模型中支持。
- 错误处理 提供清晰有用的错误消息,以便轻松理解和解决任何问题。
- 对话历史 查看以前的交互并保存对话以供将来参考,提供上下文和连续性。
- 优雅退出 平滑处理中断,确保在退出前保存对话,避免进度丢失。
- 一个优秀的团队 积极添加功能,欢迎建议和修复错误。
总的来说,该应用程序专注于提供用户友好和可定制的体验,具有增强个性化、控制和便利性的功能。
安装和使用
该脚本在Linux和MacOS终端上运行良好。对于Windows,建议使用 WSL。
-
克隆存储库:
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密钥,具体取决于您选择的LLM。
-
config.toml.sample将在首次运行时自动复制到config.toml,并提示您输入API密钥/。您可以自由更改设置菜单中不可用的其他默认值,以满足您的需求。 -
运行可执行文件:
python3 main.py小贴士: 为可执行文件创建一个别名,以便从任何位置运行。
-
在聊天中使用
help命令检查可用选项。 -
享受
config.toml 中的可配置选项
| [chat.defaults] | 生成聊天完成/响应的主要属性。 |
|---|---|
| temperature | 使用什么采样温度,介于0和2之间。较高的值(如0.8)会使输出更随机,而较低的值(如0.2)更集中。如果 [chat.features] 中的 adjust_temperature 为 true,则可以为每个新的聊天会话设置。 |
| system_role | 插入到模型上下文中的系统(或开发者)消息。应为 [chat.roles] 部分中列出的一个。如果 [chat.features] 中的 role_selector 为 true,则可以为每个新的聊天会话设置。 |
| model | 用于生成聊天完成/响应的模型ID,如 gpt-4o 或 o3。应在 [chat.models] 部分中列出,并带有相关参数。如果 [chat.features] 中的 model_selector 为 true,则可以为每个新的聊天会话设置。 |
| [chat.features] | 聊天应用程序的可配置选项。其中一些可以通过在聊天会话中输入 settings 命令来访问。 |
|---|---|
| model_selector | 在 config.toml 文件 [chat.models] 部分中可用的模型选择列表。当 true 时,此列表可以在每个新的聊天会话开始时修改。 |
| adjust_temperature | 提示更改每个聊天会话的温度。当 true 时,温度值可以在每个新的聊天会话开始时修改。 |
| role_selector | 在 config.toml 文件 [chat.roles] 部分中可用的角色选择列表。当 true 时,此列表可以在每个新的聊天会话开始时修改。 |
| save_chat_on_exit | 当 true 时,在聊天中使用 exit 命令时自动保存聊天会话。 |
| continue_chat | 当 true 时,提供先前保存的聊天会话列表,以便在新的会话中继续。列表可以通过在聊天会话中输入 chats 命令进行修改。 |
| 应用程序日志记录 - 尚未实现。 | |
| disable_intro_help_message | 在聊天初始化时打印 help 中可用的所有聊天命令。这是针对新用户的,可以通过设置为 false 来禁用。 |
| assistant_mode | 在聊天初始化时启用 Open AI Assistants API 作为可选选择。 |
| ai_managed | 启用 AI管理模式 以允许模型根据您的提示自动选择最佳模型。详细设置如下。 |
| streaming | 如果设置为 true,模型响应数据将流式传输到客户端。 |
| mcp_client | 设置为 false 将防止在不需要时为每个聊天默认初始化MCP服务器。 |
| [chat.managed] | 专门用于AI管理模式的设置。无法在聊天会话中编辑。 |
|---|---|
| assistant | 将评估您的提示并从以下四个配置中选择最佳可用模型来处理它的首选模型。应在 [chat.models] 部分中列出,并带有相关参数。 |
| assistant_role | 评估模型的自定义指令。如果您确切知道自己在做什么,请更改此设置! |
| assistant_generalist | 您首选的通用模型,通常是您用于任何类型查询的模型。应在 [chat.models] 部分中列出,并带有相关参数。 |
| assistant_fast | 当速度优先于准确性时。应在 [chat.models] 部分中列出,并带有相关参数。 |
| assistant_thinker | 用于复杂任务的推理模型。应在 [chat.models] 部分中列出,并带有相关参数。 |
| assistant_coder | 您首选的用于处理编码和数学问题的模型。应在 [chat.models] 部分中列出,并带有相关参数。 |
| prompt | 当 AI管理模式 经常使用时,可以通过将其更改为 false 来禁用Y/N提示。 |
添加您的OpenAI SDK 支持的模型
在您的 config.toml 文件末尾添加一个条目。
使用以下示例结构:
[chat.models.{{对您有意义的模型名称}}]
api_key = "YOUR_API_KEY"
base_url = {{自定义基础URL,例如 "https://api.deepseek.com/v1"}}
model_input_pricing_per_1k = 0.015 (目前价格未计算,但您可以参考调整此值)
model_max_tokens = 32000 (所选模型支持的有效窗口)
model_name = {{模型名称,与相关API参考中完全一致,例如 "deepseek-reasoner"}}
model_output_pricing_per_1k = 0.075 (目前价格未计算,但您可以参考调整此值)
reasoning_effort = (如果支持,则为所需值,例如 "medium",否则为 false)
示例
-
提示示例:

-
Markdown可视化示例:

-
设置和帮助:

您可以在我们的 示例页面 上找到更多示例。
贡献
欢迎贡献!如果您发现任何错误、提出功能请求或希望改进,请打开问题或提交拉取请求。