gptel logo

gptel

★★★★ 4.4/5
访问官网
分类
编程
定价
免费
访问
直连可用

快速结论

gptel 是一个活跃维护、以 Emacs 工作方式为核心的 LLM 客户端,而不是笼统的“Emacs AI 生态”或某家模型的套壳。当前稳定版为 v0.9.9.5,采用 GPL-3.0 许可。它能在普通 buffer、shell、minibuffer 或专用聊天 buffer 中发起请求,把对话保存成 Org、Markdown 或文本文件,并支持多后端、多模态、工具调用、MCP、请求检查和脚本化扩展。长期使用 Emacs、希望自己控制模型与上下文的人,gptel 是很强的原生选择;不使用 Emacs,或期待厂商托管账号、统一账单和企业支持的人,则不必为它学习一整套编辑器工作流。

要分清两笔成本:gptel 包本身免费,云端模型 API、ChatGPT/Copilot 订阅或本地推理硬件不免费。还要分清“可读取本地文件”和“自动拥有安全边界”:一旦把文件加入上下文,内容就会发送给所选后端;一旦启用工具或 MCP,模型还可能请求执行函数。v0.9.9.5 增加工具调用检查与钩子,并将通过 Curl 提交的认证密钥改为标准输入,但用户仍需自己做密钥、文件范围和工具权限治理。

核心功能

  • 任意 buffer 交互:在代码、Org、Markdown、终端输出或临时文本旁直接提问,也可打开独立聊天;流式响应不会把工作流锁进浏览器标签页。
  • 多后端选择:支持 OpenAI、Anthropic、Gemini、Azure、Bedrock、GitHub Copilot、OpenRouter、DeepSeek 等服务,也能连接 Ollama、llama.cpp、GPT4All 或 Open WebUI 等本地端点。
  • 本地文件式会话:聊天就是可编辑的普通文件,可保存、版本管理和稍后恢复;历史提示与回答也能修改后继续发送。文件留在本地不代表请求留在本地,实际数据去向由后端决定。
  • 上下文与重写:可附加选区、buffer、文件、图片和文档,或在原位置重写、重构和补全文本。发送前可检查实际请求,避免无意带入整个 buffer。
  • 工具与 MCP:可定义 Elisp 工具,让模型提出工具调用,并通过 mcp.el 接入 MCP。v0.9.9.5 支持查看和交互修改待执行的工具调用,以及调用前后钩子,便于阻断、改写或记录动作。
  • 可组合 APIgptel-request、preset 和 hooks 适合编写自定义命令。v0.9.9.5 还加入 OpenAI Responses API、token 用量显示和默认 preset,但不会自动计算跨供应商货币成本。

适合人群

  • 已把 Emacs 用作代码、笔记、邮件或终端入口,希望 AI 也遵循 buffer 与 Elisp 组合方式的用户。
  • 需要在云 API、订阅后端与本地模型之间切换,不想绑定单一模型厂商的开发者。
  • 愿意检查发送上下文、管理 API Key,并为文件工具或 MCP 建立确认规则的高级用户。
  • 希望把 LLM 请求嵌入自定义 Emacs 命令、Org 流程或可复现文本工作流的人。
  • 不适合需要零配置 IDE Agent、集中席位管理、厂商 SLA,或不愿维护 Emacs 配置的人。

使用场景

日常编码中,可以选中函数让 gptel 解释或重构,把测试失败日志与相关文件作为受控上下文,而不是上传整个仓库。写作与研究时,对话可直接保存在 Org 文件,手工修订事实后继续追问。多模型评估时,可用相同提示切换后端,比较质量、延迟与 token 用量。启用工具后,可让模型检索本地项目或调用只读函数;涉及写文件、运行命令、网络发布和删除操作时,应要求逐次确认,并把工具参数、结果与失败路径留在可审计记录中。

价格与版本

项目成本边界
gptel v0.9.9.5免费GPL-3.0 Emacs 包,可从 GNU/NonGNU ELPA 或兼容包源安装
云端 API 后端按供应商定价通常按输入、输出、缓存或工具使用计费,gptel 不代收费用
订阅型后端按供应商订阅GitHub Copilot 或支持的 ChatGPT 登录能力受各自套餐和条款约束
本地后端软件可免费仍需内存、显存、电力、模型存储和维护时间

