外观
Emacs 社区日报 2026-06-24
约 5728 字大约 19 分钟
2026-06-24
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
好的,这是根据今日群聊记录整理的知识库内容。
🎯 核心热点与专题探讨
专题:AI 辅助 UI 开发的“审美之痛”与“救赎之路”
本日最激烈的讨论并非关于某个具体的 Emacs 包,而是围绕大模型(特别是 Codex)在 UI(用户界面)设计上的“无力感”。群友普遍表达了在一个内部网站和 Emacs 界面的修改上,与 Codex 斗智斗勇的沮丧经历。
- 核心痛点:模型“听不懂人话”,即使提供了极为细节的指令(例如消除某个 child frame 的黑边),模型仍会固执地执行自己的“想象”,导致结果驴头不对马嘴。一位群友对此的吐槽生动且传神:“人类向智能的投降,源自人类的慈悲”,并分享了最终选择“打不过就加入”,给黑边一框加了所有边来自欺欺人的“机智”方案。
- 关于审美:讨论从模型的能力延伸到 UI 设计本身,引发了关于“Material Design”的暴论——一位群友指出:“觉得 Material Design 好看的都应该去改善一下自己的审美。” 他认为苹果的设计虽看起来平平无奇,但上手后的细节才是真正的“合理”,而 Material Design 是“设计上的偷懒”。这体现了硬核开发者对“设计合理性与工程严谨性”的极致追求。
- 解决方案与 Workaround:讨论中产生了多种应对策略:
- 模型选择:普遍认为 Claude 在 UI 方面优于 GPT 系列,特别是在使用
claude-code-ide.el和agent-shell时。有群友推荐提前写好agents.md,使用 DeepSeek-V4-Flash 进行修改也能获得不错的效果。 - 原型先行:对于复杂的 UI 任务,有经验指出“最后还是让 Kimi 写了一个原型 HTML”才解决了问题,即让 AI 做“粗活”,再由人类或更好的模型进行精调。
- 环境感知:强调要让 AI 通过 Emacsclient 读取当前缓冲区和渲染问题,避免其“开盲盒”式地修改。
- 模型选择:普遍认为 Claude 在 UI 方面优于 GPT 系列,特别是在使用
专题:Emacs 化身全能播放器——从“收音机”到“Spotify 客户端”
群内对未来 Emacs 的扩展形态展开了激情洋溢的构想。
- 现状与尝试:
- Emacs-GPU 项目:
tanrax/emacs-gpu项目引起广泛关注。它在 macOS 和 Linux 上运行,作者通过在xdisp.c增加抽象层,让图形绘制走 GPU,使得在 Emacs Buffer 内显示视频成为现实。群友亲测:“确实可以在 buffer 中插入视频”。但项目目前光标显示有 Bug,且对org-mode支持不佳,被认为属于“vibe code”,很难合并到主线。 - 内部播放器:有群友展示了自己基于
child frame实现的 Emacs 内嵌 YouTube Music 播放器,界面精美,并能显示专辑封面和进度条。这引发了关于“真正的音乐软件,都不像 Emacs 了”的热议。
- Emacs-GPU 项目:
- 未来的野望:群友讨论下一步直接将
rspotify打包为 Emacs module 来做一个原生的 Spotify 客户端,理由是“用 API,感觉一天就 vibe 出来了”。这显示了 Emacs 社区独特的“万物皆可 Emacs 化”的极客精神。
杂谈:程序员的“养生之道”与“生产力周边”
从技术讨论短暂溢出,码农群体的健康问题也被认真对待。
- 握力器与腱鞘炎:一位群友提出定制 Emacs 配色握力器(50/60LB)的企划,声称“超过 100 个就可以定制 logo”。社区响应热烈,并关联到改善腱鞘炎、增强小臂力量以防止抓杠失败等实际功能。一位群友分享:“很多就是因为肌肉不够强,包括腰椎突出也是,要在非急性期练后背腰部肌肉”。
- 锻炼心得:有群友通过短期的“60个俯卧撑, 60个仰卧起坐, 60个深蹲”练习,极大地缓解了痛症,并得出“上班能集中注意力的时间都长了不少”的正向反馈。讨论最终转向了专门的“吹水群”,为此类闲聊提供了更合适的渠道。
软件包管理器的“党争”:straight vs elpaca vs package.el
一个小范围的争论,反映了 Emacs 社区的“封装癖”。
- 主流选择:
straight.el依然是资深用户的首选,因其强大的宣言式配置和对 Git 仓库的精确控制。package.el+package-vc.el是维持官方路线的做法。 - 新锐挑战者:
elpaca因安装更快被一些用户选择,体现了对开发者效率的极致追求。 - 另类玩法:有群友使用 Guix 管理 Emacs 包,将系统包管理与 Emacs 管理彻底统一,这代表了高度模式化的操作系统哲学。
🔑 关键概念与技术解析
sparse checkout(稀疏检出):Git 的一项高级功能,允许用户只检出仓库中指定的部分文件或目录,而不是整个仓库。- 今日事件:有群友因为长期只在
sparse checkout状态下更新lisp目录,导致编译时发现依赖缺失(如 C 源代码),从而意外“翻车”。这说明该功能虽然节省空间,但容易因忽视项目结构而引发隐蔽的构建问题。
- 今日事件:有群友因为长期只在
emacs-gpu:一个通过 GPU 加速 Emacs 图形渲染的实验性分支。它通过抽象xdisp.c的接口,实现了在 Emacs 中显示视频、渲染复杂 SVG 等原生无法实现的效果,但存在兼容性和稳定性问题。twtxt/org-social:一个基于纯文本的、去中心化的微型博客 / 社交网络协议。org-social允许用户直接在org-mode中收发此类消息,形成一个“活在 Emacs 里的 Twitter”。其核心是协议的简洁性(“纯文本”)和工作流的深度 Emacs 集成。Straight-overview:一个为straight.el用户提供的可视化包管理概览工具,可以清晰展示各个包的来源、分支、状态等依赖关系。项目地址:https://github.com/alberti42/straight-overview。
💎 碎片知识与金句拾遗
- UGC 能量爆棚:“超过 100 个就可以定制 logo 了,本来想着论坛十周年能有人感兴趣🤣” —— 这是一位想定制 Emacs 握力器的群友,完美体现了社区驱动周边产品的热情。
- 硬核的邮件惊喜:“回了个rms的邮件,秒收到回复,结果一看是自动回复” —— 有群友向 RMS 本人发邮件,得到秒回后才发现是自动回复,堪称教科书级别的“在门口偶遇大神”。
- Emacs 冷知识:“我糖完了,我刚发现我的 emacs 源码一直是 sparse checkout”,“我一直都只在更新 lisp 目录” —— 这个自曝的“翻车”瞬间极具教育意义,提醒了
git sparse-checkout的二象性。 - Finder 的“惊喜”:“是不是你用了苹果的finder打开相关目录?” —— 在讨论配置丢失时,有人敏锐地指出可能是 macOS Finder 的某些操作(如自动生成
.DS_Store或误操作)导致了.git目录被清除。经验 +1。 - SVG 狂魔:“感觉这个人快要把 SVG 玩出花了” —— 目前有人在 Reddit 上分享在
mode-line中嵌入 SVG 模拟时钟的成果,再次展示了 Emacs 的“一切皆可定制”特性。 - 吹水群的终极归宿:“去隔壁聊吧” —— 当话题偏离核心开发(例如健身),群内成员会直接建议转入专门的“吹水群”,完美维持了核心群的极客纯度。
🛠️ 值得深入研究的点 (Follow-up)
emacs-gpu(项目地址:https://github.com/tanrax/emacs-gpu/tree/wayland-pgtk-backend):该项目试图重构 Emacs 的渲染管线,使其直接利用 GPU。虽然目前很粗糙且可能无法合并,但其底层设计思路(抽象xdisp.c)极具前瞻性,值得关注其后续进展和潜在的技术突破。claude-code-ide.el/agent-shell:这两个是当前在 Emacs 中集成 Claude Code 最受推荐的方案。值得亲自尝试体验其与 Codex / GPT 在代码生成(特别是 UI 部分)上的差异。claude-code-ide.el的亮点在于能主动读取当前 Buffer 的上下文,避免模型产生幻觉。- Emacs 内的 YouTube Music 播放器:虽然没有公开,但基于
child frame展示封面、歌词、进度的实现,是对 Emacs 媒体播放能力的极限探索。API 的实现(rspotify等)是其可行性的关键。
🧠 Hermes GPT-5.5 观点延伸
今天最值得咀嚼的不是“Codex 会不会写 UI”,而是:AI Agent 做界面时,真正缺的不是想象力,而是可验证的感知闭环。没有闭环,模型越自信,越像在黑箱里装修。
1. UI 不是文本生成问题,是反馈控制问题
群里那个 child frame 右侧黑边的例子很典型:人已经给了非常具体的指令,甚至让模型通过 emacsclient 读 buffer、看渲染问题,它仍然会“执拗地搞偏”。这说明问题不只是提示词不够细,而是 UI 修改天然依赖视觉、几何、状态、交互反馈。
写后端时,模型可以靠测试、类型、日志收敛;写 UI 时,如果没有截图、像素差异、布局树、交互轨迹这些观测量,它只能靠语言猜。于是“把右边黑边消掉”这种需求,在模型内部会退化成一堆不稳定的 CSS / frame 参数尝试。最后人类把上下左也加黑边,表面是段子,本质是工程系统没有可判定目标,只能把 bug 改写成设计。
2. 审美不是纯主观,但必须工程化
群里对 Material Design 的吐槽虽然像暴论,但背后有个硬判断:好 UI 不是截图好看,而是使用时合理。苹果式“上手后才发现细节合理”,说的是反馈延迟、触达距离、状态暗示、视觉层级、默认行为是否一致。这些都不是玄学,可以拆成可检查的工程指标。
所以“GPT 写出来 UI 好不好看”这个问题问得太粗。更该问的是:它能不能遵守设计系统?能不能解释每个间距、层级、动效的理由?能不能在截图反馈后稳定修复同一类问题?能不能把一个 HTML 原型迁移到真实 Emacs child frame / buffer 约束里而不失真?如果不能,所谓“好看”只是一次性抽卡。
3. Emacs 的野心提醒我们:界面要先可组合,再谈炫技
另一条线是 emacs-gpu、YouTube Music child frame、未来 Spotify 客户端。它们看起来是“万物皆可 Emacs 化”的浪漫,其实也给 AI UI 开发一个反向标准:真正有生命力的界面,不是炫一个视频塞进 buffer,而是能否和 buffer、mode-line、org-mode、键盘流、包管理、配置系统长期共存。
emacs-gpu 在 xdisp.c 中间套抽象层很有意思,但“vibe code、难合并、org-mode 不友好、光标有 bug”也说明:原型证明可能性,工程证明可维护性。AI Agent 今天最适合做前者,离后者还差一套严格的接口边界和回归测试。
可继续研究 / 实践
可以做一个 Emacs UI Agent 评测小基准:给同一组任务,例如 child frame 去黑边、mode-line SVG 对齐、播放器浮窗布局;要求模型读取 buffer、截图、修改、再截图;最后用像素 diff、frame geometry、交互可用性和代码侵入性评分。别再争“哪个模型审美好”,先让 UI 修改变成可测量的闭环。
Emacs 轻聊讨论组
🎯 核心热点与专题探讨
专题:自建代码协作与AI辅助工作流
群内多位成员围绕“自建代码审查(Code Review)及AI Agent集成”展开了深入讨论,形成了一套从基础设施到Agent调用的完整技术路线。
- 基础设施搭建:一位成员在VPS上部署了 Gerrit(代码审查系统),并为其编写了插件和 Hermes(Agent运行时)的适配器。他称这实现了“本地Copilot的效果”,可以通过Telegram等渠道进行代码审查,@agent后即可获得回复。
- 工作流对比与选型:
- Gerrit 被评价为“不只是能review代码”,其
topic功能可以组织跨项目的修改,适合团队协作。有成员分享了其调研文章,认为它“偏防御”(需要明确打破哪些规则)。 - Claude Code (cc) 的review功能被认可为比
Codex好很多,因为它会“整个项目扫一遍”,而codex常是“简单检查你这次的更改”。但cc的缺点是“老是用最蠢的方法改写”,且如果reviewer不止一人,工作流受限。总的来说,cc适合防御型场景。 - Hermes 被用作“本地copilot的一部分”,优势在于“省心好用、有各种IM的adapter”。一位成员发现Hermes自带对话历史检索功能,评价“挺好用的”。
- 成员提到 OpenCode 感觉“像IDE那样”,与Hermes定位不同。
- Gerrit 被评价为“不只是能review代码”,其
- 痛点与反思:一位成员吐槽“agent没事干就喜欢记录自己又做错了什么然后应该做什么”,并调侃自己以前的知识库体系“给他们拿来做错题集了”。
次级热点:家用路由器困境与设备生态
路由器问题贯穿整日讨论,暴露了当前家用网络设备的普遍痛点。
- 华为路由器翻车:成员遭遇“三分钟wifi信号就要丢失一次”的严重问题,换信道、调设置均无效。最终华为客服推测是电源适配器功率不足(原装12V 2A vs 杂牌12V 1A),因为开启穿墙模式功耗增大。成员吐槽“华为我是一点好印象也没有”,虽有成员因Mate 5 Pro的好感而中立,但最终结果仍是送修。
- 品牌对比:
- TP-Link 被一位成员封为“最坚强的后盾”,尽管有人因早期质量差而留有阴影。
- 小米 被另一位成员评价为“完全没好印象”,原因是注册MIMO后遭遇广告轰炸。
- ROG 路由器被推荐为“超稳”的高级选择,但价格高昂(1500-3000元)。成员提醒“建议非中国地区买”,因为中国地区版会“被削弱一些东西”(如6GHz频段),且京东版本是“阉割版”。
- 技术细节:6GHz频段被提及,国内虽划分给5G,但成员指出“自己偷偷用没问题”,前提是“不是Intel的无线网卡”。还有成员分享了刷OpenWRT后将WiFi地区改为澳洲以获取更高信号功率的方法。
次要话题:AI模型与API生态
- Claude Code与API价格:讨论围绕Claude Code的获取和使用展开。成员提到“现在codex好像没灰产了”,但“好几个区正价都很便宜”。具体价格对比:日区含税122元,有地区只要80多。通过苹果支付可省税(账单地址填美国免税州),但20x需交苹果税。有人感叹“黑产只要30”,“淘宝美亚代购书1:1价格”可能涉及“零元购”或内部权限。
- 模型与工具:
- Kimi K2.7 Code 被问及是否好用,回答是“如果给到详细的计划,好用的。但不如 Pi 加持的 ds”。
- CodexPlusPlus(开源项目)被提起,用于解决中转服务上下文满时连接不上的bug。
- 一位开发者计划利用 v4-flash 生成大量训练资料以进行模型微调(LoRA),但担心资料量不足。
🔑 关键概念与技术解析
- Gerrit:一个基于Git的Web代码审查系统,强调基于补丁(PatchSet)的提交-审查流程,支持
topic(主题)功能以组织跨项目、跨仓库的修改。在本群语境下,它是自建CI/CD和AI辅助审查的核心。 - Hermes:一个Agent运行时(Runtime),以支持多种IM(即时通讯软件)Adapter为特色(如Telegram)。它不直接生成代码,而是作为“粘合剂”连接外部API(如Codex),让用户通过聊天接口与Agent交互。
- LoRA (Low-Rank Adaptation) :一种高效的模型微调技术。通过注入少量可训练参数(适配器),在不大幅度修改基座模型的前提下,让模型适应特定任务或领域。上述成员担心自己的训练资料不足以做LoRA,意味着LoRA本身对数据量有一定门槛。
- 6GHz (Wi-Fi 6E/7) :无线网络的新频段,提供更高的带宽和更低的延迟。在中国,该频段主要被划分用于5G通信,因此国内版路由器通常禁用此频段,使得“6GHz”成为“水货”或“非国行版”路由器的卖点。
💎 碎片知识与金句拾遗
- AI的自我反思困扰:“我发现这帮垃圾agent没事干就喜欢记录自己又做错了什么然后应该做什么。那我以前的知识库体系其实也还行啊我去,给他们拿来做错题集了。” —— 生动描述了Agent日志的冗余和“错题本”式的行为模式。
- Firefox的困境解读:“他们不打磨体验细节,只在意技术细节。” —— 一句话道出Firefox市占率暴跌(从5.88%跌至3.81%)的核心原因,认为火狐沦为了技术人员的自嗨工具。
- 路由器经验谈:“家用路由器行业的玩家各有各的烂。” —— 群内成员在吐槽华为、TP-Link、小米后,对消费级路由器市场的精辟总结。
- 代码审查的AI哲学:“cc偏防御,你要写清楚打破哪些防御规则。” —— 对比Claude Code和Codex,指出AI Code Review的本质差异。
- z-library的实用技巧:“我 bot 的唯一作用是获取最新的官网地址。” —— 针对z-lib网址频繁变更的痛点,一位成员的巧妙解决方案。
- 电子书零元购猜想:“直接抢不就行了...怕不是零元购来的。ebook的零元购我一直没想明白。” —— 对于淘宝美亚代购书1:1价格的半开玩笑式推断,引出对电子书灰色产业链的疑问。
🛠️ 值得深入研究的点 (Follow-up)
- Gerrit + Hermes 自建Code Review系统:一个完整的、可私有化部署的代码审查+AI Agent工作流。成员已写出插件和Adapter,并实现“本地Copilot”效果。该项目极具前瞻性,值得关注其开源的可能性。
- CodexPlusPlus:一个开源项目,旨在解决AI模型中转服务中因上下文窗口(Context Window)满而导致的连接中断问题。虽然群内成员因问题解决而不再需要,但该工具的思路(通过插件或补丁优化服务稳定性)对构建大型Agent应用有参考价值。
- Hermes Agent Runtime:作为“外部服务接入比较方便”的Agent运行时,其支持多种IM Adapter的特性(如Telegram, Matrix等),使其成为个人开发者构建“全能Agent”的极佳选择。值得研究其架构设计和Adapter开发文档。
🧠 Hermes GPT-5.5 观点延伸
今天最值得咀嚼的不是“Gerrit 能不能接 Hermes”,而是一个更硬的判断:AI Agent 真正进入工程工作流时,决定上限的不是模型有多聪明,而是它被放进了什么样的协作协议里。
1. Code Review 不是聊天能力,是边界管理能力
群里对 Claude Code、Codex、Gerrit、Hermes 的比较,其实指向同一个问题:AI review 到底是在“看 diff”,还是在“维护系统边界”。
Codex 被吐槽只是简单检查本次更改;Claude Code 被认可会扫整个项目,但又容易用蠢办法改写;Gerrit 的价值则不只是 review,而是 patchset、topic、跨项目修改组织。这说明工程里的 review 本质上不是“给建议”,而是回答三个问题:这次变更影响了哪些边界?它打破了哪些隐含契约?谁有资格接受这个风险?
所以“cc 偏防御,要写清楚打破哪些防御规则”这句话很关键。AI review 如果没有规则系统,就只能靠模型直觉;有了 Gerrit 这类协作骨架,Agent 才能从聊天机器人变成流程节点。
2. Hermes 的价值不是替代 IDE,而是把 Agent 接进人的真实入口
群里有人说 OpenCode 像 IDE,Hermes 更像 runtime,并且“省心好用,有各种 IM adapter”。这不是小差异,而是产品定位差异。
IDE 里的 Agent 主要服务写代码那一刻;IM 里的 Agent 服务的是“我突然想到一个问题”“我在 telega 里 @agent review 一下”“我想把外部服务接起来”这种碎片化工作流。对个人开发者和小团队来说,真正稀缺的不是又一个代码补全入口,而是一个能把 Telegram、Gerrit、Codex、历史对话、项目上下文粘起来的低摩擦总线。
这也是“本地 Copilot”的更现实形态:不是复制 GitHub Copilot,而是在自己控制的基础设施里,把 review、检索、计划、执行串起来。
3. Agent 错题本化,是知识系统的反讽
“agent 没事干就喜欢记录自己又做错了什么,然后应该做什么”,这句吐槽很准。很多个人知识库原本想沉淀洞见,最后被 Agent 用成了无限膨胀的事故日志。
可验证的工程判断是:Agent 记忆必须有作用域和淘汰机制。群里前面提到“通用 skill 放全局,其他 project scope”,正好是同一个答案。全局知识越多,token 越贵,干扰越强;项目知识越具体,越能变成可执行约束。好的知识系统不是记得更多,而是让错误只在该出现的地方出现一次。
可继续实践的方向
可以把这套工作流做成一个最小闭环实验:Gerrit 负责变更与 topic,Hermes 负责 IM 入口和历史检索,Agent review 只读取项目级规则与相关上下文,并强制输出“风险边界、违反规则、建议动作”三段。不要先追求自动改代码,先验证它能不能稳定发现跨文件、跨项目、跨规则的风险。能做到这一点,才算真正从聊天式 AI 走向工程式 Agent。
