xenodium/chatgpt-shell

A multi-llm Emacs shell (ChatGPT, Claude, DeepSeek, Gemini, Kagi, Ollama, Perplexity) + editing integrations

解决的问题

chatgpt-shell 是一个 Emacs 包,提供了一个类似 shell 的界面,用于与各种大型语言模型(LLMs)进行交互。它消除了在浏览器标签页和编辑器之间切换的需要,使您能够直接在 Emacs 缓冲区中查询 ChatGPT、Claude、Gemini 等模型。

工作原理

该项目实现了 comint shell,这意味着它与 Emacs 原生的 shell 提示符体验集成。它使用 curl 向各种 API 端点(OpenAI、Anthropic、Google、DeepSeek 等)发送请求,并支持流式响应,以获得更流畅的交互体验。用户可以在单个 shell 会话中切换不同的 LLM 提供商和模型。

适用人群

希望在编辑器中深度集成 AI 辅助功能的 Emacs 用户,特别是那些偏好基于 shell 的工作流以及习惯使用 Emacs shell 中的相同快捷键的用户。

主要亮点

  • 多模型支持:通过一个界面访问 OpenAI、Anthropic、Claude、Gemini、DeepSeek、Ollama(本地)、OpenRouter 和 Perplexity。
  • 撰写缓冲区:一个专用的可编辑缓冲区,用于构建复杂查询,支持快速回复、请求更多数据或请求完整代码片段的快捷键。
  • 代码执行:与 org-babel 集成,可直接在 shell 中执行 LLM 返回的源代码块。
  • 临时菜单:一个快速访问的覆盖菜单,用于常见操作,如重构代码、编写 git 提交信息或描述图像。
  • 视觉功能:支持图像查询(目前仅 ChatGPT),可描述图像或从中提取文本/词汇。
  • 会话管理:可保存和恢复会话转录,供后续使用。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目