v0.9.9.5 默认不再预注册固定 backend 与 model;首次发送时仍可按需创建默认 ChatGPT 后端,但长期配置应显式选择。升级用户还要检查工具结果默认包含、reasoning 内容处理和自定义 backend 函数签名等 breaking changes。

国内访问与使用体验

gptel 源码与 Emacs 包本身可独立安装,needsVPN: false 只描述工具入口,不保证每个海外模型 API 都可用。实际体验取决于所选后端、账户地区、网络、限额和模型延迟;也可以配置国内可用 API 或完全本地的 Ollama。密钥不要硬编码进公开的 init.el、dotfiles 仓库或聊天文件,优先使用 Emacs auth-source、加密的 authinfo、密码管理器或返回环境变量的函数,并限制配置文件权限。发送前检查本地文件、日志、客户数据和代码许可证,必要时关闭媒体跟踪、工具与 MCP。

优点

  • 与 Emacs buffer、Org、Elisp 和文本文件天然融合,透明度高。
  • 后端选择广,云端订阅、API 和本地模型可按任务切换。
  • 会话可保存、编辑和版本管理,不依赖封闭聊天记录格式。
  • 工具检查、前后钩子、请求内省与逐次确认提供了可配置的安全抓手。
  • GPL 开源且社区活跃,软件层没有席位费。

不足

  • 价值高度依赖 Emacs 熟练度,对非 Emacs 用户学习成本过高。
  • 它是客户端而非模型服务,质量、可用性、隐私与费用最终由后端决定。
  • 本地文件上下文、Elisp 工具和 MCP 权限配置不当,仍可能泄露数据或执行错误动作。
  • 多供应商 token 能显示,但统一货币成本、预算告警和企业账单需要另建流程。
  • 社区项目不等于商业 SLA,升级前需阅读 release breaking changes。

替代品对比

工具更适合主要差异
Claude Code终端 Agent 与仓库级任务更偏自主编码流程,模型与服务绑定更强
GitHub Copilot主流 IDE、企业席位和代码补全管理与 IDE 覆盖广,Emacs 可组合性较弱
Cursor希望开箱即用的 AI 原生 IDE多文件编辑更直观,但需切换编辑器
Ollama本地模型运行与 API 服务是推理后端,不提供 gptel 的 Emacs 交互层

常见问题 FAQ

gptel 本身收费吗?

不收费。gptel 是 GPL-3.0 开源包,但云 API、订阅后端和本地硬件由用户另行承担成本。

gptel 只能用于编程吗?

不是。它可在任意 buffer 中用于写作、摘要、翻译、研究和聊天;本站归入编程类,是因为 Emacs 集成和工具调用对开发工作尤其有价值。

把文件加入 gptel 后仍然完全本地吗?

只有使用本地后端时,请求才可能完全留在本机。连接云端后端时,所选文本、文件或媒体会发送给该供应商,应遵守组织的数据政策。

gptel 的 MCP 和工具调用安全吗?

它提供检查、确认与 hooks,但不会替你定义最小权限。对写入、命令执行、外部发送和删除操作,应使用白名单、人工确认、沙箱和日志。

API Key 应该放在哪里?

优先用 auth-source、权限受控的加密凭据或从环境读取的函数,不要把明文密钥写进会提交到 Git 的 Emacs 配置。v0.9.9.5 已避免 Curl 命令行暴露密钥,但静态配置泄漏仍需用户防范。

v0.9.9.5 升级时要注意什么?

检查默认 backend/model 为空、reasoning 默认处理、工具结果包含行为、自定义 backend API 与工具参数格式变化,并在生产配置上先做小范围回归。

总结

gptel 的优势不是替 Emacs 加一个聊天侧栏,而是把多模型请求、上下文、工具和会话变成可检查、可保存、可编程的 Emacs 对象。对现有 Emacs 用户,它比泛称“Emacs AI”更准确,也更容易评估。先选择一个低风险后端,用非敏感文件验证请求内省、重写和会话恢复;再启用只读工具,确认日志与成本后才开放写入或 MCP 动作。模型提供方负责推理服务,gptel 维护者负责客户端代码,而密钥、文件范围、工具权限和最终修改始终由使用者负责。

最后更新:2026年7月21日

同类工具推荐