返回市场
控制台聊天GPT

控制台聊天GPT

作者:amidabuddha151 星标更新:2025-09-30

项目介绍

<div align="center"> <h1>

console-chat-gpt v6

</h1>

您终极的CLI人工智能模型聊天伴侣

轻松与OpenAIMistralAIAnthropicxAIGoogle AI或其他兼容OpenAI SDK的LLM提供商(如DeepSeek阿里巴巴InceptionMoonshot AIOpenRouter等)或Ollama托管的模型进行交互。</br>通过效率和便捷性提升您的聊天体验。

<h3>

主页 | 示例

</h3> <h4 align="center"> <a href="https://github.com/amidabuddha/consoleChatGPT/blob/main/LICENSE.md"> <img src="https://img.shields.io/github/license/amidabuddha/consoleChatGPT" alt="根据Apache许可证发布。" /> </a> <img src="https://img.shields.io/badge/Python-3.10+-blue" alt="运行在Python 3.10+" /> <img src="https://img.shields.io/github/stars/amidabuddha/consoleChatGPT"/> <img src="https://img.shields.io/github/issues/amidabuddha/consoleChatGPT"/> <img src="https://img.shields.io/github/forks/amidabuddha/consoleChatGPT"/> <img src="https://img.shields.io/badge/platform-Linux%20%7C%20macOS-blue"/> </h4> </div>

目录


免责声明: 此代码的意图和实现完全与OpenAI、MistralAI、Anthropic、xAI、Google AI或其他任何LLM实验室及其相关方无关。没有任何形式的隶属关系或联系。


特性

  • :new: 通过Responses API生成OpenAI图像。:new:
  • :star: 支持OpenAI Responses API。:star:
  • :star: 运行任何兼容OpenAI SDK的模型——只需在config.toml文件中添加相应的model_namebase_url。:star:
  • :star: 在本地运行Ollama托管的模型。Ollama应已安装且所选模型已下载。:star:
  • :star: 完全支持Anthropic提示缓存。:star:
  • :star: 支持模型上下文协议(MCP)! 如果您已经在使用MCP服务器,请将您的claude_desktop_config.json复制到根目录并重命名为mcp_config.json以开始使用任何模型!:star:
  • 统一的聊天完成函数作为独立库,用于在任何应用程序中提供无缝跨提供商API体验。源代码可在PythonTypeScript中找到。
  • 所有支持的模型均支持流式传输,默认情况下禁用,可以在设置菜单中启用。
  • 支持OpenAI助手Beta版
  • AI管理模式:根据任务复杂度自动确定使用哪个模型。
  • 配置文件:通过config.toml文件轻松自定义应用设置,全面控制应用的工作方式。也可以通过应用内的设置命令进行支持。
  • 角色选择:用户可以定义AI在对话中的角色,使对话更加个性化和互动。
  • 温度控制:调整生成响应的温度,以控制对话中的创造性和随机性。
  • 命令处理:应用响应用户输入的各种命令,实现简单直观的交互。
  • 图像输入:与选定的模型一起使用。
  • 错误处理:清晰且有用的错误消息,便于理解和解决任何问题。
  • 对话历史:查看之前的交互并保存对话供将来参考,提供上下文和连续性。
  • 优雅退出:平滑处理中断,确保在退出前保存对话,避免进度丢失。
  • 一个优秀的团队:积极添加功能,开放接受想法并修复错误。

总体而言,此应用专注于提供用户友好且可定制的体验,增强个性化、控制和便利性的功能。


安装和使用

脚本在Linux和MacOS终端上运行良好。对于Windows,建议使用WSL

  1. 克隆仓库:

    git clone https://github.com/amidabuddha/console-chat-gpt.git
    
  2. 进入文件夹:

    cd console-chat-gpt
    
  3. 安装必要的依赖项:

    python3 -m pip install -r requirements.txt
    
  4. OpenAIMistralAIAnthropicxAIGoogle AI Studio或其他相关平台获取您的API密钥,具体取决于您选择的LLM。

  5. 首次运行时,config.toml.sample将自动复制为config.toml,并提示您输入API密钥。您可以根据需要更改其他默认值,这些默认值不在应用内设置菜单中提供。

  6. 运行可执行文件:

    python3 main.py
    

    小贴士: 创建一个别名以便从任何地方运行可执行文件。

  7. 使用聊天中的帮助命令检查可用选项。

  8. 开始享受吧


config.toml中的可配置选项

[chat.defaults]生成聊天完成/响应的主要属性。
temperature采样温度,介于0和2之间。较高的值(如0.8)会使输出更随机,而较低的值(如0.2)则更集中。如果chat.features中的adjust_temperaturetrue,则可以在每个新的聊天会话开始时设置。
system_role插入到模型上下文中的系统(或开发者)消息。应为[chat.roles]部分中列出的一项。如果chat.features中的role_selectortrue,则可以在每个新的聊天会话开始时设置。
model用于生成聊天完成/响应的模型ID,如gpt-4o或o3。应在[chat.models]部分中列出,并带有相关参数。如果chat.features中的model_selectortrue,则可以在每个新的聊天会话开始时设置。
[chat.features]聊天应用的可配置选项。其中一些可以通过聊天会话中的设置命令访问。
model_selectorconfig.toml中[chat.models]部分列出的模型选择列表。当为true时,此列表可以在每个新的聊天会话开始时修改。
adjust_temperature提示更改每个聊天会话的温度。当为true时,温度值可以在每个新的聊天会话开始时修改。
role_selectorconfig.toml中[chat.roles]部分列出的角色选择列表。当为true时,此列表可以在每个新的聊天会话开始时修改。
save_chat_on_exit当为true时,使用聊天中的exit命令时会自动保存聊天会话。
continue_chat当为true时,提供先前保存的聊天会话列表,以便在新会话中继续。该列表可通过聊天会话中的chats命令进行修改。
debug应用日志记录——尚未实现。
disable_intro_help_message所有在help中可用的聊天命令会在聊天初始化时打印出来。这针对新用户,可以通过将其设置为false来禁用。
assistant_mode启用Open AI助手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 = .075 (当前价格未计算,但您可以根据需要调整此值)
reasoning_effort = (如果支持,所需的值,例如"medium",否则为false)

示例

  • 提示示例:

    example_python

  • Markdown可视化示例:

    example_markdown

  • 设置和帮助:

    example_settings

您可以在我们的示例页面上找到更多示例。


贡献

欢迎贡献!如果您发现任何错误、有功能请求或想提出改进,请打开一个问题或提交一个拉取请求。