外观
Emacs 社区日报 2026-06-02
约 2602 字大约 9 分钟
2026-06-02
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
🎯 核心热点与专题探讨
专题:Nix + Doom Emacs 的性能与隐痛
- 讨论焦点:用户“不要用nix doom emacs”直言其效果不佳,具体表现为“初次打开一个几k的中文文本就要花几秒”。
- 痛点:中文文本渲染延迟,可能涉及字体回退(fallback)问题。一位成员补充了Windows Emacs的历史经验:中文字体回退会搜索全部字体直至找到错误字体,建议手动设置中文字体。但此问题在Nix+Doom组合下是否已解决尚无定论。
- 其他观察:有成员问“任何扩展名的文件都是吗?emacs -Q下也是吗?”,暗示问题可能与配置冲突或Nix集成有关,而非Emacs核心。
专题:Emacs 调试中的撤销与状态回滚
- 讨论起点:成员提问“写一点再eval,如果遇到想撤销的功能怎么eval?”
- 解决方案探讨:
- 标准做法:
unmakunbound(解绑函数)、advice-remove、remove-hook。 - 最佳实践:“其实更好的方式是重启,很快。”但也得到响应:“看来还是无法避免要重启”。
- 更深层次:有成员指出“看你修改代码如何改变现有状态”,并给出了极端反例:
(obarray-clear obarray),此时必须重启。 - 官方工具:另一位成员推荐
M-x unload-feature,并提及库可定义unloader函数,引用自(info "(elisp) Unloading")。
- 标准做法:
- 核心启示:Emacs运行时调试虽有灵活方案,但基础状态(如symbol表、缓冲区对象)的不可逆修改往往只有重启才是正解,体现了“热加载”与“确定性”之间的取舍。
🔑 关键概念与技术解析
- Nix:一个函数式包管理器,使用声明式配置管理构建环境。在Emacs语境下,通常用于构建不可变、可复现的配置(如NixOS + Emacs),但本文讨论表明,其与Doom Emacs结合时,可能因缓存、字体路径或编译选项导致中文渲染性能问题。
- Doom Emacs:Emacs配置框架,旨在为Emacs新手提供“开箱即用”的体验。与Nix结合是高级用户常见的折腾方向。
- Skia:Google的2D图形库,常用于Chrome等浏览器。群里提到的“基于skia的GPU Emacs”指Arthur Heymans(e-wm)维护的实验性分支,旨在用Skia替换Cairo进行Emacs渲染(GPU加速),但构建复杂(需手动编译Skia库),且分支混乱(如skia vs Skia分支易混淆)。
unload-feature:Emacs内置函数,用于卸载指定功能及其相关定义,避免手动清除副作用。
💎 碎片知识与金句拾遗
- “你在好几个其他群也是吗?”—— Emacs 社交圈的交叉确认,顺便踢了个spam。
- “abo-abo 在乌克兰……之前是因为生了孩子,晚上没时间搞 emacs 了。现在乌克兰战火连天,具体情况就不知道了。”—— 对著名 Emacs 包作者(如 Lispy, Ivy)命运的感慨与平静的纪实。
- “可能都有个兰字,搞错了”(关于abo-abo是乌克兰人还是荷兰人的讨论)—— 群内地理玩笑。
- “噫俺不中嘞”—— 河南话表达“哎呀我接受不了”,与上下文调试困难形成黑色幽默。
- “claude code ide 支持 ghostel 的 pr 终于合了”—— 提及了一个具体的合并请求,Ghostel(可能指Emacs上基于文本的LLM前端或协议)进入了Claude Code IDE,说明AI编码工具正在纳入Emacs生态。
- 推荐的项目链接:
https://github.com/altermo/nvim-emacs-ui—— 一个将Neovim UI层重写以模拟Emacs体验的Neovim插件,体现了跨编辑器融合趋势。
🛠️ 值得深入研究的点 (Follow-up)
- Arthur Heymans的Skia Emacs分支:实验性GPU加速Emacs,构建文档需参考其INSTALL文件的第442行。潜在价值:解决中文渲染、高刷新率终端的性能。当前状态:构建挑战大,分支混乱。
unload-feature与自定义unloader:Emacs官方文档(info "(elisp) Unloading")—— 对于编写稳态Emacs包或进行运行时调试的开发者极其有用,可减少重启依赖。- Ghostel PR:在Claude Code IDE中引入基于Emacs的LLM交互支持。关注点:Emacs的AI前端是否正在被更主流的IDE(如VSCode/Claude Code)作为“插件革命”的原型反向吸收?
Emacs 轻聊讨论组
🎯 核心热点与专题探讨
专题:AI Coding Agent 的实用化困境与治理方案
背景: 群友围绕多个AI编程助手(Codex, Hermes, Opus等)的日常使用体验展开了深度讨论,揭示了当前工具的普遍痛点与前沿探索方向。
核心观点与痛点:
- 成本与计费模式争议: 多位群友抱怨 Codex 的 CLI 版在代码评审(Code Review)和多任务并行(subagent)场景下表现不佳,且其新的 Credit 虚拟币计费模式(按token计费)让用户感知不到实际消耗。有用户表示此前“100刀能用一个月”,更新后“第二天就没一半”。这反映了业界从固定订阅转向按量计费带来的成本焦虑。
- Agent 编排与权限控制的缺失: 讨论最激烈的是 Agent 的可靠性问题。一位群友分享了血泪教训:Opus 4.8 在远程 SSH 执行临时 Bash 脚本时,因变量为空导致
cd到家目录,最终误删了另一台机器的家目录。这引发了关于 Agent 权限控制机制的讨论。- 解决方案对比: 有群友推荐 Hermes,称其对敏感操作(如删除、ssh)有强制授权确认机制,比直接命令执行更安全。
- 深层思考: 问题根本在于 Bash 脚本的脆弱性(空变量问题),以及 Agent 无法准确识别“全局”敏感操作(如
rm -rf配合空路径)。
- 理想架构的探讨: 群友提出了两种高级抽象思路:
- DAG(有向无环图)编排: 引用港科大 trading agent 项目,认为应引入 DAG 来形成执行闭环,实现无可依赖任务的并行化与安全约束。
- Unix Pipeline 思想: 主张用 Pipe 思路组合不同的 Agent 工具(如用 GPT 做研究、DeepSeek 写文章),通过 CLI 脚本编排实现轻量级、可组合的工作流,但需要解决上下文传递与权限隔离问题。
结论: 当前 AI Coding Agent 在“省钱”、“抽象编排”与“安全防护”之间难以平衡。用户正在从“盲目使用”转向“批判性构建”,强调需要细粒度的权限模型与更稳定的底层抽象。
🔑 关键概念与技术解析
Subagent(子代理): 指在 Agent 框架中,由主 Agent 派生的独立执行单元。群友批评其在 Codex 中的实现:每次启动都重新扫描上下文,导致高 Token 消耗,而在 Claude Fan-out 中则相对轻量。实用场景是让便宜的模型(如小型LLM)执行无依赖的子任务(如搜集信息),而非核心编码。Credit计费模式: Codex 新引入的虚拟货币计费方式。本质是将 token 消耗转换为一个模糊面值的“信用点”,防止用户直接计算成本。群友调侃这是“防止你换算花了多少钱”的变相涨价策略。Vibe Coding: 指完全依靠 AI 大模型(如 Claude、GPT)生成代码,开发者只做极少量的手动干预和审查。群友评价这种现象“真不好看”、“很无趣”,反映了对完全依赖AI生产代码缺乏深度与控制的批评态度。Cumora: 由 yetone 开发的多 Agent 编排平台(目前处于 Waitlist)。其理念是在多个 Agent 工具之上提供统一抽象层,支持模型/工具的任意切换与组合,类似于“Agent 的 Docker Compose”。
💎 碎片知识与金句拾遗
- 关于 Emacs 与图形学:
neoemacs(基于 Rust +winit+wgpu) 有计划支持 WebGPU,而传统的 GNU Emacs 已有第三方项目pale为其添加 Canvas 支持。 - 关于浏览器 UI 变迁: 有人从
Arc换到Dia浏览器,但指出Dia打开网页比 Arc 慢,且其 AI 功能需要付费才能使用。有人看好非 Chromium 内核的 Ladybird 浏览器,但担心兼容性问题。 - 关于编辑器与输入法: Rime 输入法作者 佛振(佛振)是资深 Emacs/ Vim 双修用户,且是“键盘发烧友”。群友回忆其早年更偏向 Vim,但近年视频中常出现 Emacs。
- 关于 AI 生成代码的“锈化”:
pnpm项目的 Rust 重写被群友发现是由 AI 推动(“迅速的锈化了”)。这暗示了 AI 正在加速传统工具链的重构,但过程可能充满风险(如pacquet项目的频繁合并与提交)。 - 关于概率/统计的另类解释:
1.11 比 1.7 大,只能算一下好了—— 描述用计算器确认小数大小的无奈与幽默。 - 对 AI 协作的冷幽默:
大模型帮我写了 10000 行的 CSS,阿西吧...—— 一种对“过度依赖AI但丧失了控制感”的苦笑。
🛠️ 值得深入研究的点 (Follow-up)
- Agent 安全沙箱与权限模型: 研究如何为 AI 代理(如 Codex、Hermes)设计更安全的执行环境,特别是针对远程 SSH 命令的“路径空值保护”和“强制授权确认”机制。可以参考 Hermes 的设计。
- Cumora / Yetone 的 Agent 编排思路: 探究
cumora.ai如何实现不同 Agent 工具与模型的“插件化”切换和组合,其是否采用了类似 Unix Pipe 的流式架构。 - Neoemacs / Pale: 关注 Emacs 生态中通过 Rust 和 WebGPU 扩展图形能力的尝试。
eval-exec/neomacs与MonadicSheep/pale提供了在编辑器内进行硬件加速渲染的可能,非常值得图形编程爱好者跟进。 - 港科大 Trading Agent 项目: 寻找其论文或代码仓库,研究其基于 DAG 的 multi-agent 执行结构,看是否能为通用 AI 编排提供安全、可控的范式。
