外观
Emacs 社区日报 2026-05-18
约 3207 字大约 11 分钟
2026-05-18
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
🎯 核心热点与专题探讨
【专题】Emacs AI 集成进化:gptel 与 Codex 的深度整合
- 背景:群内围绕 Emacs 的 AI 编程前端
gptel展开了密集的技术讨论,核心是它如何接入 OpenAI 的 Codex API,以及由此引发的工程实践问题。 - 关键观点与进展:
- Codex 接入的突破:多位群友确认
gptel可以直接接入 OpenAI 的codex/responses端点,访问 gpt-5.2、gpt-5.3-codex、gpt-5.3-codex-spark 等模型。有人表示已将 GPT 5.3 Spark 作为日常模型替代 DeepSeek,并指出其额度单独计算。 - OAuth 认证的修复:讨论的核心是一个
gptel-openai-oauth-login函数的 Bug。群友详细定位到interactive声明中的类型错误(cl-find-if返回了(name . backend)的 cons cell,而非 backend 本身),并贴出了修复代码。这体现了群内对 Emacs Lisp 和gptel内部机制的深厚功力。 - 后端配置与远程使用:
- 有人尝试通过
cpa或newapi做反代,以解决codex网关黑盒问题。 gptel新增了对 TRAMP 的支持:通过 TRAMP 打开远程 SQL 文件后,C-c C-e会在远程机器上执行连接,而非本地。这是一项被评价为“高级”的功能。- 存在关于
ghostel(可能为gptel别名或类似工具)能否在 Emacs 内跳转到修改文件(“契合度”)的讨论,暗示了与 Emacs 工作流的整合是持续关注点。
- 有人尝试通过
- Codex 接入的突破:多位群友确认
【专题】Emacs 配置与工作流微调
- 背景:除了 AI 工具,群内还涉及 Emacs 日常使用中的配置调整与工具选择。
- 关键议题:
gptel/opencode的选择:有人因codex接入复杂而倾向于opencode,也有人坚持使用gptel并实现了深度集成。- TRAMP 的坑:群友反馈,由于 macOS 未安装 GNU ls,导致
C-x C-f无法正常打开远程文件夹。解决办法是brew install coreutils,并推测 dired 模式依赖了 GNU ls 的某些特性。 - 终端透明度与字体:有人使用带透明效果的 mac 自带终端(非 Emacs 内),并讨论其对眼睛的影响。字体选择上,
JetBrains Mono被提及。
🔑 关键概念与技术解析
- Codex:OpenAI 针对其代码生成模型(现多为 gpt-5.x 变体)提供的专用 API 端点。它不是单纯的 REST API,而是集成在 chatgpt.com 产品内的服务,通过 OAuth 流程认证。
gptel通过 OAuth 直接接入 Codex,可以绕过一些限制,使用到更前沿的模型(如 GPT-5.3 Spark)。 - gptel-openai-oauth:
gptel中用于通过 OpenAI 的 OAuth 设备流进行认证的后端类型。它允许用户直接用订阅 OpenAI (ChatGPT) 的账号来认证,而无需单独的 API Key。 - TRAMP:Emacs 中一个核心的远程文件编辑工具,支持通过 SSH、docker、sudo 等多种协议透明地编辑远程文件。本次讨论中,
gptel的 TRAMP 支持意味着当编辑远程 SQL 文件时,SQL Interact Mode 会在远程机器上执行,实现了真正的远程开发。 - Claude Code (CC):被 @vonfry 提及,指 Anthropic 推出的命令行编码助手,仅限其官方客户端使用,限制了类似
gptel的其他客户端接入。
💎 碎片知识与金句拾遗
- 关于 OAuth 网关的开放性:
**vonfry**: openai 订阅直接走的 oauth,而且似乎不怎么太管来源不是 codex。这解释了为何gptel能绕过一些限制。相比之下,“不像 claude,只允许 cc”。 - 项目维护者的响应速度:“
自带的,一个人提的feature request,周末就给弄了” —— 对gptel维护者响应 TRAMP 支持需求速度的赞叹,体现了硬核开源社区的活力。 - 量化交易的技术选型:“
做量化的哈哈” 和 “我知道jane street 用的ocaml” —— 简短的三言两语,透露出群友的职业背景和技术视野。 - 实用的 Emacs Debug 精神:群友详细贴出完整 backtrace,并自行分析出
gptelbug 的根源。这种“报bug就上完整堆栈和复现步骤”的行为是硬核开发者的标准动作。 - 屏幕推荐:“
27寸的AOC 4k 屏。虽然只有60Hz,但是写代码够用了” —— 来自群友的朴实硬件建议。随后有人提问“咋不入 5K 屏,显示效果更好点”,展示了追求高品质显示效果的不同意见。
🛠️ 值得深入研究的点 (Follow-up)
gptel的 TRAMP 模式集成:研究gptel如何使用TRAMP ADEVICE或类似机制,确保远程文件的 AI 交互(如 SQL 连接)在正确的远程主机上执行,而非本地。这为远程开发和容器化开发提供了极佳的实践参考。agent-shell(https://github.com/xenodium/agent-shell):一个被提及可以集成 ACP (Agent Communication Protocol?) 或类似 Agent 概念的 Emacs 包。对于想探索在 Emacs 内部调度和执行 AI Agent 工作流的人来说,是一个值得关注的项目。- GPT 5.3 Codex Spark 模型的实际表现:有人将其用作“
日常模型”并“代替 DeepSeek”。值得进一步测试其在实际编码、文档编写、代码审查等场景下的真实体验和费率,尤其是其“额度单独计算”的含义。
Emacs 轻聊讨论组
🎯 核心热点与专题探讨
专题:网络安全、勒索与防御实践
群内多位成员分享了自身或身边遭遇系统被黑、勒索的经历,形成了一场关于网络安全防御的深入讨论。话题从被勒索的过往教训,延伸到服务器端口的攻击防范策略。
- 痛点与教训:有成员回忆2015年因未配置防火墙导致被勒索一个比特币的经历;另一位成员则举例某公司被加密后,选择付费联系专家解密而非支付赎金。这揭示了小企业或个人开发者对网络安全配置的普遍忽视。
- 防御方案:针对云服务器对外端口暴露的风险,提出了具体的操作实践:
- 日志监控与IP封禁:必须定期查看日志,对于登录失败的IP执行严格的惩罚规则(如3次失败尝试永封IP)。
- GEOIP拦截:若无跨国业务需求,推荐引入商业级GEOIP的MMDB数据库,通过在Nginx层面配置规则,直接拦截所有国外IP的访问,大幅减少攻击暴露面。
- 云服务商面板兜底:即使不小心封锁了自己的IP,云服务商也通常提供后台VNC或管理面板,可以避免被自己锁死在外。
- 结论:群友的核心共识是“防护在于细节,宁可误杀不可轻视”。通过主动的、自动化的IP黑名单机制(从应用层到网络层),是抵御自动化扫描和爆破攻击的有效手段。
专题:软件生态与开发工具讨论(效率与代价)
聊天记录中有两条看似独立的抱怨,但共同指向了开发效率与安全/性能权衡的核心矛盾。
- C编译速度 vs. Rust:一位开发者吐槽Rust编译速度慢,幻想如果能像Golang一样快就好了。随后引发讨论,群友指出Go编译器负担小,C编译器也相对较快。Rust的慢被认为是“safe的代价”——即为了提供更高级的内存安全保证和零成本抽象,编译器必须进行更多的静态分析和代码生成。
- Claude使用限制:另一成员抱怨Claude API(“5h打满也就36%左右”)以及“买了浪费”,暗示了当前大语言模型在token消耗和实际使用率上的“价值黑洞”。这揭示了高级开发者对LLM工具的认知:虽能提效,但需要在成本(经济/时间)与收益间精确取舍。
- 思考:从“编译速度”到“API使用率”,本质上都是“资源换取价值”的博弈。Rust用编译时间换运行时安全,C用速度换灵活,LLM用金钱/配额换开发提效。群友的纠结反映了硬核开发者对效率的极致敏感和对“付出”的冷静评估。
专题:Neomacs开源项目与社区协作
群聊后半部分出现了一个具体的开源项目协作邀请,围绕 neomacs(一个基于Rust的Emacs实现)展开。
- 协作号召:参与者呼吁将浪费的Claude配额用于为
neomacs提PR。具体任务是增加测试覆盖率,暴露neomacs与GNU/Emacs在行为上的不一致之处。 - 项目细节:项目名为
eval-exec/neomacs,其测试仓库位于 GitHub。测试代码使用Rust编写,侧重于通过Oracle测试对比行为差异。 - 意义:这展示了硬核社区的技术活跃度以及对编辑器正统性的追求。不仅是简单的贡献代码,更是通过自动化测试来“追平”一个历史悠久的编辑器(GNU Emacs)的细节行为,是一项对精确性要求极高的工程。
🔑 关键概念与技术解析
- Passkey:一种无密码认证技术,用户可通过生物识别(指纹、面容)或设备PIN码快速登录。不同于传统密码或短信验证码,Passkey基于公私钥加密,私钥存储在用户本地设备上。群友提及“绑定 passkey 设备就不用短信了”,正是讨论如何替代不安全的短信验证码进行账户登录。
- GEOIP MMDB:MaxMind的GeoIP2数据库文件格式(.mmdb),用于根据IP地址判断地理位置。在防御场景中,通过Nginx等Web服务器加载此类商业数据库,可以精确地按国家代码拦截流量,是避免暴力破解的常用手段。
- Neomacs:一个用Rust语言重写Emacs核心的现代编辑器项目,旨在兼容GNU Emacs强大扩展性的同时,利用Rust的性能和安全性优势。当前项目侧重于通过Oracle测试验证与原始Emacs的行为一致性。
- 5hx2 / 36%:结合上下文,这很可能指的是大型语言模型(如Anthropic Claude)的API配额或速率限制。“5h”可能指5小时内的调用窗口,“打满也就36%”表示即便在5小时内密集使用,最多也只能用掉36%的配额,暗示API的并发或调用频率有严格限制。
💎 碎片知识与金句拾遗
- 触摸板排障的硬核命令:当触摸板疑似故障时,第一条诊断命令是
cat /proc/bus/input/devices。此命令可以列出系统所有输入设备,通过检查输出中是否包含类似“TouchPad”的设备名,来判断问题是在硬件层还是内核驱动层。 - 硬件吐槽:“ThinkPad T14 agen2的屏幕还是比不上MacBook Pro哇,屏幕有点发灰和亮度比较低 最多400nit。” 这是一条非常具体的硬件体验对比,指出了联想高端商务本与苹果在屏幕素质(色准、亮度)上的代差。
- 充电器价格鄙视链:围绕安克160W充电器(600元)的购买纠结,群友立刻指出“绿联160W刚看了下199元”。这是一个典型的“品牌溢价 vs 性价比”的现实参考:功能相似的快速充电器,品牌差价可达3倍。
- 生存状态速写:“3点凌晨准时醒来🥲” 和 “Claude浪费了” 这两条记录,不加修饰地勾勒出一只夜猫子开发者的疲惫与资源焦虑,极具真实感。
🛠️ 值得深入研究的点 (Follow-up)
- Neomacs项目与Oracle测试:建议关注
eval-exec/neomacs项目的neovm-oracle-tests子模块。对于Emacs爱好者或Rust开发者,可以研究如何利用此类Oracle测试(将目标程序输出与一个已知正确的“神谕”对比)来验证编译器或运行时实现的一致性。这是开源项目中一种高级测试方法论。 - GEOIP-基于Nginx的IP自动封禁配置:虽然群友提到了Nginx+商业MMDB的方案,但值得进一步研究开源的替代方案(如
nginx-http-geoip2模块结合免费的GeoIP数据库),并编写自动化脚本,将频繁失败的IP动态加入黑名单,形成简易的IPS(入侵防御系统)。
