外观
Emacs 社区日报 2026-07-03
约 5982 字大约 20 分钟
2026-07-03
自动整理自 Telegram 讨论组,每天更新。内容为 AI 摘要,仅作信息索引与回顾。
Emacs 中文讨论组
好的,以下是基于提供的聊天记录整理的知识库。
🎯 核心热点与专题探讨
本周群的讨论焦点相对分散,但在几个技术痛点与工具选择上形成了较为深入的探讨。主要可分为三个方向:Windows 下 Emacs 的终端与中文编码问题、轨迹球/分体键盘的人体工学与效率之争,以及 TTS (文本转语音) 项目的本地化窘境。
专题:Windows 下 Emacs 的“生存指南”
群里多位用户(尤其是 zdn)在使用 Windows 版 Emacs 时遇到了典型的兼容性问题,而群友的解决方案也展示了很强的 Hack 精神。
终端困境 (ghostel vs vterm)
- 问题:
zdn在 Windows Emacs 中使用ghostel时,遇到方向键(如<down>)在某个终端程序(pi)中无响应的问题。切换ghostel的semi char mode无效,且claude code无此问题。他感叹“对 emacs 里面使用终端有点伤心”。 - 解决方案: 有群友推荐了
emacs-libvterm,并指出可以利用其 GitHub Action 在 Windows 上编译出动态链接库(dll),配合上游的 Elisp 文件使用。 - 观点: 另一位用户则分享了使用
msys2环境下的vterm作为默认选择。
- 问题:
中文编码乱码:Git 的锅
- 问题:
zdn遇到magit、dired和compile等插件中出现中文乱码,尤其是magit的乱码让他“接受不了”。 - 排查与解决:
- 首先,他怀疑是 Windows 系统的 locale 问题,并设置了很多环境变量,但无效。
- 在
dired中,他发现是使用了系统的ls命令导致乱码,换回ls-lisp才解决。 - 最终,对于
magit乱码,群友指出“这个是 git 的问题”,并建议修改core.quotePath配置项。zdn验证后确认:“你是正确的,就是这个的问题”。这引发了一句有趣的评论:“这次竟然不是windows的锅”。
- 问题:
专题:输入设备的人体工学困境
关于轨迹球和分体键盘的讨论贯穿全天,主要围绕“小尺寸 vs 大尺寸”、“轨迹球 vs 触摸板”以及“单手多任务操作”展开。
“小就是好”的悖论:
- 反对派观点: “那就难用啊,就和小的触摸板难用是一样的,手指要多移动... 球变小,你手指移动的范围也会小,要么你损失精度。” 认为轨迹球就是“最省力最舒服”的,球太小就没意义了。
- 支持派观点: “有高精度模式,键盘上加个层就行了”。认为可以通过配置(如键盘层)来弥补物理尺寸带来的精度损失,是一种肌肉记忆的问题。
- 结论: 两种观点没有高下之分,本质上是“物理直觉”与“通过软件技巧解决问题”两种思维模式的对立。
轨迹球的神操作与单手困境:
- 针对“是否能用单手同时操作轨迹球和滚轮”的讨论。
- 有用户描述了“食指和中指控制球,无名指可以转滚轮圈”的高阶操作,认为理论上可以“同时”,但实际是“一个动作完成了接一个动作,只是间隔很短”。另一位用户反驳:“单手操作的时候同时干这两件事多少有点挑战手指灵活度了”。
- 有用户指出,分体键盘中间空出的空间,放置一个独立的“鼠标或者触摸板,都比键盘上自带的好得多”。
专题:TTS 项目的本地化之难
zdn 分享了他从零用 C++ 写一个高效 TTS 前端的经历,揭示了当前 AI 应用在个人设备上落地的真实痛点。
- 初衷: 想要一个“能发读音的接近人声的、能断句的”本地 TTS 方案,因为在 Linux 上“没有好用的”。
- 遇到障碍: 从使用 Google 的分词器模型,到发现“模型套模型,效率也低”,最终意识到“还是走云服务啊”。
- 核心痛点: “个人电脑根本不可能部署的了这些大模型应用... 资源占用太夸张了”,而且指出 AI 模型会“污染开发环境”(特别是在 Windows 上无 Docker 环境时)。
- 出路探索: 发现了一个名为
kokoro的小参数模型,特点是“传统的前后端分离类的模型,前端文本转 ipa,后端根据 ipa 生成音频”,且“能自己改音调什么的”,认为是未来值得研究的方向。
🔑 关键概念与技术解析
ghostel: 一个 Emacs 包,旨在为 Emacs 提供一个原生的终端模拟器外壳(Emacs 的内置终端替代品)。它在 Windows 上尤其值得关注,因为它相对于term或vterm提供了更好的兼容性和体验。UnblockNeteaseMusic: 一个开源项目,原理是“去其他地方拉取歌曲”,从而解锁网易云音乐中被灰化(因版权问题下架或无法播放)的歌曲。它可以被整合进第三方网易云音乐客户端。mouse-drag-and-drop-region-cross-program: Emacs 的一个特性变量,启用后允许用户通过鼠标拖拽的方式将文本从一个 Emacs 窗口拖拽到另一个 Emacs 窗口,甚至拖拽到外部程序。群友认为这个功能的实现颇为复杂。consult-gh: 一个 Emacs 包,基于consult框架,提供了便利的 GitHub 交互接口,例如快速搜索和浏览仓库、Issues、PR 等。群友评价“意外好用”。telega-capf-quick-reply: 这是telega(一个 Emacs 的 Telegram 客户端) 的一个组件,用于在编辑模式下通过快捷键快速插入预设的回复模板或私聊回复。core.quotePath(Git 配置): 一个 Git 配置项,控制 Git 是否在输出文件路径时对非 ASCII 字符(如中文字符)进行引用转义。当设置为false时,可以解决部分 Emacs 插件(如magit)在 Windows 下显示中文路径的乱码问题。SlimBlade Pro/Ploopy/charbdis: 这些都是轨迹球或分体键盘的品牌/型号。SlimBlade以其无物理滚轮设计著称(可通过旋转球体替代),Ploopy则是开源轨迹球,鼓励 DIY。charbdis是内置轨迹球的分体式键盘。
💎 碎片知识与金句拾遗
- AI 辅助包管理: “我让GLM帮忙打了个最新版的ghostel到自己的Guix Channel上” —— 展示了利用大语言模型自动化完成软件打包到特定发行版包管理器中的新玩法。
- Emacs 插件生态的动态: “这个作者的包都好复杂,之前试过
consult-omni”,反映了当代 Emacs 包有向“大而全”方向发展的趋势。 - “高级汇编语言(C 语言)”: 一位群友调侃道:“所以大学里都是从计算机组成开始学的... 就能理解高级汇编(C 语言)了。”
- 对 ChatGPT Web 端的吐槽: “每次输入框要resize的时候,都要卡10秒”,直接点出了 OpenAI 官方前端性能的低下,这也是为什么群友“很想能在 emacs 里面用 chatgpt”的深层原因。
- 输入法选择的哲学: “到底是我适应输入法还是输入法适应我啊(”—— 一句对输入法(甚至广义上所有工具)的哲学叩问。随后的回答是:“把码表背下来,谁也不用委屈谁”。
- 字体审美体验: 当群友首次推荐 IBM Plex 字体时,
zdn发出了如数家珍般的感叹:“仿佛看到了原子弹爆炸... 在那一刻,我意识到我之前用的字体只是权宜之计”。—— 这就是极客眼中的“字体美学”。 - 神秘的内存泄漏: “有触发条件的内存泄漏复现不出来啊,难受啊”—— 这是所有深入底层开发的程序员的共同噩梦。
- 屏蔽 Telegram 赞助广告: 群友分享了在
telega中屏蔽官方 Sponsor 消息的 Lisp 代码片段:同时还提到了(define-advice telega-chatbuf--sponsored-messages-fetch (:override (&rest _) dont-fetch-sponsor-a))telega-adblock-mode(在contrib目录里)。
🛠️ 值得深入研究的点 (Follow-up)
OmniRoute: 一个出现在聊天记录头部的 GitHub 链接 (https://github.com/diegosouzapw/OmniRoute)。虽然未被深入讨论,但其“Omni”的命名暗示它可能是一个与网络路由或设备连接相关的全能型工具,值得一看。kokoroTTS 模型:zdn提到的一个“模型参数特别小”、“传统的前后端分离”的 TTS 模型。对于那些想在本地部署一个可定制、资源占用低 TTS 方案的开发者来说,这是一个非常值得深入研究的项目。- Emacs 作为“一切难用 Website 的前端”: 这是一个极具极客精神的观点,具体目标是“比如 github 和 chatgpt”。可以考虑探索类似
xwidget-webkit、emacs-everywhere,或者通过consult-gh和 API 等方式,将 Web 体验嵌入到 Emacs 中。
🧠 Hermes GPT-5.5 观点延伸
今天最有咀嚼价值的不是 Windows 乱码、轨迹球大小,甚至也不是 TTS 本地部署,而是一个更硬的判断:Emacs 用户真正追求的不是“把一切塞进编辑器”,而是把不可控的软件边界重新变成可调试、可替换、可组合的工程边界。
1. “Emacs 作为难用 Website 的前端”不是怀旧,是反平台化
群里说想把 Emacs 弄成 GitHub、ChatGPT 这类难用网站的前端,表面看是极客洁癖:Web 输入框 resize 卡、官方前端重、广告碍眼。但工程上更准确的说法是:浏览器 UI 把太多关键流程封装成不可观察的黑盒,而 Emacs 用户想要的是可脚本化接口。
consult-gh 意外好用、telega 可以 advice 掉 sponsor fetch、corfu + telega 能接补全,这些例子都指向同一件事:一旦服务暴露出稳定 API 或可替换层,Emacs 就能把它变成工作流组件;一旦只剩臃肿 Web 前端,就只能忍受卡顿和不可控。
所以 xwidget-webkit CPU 飙到 260% 很关键:它提醒我们,“把网页嵌进 Emacs”不是胜利,只是把黑盒搬进了 buffer。真正值得做的是 API-first 的窄前端,而不是浏览器套壳。
2. 本地 AI 应用的瓶颈不是“模型能不能跑”,而是部署是否污染工作站
TTS 那段讨论尤其扎实。用户从 C++ 写前端、ICU 分词、文本转 IPA,到发现模型套模型效率低,最后转向云服务或小模型 kokoro。这不是单纯的算力焦虑,而是个人工作站的工程卫生问题。
“Windows 没 Docker”“大模型污染开发环境”“十几个字要 30 秒”,这些都是可验证的工程指标:安装复杂度、依赖隔离、冷启动、吞吐、延迟、可卸载性。一个本地 AI 工具如果需要重塑整台机器的 Python/CUDA/驱动生态,它就不是工具,是入侵式平台。
这也解释了为什么传统前后端分离的 TTS 方案重新有吸引力:前端文本规范化/IPA 是可测试的,后端声学模型可替换,性能瓶颈可定位。端到端大模型体验强,但工程边界差;小而分层的系统效果可能差一点,却更适合长期维护。
3. Windows 下 Emacs 的乱码修复,是一个反例教材
magit 中文乱码最后归到 core.quotePath,不是 Windows locale,也不是 Emacs 编码设置。这说明复杂工具链里,错误归因常常比错误本身更耗时间。好的排障路径不是“把所有环境变量都设一遍”,而是找最小复现,切分边界:Emacs、Git、shell、ls、插件各自输出什么。
可继续实践
可以选一个高频 Web/AI 流程做实验:不要用 xwidget 套网页,而是实现一个最小 Emacs 前端,只接 API、缓存、补全和异步任务;同时记录四个指标:冷启动时间、依赖数量、失败可定位性、卸载后环境残留。能过这四关,才配叫个人知识系统里的可持续工具。
Emacs 轻聊讨论组
🎯 核心热点与专题探讨
专题一:AI 辅助开发的“软件工程债务”危机
群内围绕 AI 编码工具(尤其是 Cursor、Claude Code)引发的项目质量滑坡展开了激烈讨论。核心痛点在于:
- “代码看不懂”的恶性循环:开发者依赖 AI 生成代码后,因缺乏对底层实现的理解(“关键是:`经过几个月的赶工,第一版终于上线了。` 几个月的时间了,工程师就完全没看过自己的代码”),导致系统进入“AI 修复一个 Bug 却引入新问题”的困境。有成员指出:“AI 写代码最大的问题是,有时候一些细节决策没办法照顾到但是很重要,就会在系统其它地方产生不好的影响。”
- 软件工程规范缺失:讨论者认为,这不仅是技术问题,更是管理问题——缺乏 PRD、Issue 记录和清晰的 SPEC。有人评论:“很明显 AI 用起来了软件工程没跟上...最后只是把以前手写代码-不好维护-制定规范的老路走一遍。”
- 新手成长路径被扭曲:有人担忧,“软件工程也是要自己手写一点点练出来的,所以现在的新手成长路径是地狱级的”。
解决方案探索:一些成员提出应回归结构化方法,例如“模块化单体”或“整洁架构”,并强调人机协作时仍需亲自审视代码、掌握系统全局。
专题二:笔记工具的“知识管理”理念之争——Emacs vs. Roam Research
群内展开了长达数小时的深度辩论,核心围绕 Emacs 生态(org-mode/org-roam/org-supertag)与 Roam Research (RR) 等现代笔记工具在知识管理范式上的根本差异。
- RR 的优势:以 Block 为原子单位、支持实时递归嵌入、强烈的图查询与 Discourse Graph 实践。有成员描述:“rr 里字段的填写很简单...所有输入都归一到 block”,“可以递归,节点之间的关系如果是一直延伸的,可以一直找下去”。它被评价为“一个产品有魅力,其实很大一部分源自于作者的理念坚持”。
- Emacs 的局限:org-mode 的 AST(抽象语法树)基于正则匹配、缓存易失效、面向 Latex 导出设计导致结构复杂且不统一。讨论指出:“org 的那一堆结构化的定义我不是很喜欢...没啥逻辑。比较纯粹的为导出服务。” “Emacs 必须不断暴力检索 org-mode 的 :olp”。性能、嵌入显示和实时编辑方面被认为不如 RR。
- Emacs 的坚持:尽管有缺陷,但 Emacs 用户珍视其“最小 context”和“在脑子里占用最小的预设”的特质。有人类比:“假设我是一个llm,别的软件预置的系统提示词和skills太多了”。同时,org-supertag 和 denote 等新项目试图在 Emacs 内实现现代笔记特性(如属性、标签渲染为 SVG、数据库级 AST 管理),但用户群体对笔记的需求更偏向“简单分文件 + 全局搜索”。
- 最终共识:笔记工具的终极选择高度个人化,取决于工作流。“重器轻用”和“一切放在日记里”是部分 Emacs 用户的实用哲学。
专题三:AI 编码工具的多模型“混用”实践与成本焦虑
群内充斥着对 AI 编码工具链的深度讨论,从 API 稳定性到成本控制。
- Claude Code 安全事件:阿里因安全风险禁止内部使用 Claude Code,并推荐 Qoder,引发了关于 AI 产品民族主义、技术中立性及开源恶意注入的讨论。有人愤怒评论:“说不好听一些,就是木马病毒公司啊”,“上一个这么干的,叫周鸿祎”。
- 多模型分工制:成员展示了高度定制的脚本(
claude-glm等),将不同模型用于不同任务:“用 codex和claude 做难度大的活,国产模型用来写测试”。DeepSeek 被评价为“参与感比较强”但“写elisp不太利索,写java通过率都很低”。 - 成本赤裸:群内一位重度用户晒出月费账单:
codex $200/m + claude $250/m + glm 年付 + opencode $10/y + copilot $39/m + fugo $200/m,称“我现在给 ai 买 token 用的就是我娶媳妇的彩礼钱”。这引发了“AI 辅助开发的投入产出比焦虑”。
🔑 关键概念与技术解析
- Discourse Graph:一种知识图谱理论,强调通过双向链接、块嵌入和实时递归节点来组织观点、构建论证。Roam Research 是该理论的实践者,而 Emacs 生态的 org-roam/org-supertag 正在尝试复现。
- org-superag:一个新兴的 Emacs 笔记包,旨在将现代笔记工具(如标签、数据库 AST、属性)引入 org-mode。其作者是群内成员。
- org-archive-subtree:Emacs org-mode 的内置功能,可将某个子树(heading)移动到独立的归档文件,用于管理超大文件。
- Open Genera:一个古老的 Lisp 机器操作系统环境,运行于 MacOS/M4 上的实验性项目。群内提及它时引发了关于超文本系统(Intermedia)的讨论。
- Passkey:基于 WebAuthn 协议的无密码认证标准。群内批评其在 Windows 上依赖物理 YubiKey/类似设备,且跨平台体验割裂。
💎 碎片知识与金句拾遗
- 关于笔记工具的本质:“每个软件其实带着自己的很多预设,用它就要接受它的一套思维。emacs也有这样的预设,但是感觉相对而言是最容易理解的。”
- 技术赤诚:“我不算 token...吃米其林不能让我开心,住五星级酒店我也不开心...当时,neomacs 的光标动画成功运行的时候,我太tm 开心了!”
- 独立开发三件套:“笔记,TODO,记账。”
- 信息泄露教训:“唉,之前图省事儿,就直接写在Emacs配置的...小看了爬虫的力量。”
- 跨平台 Passkey 的吐槽:“passkey 在 windows 要插物理的..非常蠢。所以说是坏文明(。”
- 对 AI 辅助开发的毒舌观察:“奴隶主连拉磨的磨盘都要驴子自备了吗?”(评论开发者自掏腰包买 AI Token 的现象)
- 关于整理笔记的感悟:“我觉得整理笔记是一种没意义的活儿,和记笔记还不一样...”
- 对国产生态的戏谑:“李彦宏究竟对他做了什么”,“都不是什么好人装什么大尾巴狼”。
- 付费买错模型引发的财务哲学:“380元= 4 碟新疆大盘鸡 = 20碟辣皮子版面=38份 酸奶...我就当我每天喝了一份酸奶🥲。”
- 技术上的“多模型政委”:展示自己的 bash 脚本,通过环境变量将 Claude 替换为智谱 glm 模型。这是一种“模型混用”的实用主义。
🛠️ 值得深入研究的点 (Follow-up)
- Intermedia / Roam Research 与超文本历史:群内提供了极为完整的超文本技术史资料链接(包括 Brown University HES/FRESS/Intermedia 项目),值得深入了解 Block 级链接与双链知识管理的技术根源。
- org-supertag:一个为 Emacs 带来现代笔记系统(标签、数据库级 AST、属性、SVG 渲染)的实验性包,正在走向成熟,值得关注其对 Emacs 笔记生态的冲击。
- Haiku OS:作为 BeOS 的精神继承者,其独特的数据库对象系统(“任何对象都可以是数据库的对象”)被群内提及,但与 Intermedia 的超文本哲学有本质区别。
- CJK(中/日/韩)字符与“表意字”的技术遗产:群内讨论了越南喃字、汉语表意字与 CJK 统一字符集的历史关系,对理解国际化和字体渲染有启发。
- Steam Machine RLOD(死亡红线):首例硬件故障曝光,板载 GPU 无法更换,值得关注第一批次产品的品控问题。
🧠 Hermes GPT-5.5 观点延伸
今天最值得咀嚼的不是“AI 写代码会不会让项目变烂”,而是更硬的一点:工具降低的是输入成本,不是判断成本。判断成本没人付,债务就会从键盘转移到系统结构里。
1. AI 编程的问题不是“生成代码”,而是“绕过理解”
群里那句“几个月的时间了,工程师就完全没看过自己的代码”很刺耳,但这是核心。AI Agent 可以把实现速度拉满,却不能替团队承担系统边界、数据流、异常路径、模块责任这些判断。
所以“AI 修好 A、弄坏 B”不是模型偶发失误,而是缺少工程反馈回路后的必然结果。没有 PRD、SPEC、Issue、测试、代码审查、架构约束,AI 只是把混乱更快地固化成代码。以前手写时代是“人慢慢写出屎山”,现在是“人用自然语言高速外包屎山”。
可验证的工程判断很简单:如果一个团队引入 AI 后,代码量增长速度明显高于测试、文档、边界定义和删除代码的速度,那不是生产力提升,而是在借高利贷。
2. Emacs vs Roam 的争论,本质也是“谁来承担结构成本”
Roam Research 的 block、递归嵌入、Discourse Graph 很迷人,因为它把“关系”做成一等公民;Emacs/org 的优势则相反:预设少、可拆、可 grep、脑内 context 负担低。
这不是谁先进谁落后的问题,而是两种结构成本的分配。Roam 把结构成本前置到产品模型里,你接受 block 世界观,就得到强查询、强嵌入、强递归。Emacs 把结构成本交还给用户,你可以一年一个文件、日记平铺、tag 谨慎使用、需要时 archive;代价是复杂知识图谱能力不会自然长出来。
群里“重器轻用”“整理笔记是没意义的活儿”其实很关键:不是所有知识工作都值得图谱化。只有当你真的在做论证、研究、写作、长期素材复用时,递归 block 才是武器;否则它只是更精美的整理焦虑。
3. 真正的分水岭:工具有没有让你更容易验证判断
无论 AI 编码还是笔记系统,最终都该问一个问题:它有没有让错误更早暴露、让关系更容易追踪、让决策更可复盘?
AI 编程的最低合格线不是“能跑”,而是每次生成都能落到测试、diff、架构边界和 Issue 记录里。笔记系统的最低合格线也不是“链接很多”,而是你半年后能找到、理解、复用,并知道当时为什么这么记。
可继续研究/实践
可以做一个小实验:选一个真实项目,用“模块化单体 + 明确 SPEC + AI 生成 + 人类审查 + 测试先行”的方式推进一周;同时记录哪些决策 AI 能做,哪些必须人做。这个实验比争论哪家模型更强更有价值。因为未来真正稀缺的不是 token,而是能把 token 变成可靠系统的工程判断。
