← 返回公开榜单
co

amidabuddha/console-chat-gpt

Python CLI for AI Chat with MCP support

本周新增
1 星
近 3 周倍数
—
距上次推送
268 天
距上次发布
—
许可证
Apache-2.0

星标增长

每根柱子是这个周期记录下来的 star 增长:优先取逐个 stargazer 到达时间分桶的到达数,还没被 stargazer 扫描覆盖的仓库改用该周期的 star 净增;两个写者都没记录的周期画成虚线空档,而不是当成 0。柱高按各自窗口的峰值归一,两张图不共用坐标轴。指向任意一根柱子, tooltip 里是该周期的九项指标:当前值与周期内的净增。

指向或点击一根柱子,看当天的九项指标。

12/1712/301/111/242/62/193/33/16

2025 年 12 月 17 日 新增 0 个星标; 2025 年 12 月 18 日 新增 0 个星标; 2025 年 12 月 19 日 新增 0 个星标; 2025 年 12 月 21 日 新增 0 个星标; 2025 年 12 月 22 日 新增 0 个星标; 2025 年 12 月 23 日 新增 0 个星标; 2025 年 12 月 24 日 新增 0 个星标; 2025 年 12 月 25 日 新增 0 个星标; 2025 年 12 月 26 日 新增 0 个星标; 2025 年 12 月 27 日 新增 0 个星标; 2026 年 1 月 2 日 新增 0 个星标; 2026 年 1 月 3 日 新增 0 个星标; 2026 年 1 月 4 日 新增 0 个星标; 2026 年 1 月 5 日 新增 1 个星标; 2026 年 1 月 6 日 新增 0 个星标; 2026 年 1 月 8 日 新增 1 个星标; 2026 年 1 月 9 日 新增 0 个星标; 2026 年 1 月 10 日 新增 1 个星标; 2026 年 1 月 11 日 新增 0 个星标; 2026 年 1 月 12 日 新增 0 个星标; 2026 年 1 月 13 日 新增 0 个星标; 2026 年 1 月 14 日 新增 1 个星标; 2026 年 1 月 15 日 新增 0 个星标; 2026 年 1 月 16 日 新增 0 个星标; 2026 年 1 月 18 日 新增 0 个星标; 2026 年 1 月 21 日 新增 1 个星标; 2026 年 1 月 23 日 新增 0 个星标; 2026 年 1 月 25 日 新增 0 个星标; 2026 年 1 月 26 日 新增 0 个星标; 2026 年 1 月 27 日 新增 0 个星标; 2026 年 1 月 28 日 新增 0 个星标; 2026 年 1 月 29 日 新增 0 个星标; 2026 年 2 月 1 日 新增 0 个星标; 2026 年 2 月 2 日 新增 0 个星标; 2026 年 2 月 8 日 新增 -1 个星标; 2026 年 2 月 9 日 新增 0 个星标; 2026 年 2 月 10 日 新增 0 个星标; 2026 年 2 月 11 日 新增 0 个星标; 2026 年 2 月 13 日 新增 -1 个星标; 2026 年 2 月 14 日 新增 0 个星标; 2026 年 2 月 16 日 新增 0 个星标; 2026 年 2 月 17 日 新增 0 个星标; 2026 年 2 月 21 日 新增 0 个星标; 2026 年 2 月 23 日 新增 0 个星标; 2026 年 2 月 25 日 新增 0 个星标; 2026 年 2 月 27 日 新增 0 个星标; 2026 年 2 月 28 日 新增 0 个星标; 2026 年 3 月 1 日 新增 0 个星标; 2026 年 3 月 2 日 新增 0 个星标; 2026 年 3 月 3 日 新增 1 个星标; 2026 年 3 月 4 日 新增 0 个星标; 2026 年 3 月 5 日 新增 0 个星标; 2026 年 3 月 8 日 新增 0 个星标; 2026 年 3 月 10 日 新增 0 个星标; 2026 年 3 月 11 日 新增 0 个星标; 2026 年 3 月 16 日 新增 1 个星标

窗口内最高的一天是 2026 年 1 月 5 日,新增 1 个星标。

证据时间轴

这个项目还没有记录到异动、发布或许可证变化。

README
该仓库存储的文档,若已生成中文翻译则一并显示

console-chat-gpt v6

您的终极CLI助手,用于与AI模型聊天

享受与 OpenAI、MistralAI、Anthropic、xAI、Google AI 或其他任何兼容OpenAI SDK的LLM提供者(如 DeepSeek、Alibaba、Inception、Moonshot AI、OpenRouter 等)或 Ollama 托管的模型直接在命令行中进行无缝交互。
通过效率和便捷性提升您的聊天体验。

主页 | 示例

在Apache许可证下发布。 适用于Python 3.10+


目录


免责声明: 本代码的意图和实现与 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。

  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. 从 OpenAI、MistralAI、Anthropic、xAI、Google AI Studio 或相关平台获取您的API密钥,具体取决于您选择的LLM。

  5. config.toml.sample 将在首次运行时自动复制到 config.toml,并提示您输入API密钥/。您可以自由更改 设置 菜单中不可用的其他默认值,以满足您的需求。

  6. 运行可执行文件:

    python3 main.py
    

    小贴士: 为可执行文件创建一个别名,以便从任何位置运行。

  7. 在聊天中使用 help 命令检查可用选项。

  8. 享受


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 命令进行修改。
debug应用程序日志记录 - 尚未实现。
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)

示例

  • 提示示例:

    example_python

  • Markdown可视化示例:

    example_markdown

  • 设置和帮助:

    example_settings

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


贡献

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

页面上的每个数字都来自记录下来的 stargazer 到达时间,没有评分公式,也没有 AI 判定。 任何结论都可以用 /api/v1/repos/{id}/stats 里的原始增量自己重算。