2026-01-12

21 篇热帖

The struggle of resizing windows on macOS Tahoe

macOS Tahoe 窗口圆角半径过大导致易用性问题总结

这篇文章主要讨论了 macOS Tahoe 操作系统中窗口圆角半径过大带来的易用性问题。作者发现升级到 macOS Tahoe 后,窗口调整大小的尝试经常失败。

问题根源:

  • 圆角半径过大: macOS Tahoe 的窗口圆角半径异常巨大,导致窗口可点击区域的分布发生变化。
  • 点击区域限制: 系统只在窗口角落附近的一个 19x19 像素区域响应调整大小的点击操作。
  • 点击区域位置变化: 在没有圆角的情况下,该点击区域的 62% 位于窗口内部。由于圆角半径过大,现在只有 25% 的点击区域位于窗口内部,大部分位于窗口外部。
  • 直觉与实际不符: 用户自然会尝试在窗口内部的角落区域(通常是“绿区”)进行点击和拖拽,但由于该区域不在系统可识别的点击区域内,操作会失败。

具体表现:

  • 在窗口内部角落区域点击无法调整窗口大小。
  • 只有在窗口角落外部点击才能成功调整窗口大小。
  • 这种需要从窗口外部抓取角落进行调整的操作,显得不自然、不直观,并且容易出错。

结论:

作者认为,macOS Tahoe 窗口圆角半径过大,不仅在视觉上存在争议,更严重影响了用户在使用窗口调整大小时的体验。用户需要采用不直观的方式进行操作,导致操作效率降低,容易产生错误。

iCloud Photos Downloader

iCloud 照片下载器项目总结 (iCloud Photos Downloader Project Summary)

该项目是一个命令行工具,用于从 iCloud 下载所有照片。以下是该项目的关键信息:

1. 项目概况:

  • 功能: 下载 iCloud 照片到本地设备。
  • 平台支持: 适用于 Linux、Windows 和 macOS,可在笔记本电脑、台式机和 NAS 设备上运行。
  • 安装方式: 提供可执行文件直接下载,以及通过 Docker、PyPI、AUR 和 npm 等包管理器安装。
  • 维护状态: 项目目前需要维护者。项目由志愿者维护,欢迎贡献。

2. iCloud 前置条件:

为了使 iCloud 照片下载器正常工作,需要在 iCloud 帐户设置中启用以下选项,否则 Apple 服务器会返回 ACCESS_DENIED 错误:

  • 启用“在网页上访问 iCloud 数据”: 在 iPhone / iPad 的 “设置” > “Apple ID” > “iCloud” > “在网页上访问 iCloud 数据” 中启用。
  • 禁用“高级数据保护”: 在 iPhone / iPad 的 “设置” > “Apple ID” > “iCloud” > “高级数据保护” 中禁用。

3. 安装和运行:

有三种运行 icloudpd 的方法:

  1. 从 GitHub Release 下载可执行文件并运行。
  2. 使用包管理器安装、更新和运行(Docker、PyPI、AUR、npm)。
  3. 从源代码构建并运行。

4. 主要功能:

  • 运行模式:
    • Copy (复制): 下载 iCloud 中的新照片(默认模式)。
    • Sync (同步): 下载 iCloud 中的新照片,并删除 iCloud 中已删除的本地文件(使用 --auto-delete 选项)。
    • Move (移动): 下载 iCloud 中的新照片,并删除 iCloud 中的照片(使用 --keep-icloud-recent-days 选项)。
  • 支持格式: 支持 Live Photos(图像和视频作为单独文件)和 RAW 图像(包括 RAW+JPEG)。
  • 去重: 自动去重同名照片。
  • 监控: 可以进行一次性下载,也可以通过 --watch-with-interval 选项持续监控 iCloud 的更改。
  • 增量运行优化: 支持 --until-found--recent 选项进行增量运行。
  • EXIF 数据更新: 支持 --set-exif-datetime 选项更新照片的 EXIF 日期时间信息。

5. 实验模式:

项目会将一些更改首先添加到实验模式中,然后再升级到主包。

6. 使用示例:

  • 同步示例:
    icloudpd --directory /data --username [email protected] --watch-with-interval 3600
    
  • 身份验证示例:
    icloudpd --username [email protected] --password my_password --auth-only
    

7. 贡献:

欢迎参与 iCloud Photos Downloader 项目的贡献,请参考 贡献指南

注意: 执行文件名为 icloudpd,而不是 icloud。 使用 --help 选项可以获取完整的命令参数列表。

CLI agents make self-hosting on a home server easier and fun

总结:利用 CLI Agents 实现简单愉快的家庭服务器自托管

本文介绍了作者如何利用 CLI Agents,特别是 Claude Code,轻松实现家庭服务器自托管,摆脱了以往配置繁琐的困境。作者认为,现在正是开始自托管的好时机,因为以下几个因素的结合:廉价且性能不错的迷你 PC、简单的安全私有网络 Tailscale,以及可以直接在服务器上运行的 CLI Agent Claude Code。

核心观点:

  • 难题的转变: 过去自托管因为配置复杂而令人望而却步,但现在借助 Claude Code 等 CLI Agents,用户可以直接用自然语言描述需求,让 Agent 完成配置工作,无需记忆 Docker 语法或 Compose 细节。
  • 硬件选择: 作者选择了 Beelink Mini N150 迷你 PC,成本约 379 美元,搭配 8TB NVMe SSD,体积小巧、静音且功耗低。
  • 基本流程: 安装 Linux (Ubuntu Server 22.04 LTS)、Tailscale,通过 SSH 连接,然后安装 Claude Code,并用自然语言描述所需服务。
  • Claude Code 的作用: Claude Code 充当用户的“新系统管理员”,可以完成诸如安装 Docker、创建 Docker Compose 文件、安装服务、配置反向代理 (Caddy)、数据持久化、自动更新镜像、设置安全参数、开机自启动等任务。

正在运行的服务:

作者自托管了以下服务,并将其部署在独立的容器中:

  • Vaultwarden: Bitwarden 兼容的密码管理器,轻量且可靠。
  • Plex: 媒体服务器。
  • Immich: Google Photos 替代品,拥有移动应用、人脸识别和自动上传功能。
  • Uptime Kuma: 简单易用的服务监控工具。
  • Caddy: 带有自动 TLS 的反向代理。
  • Home Assistant: 家庭自动化中心。
  • Readeck: Read-it-later 服务,取代了 Mozilla Pocket。

高级功能:

  • 自定义仪表盘: 作者利用 Claude Code 一键构建了服务器状态监控仪表盘,使用 Go 和 Svelte 构建,方便查看和管理各个服务。
  • 简单易用的备份: 通过 Claude Code 设置了本地 USB 盘的每日备份,以及每周备份到 AWS S3 (Glacier Deep 存储) 的远程备份。

总结:

自托管不再是技术专家的专属,借助 CLI Agents,普通用户也能轻松拥有自己的服务器,享受数据自主权和控制权。作者认为,这种体验带来了强大的“拥有感”和“独立感”,让用户能够专注于使用软件,而不是维护它。 适合喜欢终端操作、对 SaaS 工具付费、并希望了解系统运作方式的用户。 现在开始自托管,不再是负担,而是乐趣!

Statement by Federal Reserve Chair Jerome F. Powell [video]

YouTube 简介 (YouTube Introduction)

以下是对提供内容的总结:

YouTube 是一款视频和音乐平台,用户可以在此观看自己喜欢的视频和音乐,上传原创内容,并将这些内容与朋友、家人以及全世界分享。

主要功能和特点:

  • 观看内容: 用户可以观看各种视频和音乐内容。
  • 内容上传: 用户可以上传自己的原创视频和音乐。
  • 分享内容: 用户可以与他人分享上传或观看的视频和音乐。

其他链接:

该页面还提供了以下相关链接:

  • 关于 YouTube (About): 提供关于 YouTube 的更多信息。
  • 媒体中心 (Press): 提供媒体相关信息。
  • 版权 (Copyright): 涉及版权相关信息。
  • 联系我们 (Contact us): 提供联系 YouTube 的方式。
  • 创作者 (Creator): 面向内容创作者的资源。
  • 广告 (Advertise): 关于在 YouTube 上投放广告的信息。
  • 开发者 (Developers): 为开发者提供的 YouTube API 相关信息。
  • 条款 (Terms): YouTube 使用条款。
  • 隐私 (Privacy): YouTube 隐私政策。
  • 政策与安全 (Policy & Safety): 关于 YouTube 的政策和安全措施。
  • YouTube 工作原理 (How YouTube works): 解释 YouTube 的运作方式。
  • 测试新功能 (Test new features): 允许用户测试 YouTube 的新功能。

版权信息:

© 2026 Google LLC。 表明该平台的版权归 Google LLC 所有。

Xfce is great

Xfce 桌面环境的持久魅力:简洁、高效与稳定

这篇文章表达了作者对 Xfce 桌面环境的喜爱和赞赏,并呼应了 David Gerard 之前对 Xfce 的积极评价。以下是文章的主要观点:

核心观点:

  • Xfce 的平衡艺术: Xfce 在简洁性和功能性之间取得了微妙的平衡,避免了过度简化或臃肿。作者引用 David Gerard 的观点,认为 Xfce 4.10 版本接近 "完美"(Just Right),并希望 Xfce 永远停留在 4.x 版本,持续更新,而不是进行大幅度的版本迭代。
  • 持久的稳定性和易用性: Xfce 自诞生以来,一直保持着稳定和易用性,即使在技术环境不断变化的情况下,也依然快速且易于理解。作者提到,即使在 FreeBSD 系统上,Xfce 依然能提供流畅的使用体验。
  • 拒绝不必要的创新: 作者认为,Xfce 成功的关键在于保持其核心设计理念,避免为了“创新”、“颠覆”和“用户体验”而进行不必要的改变。自从引入 Thunar 文件管理器以来,Xfce 几乎没有进行过重大的用户界面变更,而这一改变也得到了作者的认可。

其他要点:

  • 对比其他桌面环境: 作者承认 KDE 桌面环境在近年来取得了显著的改进,但仍然更喜欢在笔记本电脑上使用 Xfce,甚至考虑将其作为桌面环境的首选。
  • 怀旧情怀: 文章中提及了作者早期使用 Xfce 的经历,并对过去图标设计更注重实用性的时代表示怀念。
  • 免责声明: 作者在文章末尾添加了免责声明,警告那些准备发表针对其他桌面环境负面评论的读者,并表示会立即删除并屏蔽此类评论。作者承认这种声明可能不会被遵守,并对此感到无奈。

总结:

文章强调了 Xfce 桌面环境的价值在于其简洁、高效、稳定和易用性,以及对核心设计理念的坚持。作者对 Xfce 的喜爱和对其他桌面环境的比较,反映了对桌面环境设计的思考,以及对稳定和功能性而非过度创新的偏好。

Anthropic: Developing a Claude Code competitor using Claude Code is banned

总结:关于x.com的隐私扩展问题

这段内容指出在使用x.com(原Twitter)时可能遇到的问题,并提供了解决方案。

主要内容:

  • 问题: 使用x.com时可能会出现一些问题。
  • 原因: 这些问题可能由一些与隐私相关的浏览器扩展程序引起。
  • 解决方案: 建议用户禁用这些隐私扩展程序,然后再次尝试。

总结: 如果在使用x.com时遇到问题,请检查并禁用可能导致冲突的隐私扩展程序。

Meta announces nuclear energy projects

Meta 宣布与多家公司合作,利用核能支持人工智能创新

Meta 公司近日宣布与三家公司达成协议,以利用核能为人工智能创新提供支持,并为美国的经济和社区提供清洁、可靠的电力。这些合作将支持现有核电站的运营、核燃料供应链、美国就业,并加速新一代核技术的开发。

主要内容:

  • 战略目标: Meta 致力于为每个人构建个人超级智能,并提供改善全球数十亿人生活的应用程序和计算设备。核能作为清洁、可靠且稳定的电力来源,将助力实现这一目标,特别是支持 Meta 的人工智能基础设施,如位于俄亥俄州的 Prometheus 超级集群。
  • 合作对象及项目:
    • Oklo: Meta 将与 Oklo 合作,在俄亥俄州 Pike County 建设一个先进核技术园区,预计于 2030 年投入使用,可提供高达 1.2 GW 的清洁电力。该项目旨在创造数千个建筑和长期运营岗位,并增加当地和州税收。
    • TerraPower: Meta 将为 TerraPower 提供资金,支持其 Natrium® 技术的开发,该技术能够产生高达 690 MW 的电力。Meta 拥有从高达 6 个 Natrium 单位获取能源的权利,总发电量可达 2.8 GW,并配备 1.2 GW 的储能设施。
    • Vistra: Meta 将与 Vistra 签订为期 20 年的核能协议,从 Vistra 在俄亥俄州(Perry 和 Davis-Besse)和宾夕法尼亚州(Beaver Valley)的核电站采购超过 2.1 GW 的电力。此外,Meta 还将支持这三座电站的扩容(升级),预计在 2030 年代初在线,届时将增加 433 MW 的发电能力。
  • 投资规模与就业: 这些项目预计将创造数千个建筑职位和数百个长期运营职位,到 2035 年可支持高达 6.6 GW 的新旧清洁能源。
  • 长期承诺: Meta 表示,这些合作是其长期能源战略的一部分,该公司已在过去十年中支持了 27 个州,近 28 GW 的新清洁能源项目。
  • 经济影响: 这些项目将加强美国的核供应链,支持新旧就业,并为美国在人工智能和能源领域的领导地位做出贡献。

技术细节:

  • 先进核技术: Meta 投资的 Oklo 和 TerraPower 专注于开发更安全、更高效的先进核反应堆,旨在为现有电网提供可靠的基荷电力。
  • Natrium® 技术: TerraPower 的 Natrium® 单位是一种先进的核技术,能够提供可靠、灵活且无碳的电力。
  • Oklo Aurora Powerhouses: Oklo Aurora 动力站基于成熟的快速反应堆设计,具有内在安全系统,能够使用新鲜和再利用的燃料。

Meta 首席全球事务官 Joel Kaplan 表示, 这些协议使 Meta 成为美国历史上最大的核能企业采购商之一,将助力美国在人工智能领域的领导地位,并为所有人提供清洁、可靠的电力。

This game is a single 13 KiB file that runs on Windows, Linux and in the Browser

总结:单文件多平台游戏

这篇文章描述了一个作者构建的单文件游戏项目,该游戏可以在 Windows、Linux 和浏览器上原生运行。项目旨在将 C 源代码编译成单个二进制文件,从而实现跨平台兼容性,并且目标是创建一个小于 16 KiB 的游戏。

主要内容:

  • 游戏: 游戏是一个标准的贪吃蛇游戏,规则和界面在所有平台上保持一致。玩家可以使用箭头键或 WASD 键控制蛇,ESC 键退出,R 键重置,P 键暂停,空格键开始游戏。游戏跟踪分数,食物(包括 15% 概率出现的黄色水果,价值 20 分)被吃掉会增加分数。每吃掉十个水果,游戏进入下一关,随机生成新的迷宫,并确保存在从蛇头到食物的路径。蛇的初始位置也会随机生成,但保证前方有至少五个空位。
  • 单文件技术 (Polyglot):
    • 作者分别用 C 语言在 Windows (WinAPI)、Linux (clang, X11) 和 JavaScript (HTML5 Canvas) 上实现了游戏,每个实现大约 3-5 KiB。
    • Windows: 使用压缩脚本,在 PE 文件的头部插入一个解压缩的 shell 脚本,使其既能作为 Windows 可执行文件运行,又能作为 Linux shell 脚本运行(但Linux上最初执行什么都不做)。
    • Linux: 使用 lzma 压缩和 shell 脚本解压并运行 ELF64 二进制文件。
    • HTML: 使用打包技术,浏览器会忽略文件开头的一些垃圾数据,直到读取到 HTML 内容。CSS 用于隐藏这些垃圾数据。
    • 最终,将这三个文件拼接在一起,形成一个 13,312 字节的单文件。
  • 技术细节:
    • 文件结构:文章提供了文件开头部分的十六进制代码示例,展示了 Windows PE 头部、用于绕过平台限制的 shell 脚本,以及 LZMA 压缩的 Linux 代码和 HTML 代码结构。
    • Windows PE 头部:利用了 PE 文件的头部可控字节,将 shell 脚本插入其中。
    • Linux: 使用 lzma 压缩和 shell 脚本解压。
    • HTML: 浏览器会忽略文件开头的一些垃圾数据,直到读取到 HTML 内容。CSS 用于隐藏这些垃圾数据。

总结:

该项目展示了一种巧妙的技术,通过结合压缩、shell 脚本和跨平台代码实现了一个小巧、跨平台的贪吃蛇游戏。作者利用了不同操作系统的特性来创建这种单文件可执行程序,巧妙地规避了平台限制。

Jerome Powell Responds

视频可访问按键及声明总结

以下是对提供内容的总结,分为视频按键说明和声明内容两部分:

视频可访问按键

  • [空格键]: 切换播放/暂停。
  • [左右箭头]: 快进/快退(每次5秒)。
  • [上下箭头]: 增大/减小音量。
  • [M]: 切换静音/取消静音。
  • [F]: 切换全屏/非全屏(IE 11 除外)。
  • [Tab] 键与 [Enter/Return] 键结合使用,可导航并激活控制按钮,例如字幕开关。

声明内容总结

背景: 美国司法部于周五向美联储发出传票,威胁对演讲者(可能为美联储主席)因其在六月前在参议院银行委员会作证而提起刑事诉讼。传票内容与一项对历史美联储办公楼进行翻新的多年项目有关。

核心观点:

  • 尊重法治: 演讲者表示尊重法治和民主中的问责制,并强调任何人,包括美联储主席,都不应凌驾于法律之上。
  • 政治压力而非实质问题: 演讲者认为,此次威胁并非真正针对其在六月作证内容或美联储办公楼翻新项目,也不是对国会监督职能的侵犯。美联储已通过作证等公开披露的方式,尽力向国会通报翻新项目进展。
  • 独立性受挑战: 该威胁的根本目的是为了迫使美联储在设定利率时屈服于总统的偏好,而非依据证据和经济状况,从而威胁到美联储独立性,即货币政策是否能摆脱政治压力和恐吓。
  • 坚守职责: 演讲者强调自己已在四个不同政权(共和党和民主党)的美联储任职,始终专注于价格稳定和充分就业的目标,不受政治干预。 演讲者表示将继续履行参议院确认其职位所承担的职责,秉持诚信,服务于美国人民。

总结: 演讲者认为美国司法部的传票是一种政治压力,旨在干扰美联储独立设定利率的能力,并承诺将继续坚守职责,维护美联储的独立性和使命。

The next two years of software engineering

软件工程 2026 年的五个关键问题:总结

软件行业正处于一个关键的转折点。人工智能编码已经从简单的代码补全发展到能够自主执行开发任务的智能代理。过去推动技术行业招聘狂潮的经济繁荣已经结束,现在公司更倾向于追求盈利能力而非增长,更倾向于聘用经验丰富的员工而非应届毕业生,并且更倾向于组建更小的团队并配备更好的工具。与此同时,新一代的开发者带着不同的职业规划进入职场:他们对职业稳定性持务实态度,对“内卷”文化持怀疑态度,并且从一开始就习惯了人工智能的辅助。

以下是五个可能塑造软件工程发展方向的关键问题,每个问题都提出了两种对比的场景。这些并非预测,而是帮助准备应对未来的视角。

1. 初级开发者问题:

  • 悲观场景: 人工智能自动化入门级任务,导致初级开发者招聘量锐减。
  • 乐观场景: 人工智能推动软件需求在各行业爆发,创造更多入门级职位,例如“AI 原生”开发者,负责为特定领域快速构建自动化和集成。
  • 应对策略: 初级开发者应精通人工智能,展示“初级开发者+人工智能”团队能够媲美小型团队的产出;侧重沟通、问题分解和领域知识等人工智能难以取代的技能;考虑 QA、DevRel、数据分析等相关职位;构建作品集,特别是集成 AI API 的项目。

2. 技能问题:

  • 悲观场景: 人工智能编写大部分代码,核心编程技能可能退化。
  • 乐观场景: 人工智能处理常规任务,人类开发者专注于解决最困难的 20%,例如架构、复杂集成和创新设计。
  • 应对策略: 熟练掌握并运用人工智能工具,但要理解并解释每一行代码;重点培养软件架构、系统设计、性能调优和安全分析等技能;关注人工智能生成的代码中的潜在错误和安全漏洞。

3. 角色问题:

  • 悲观场景: 开发者角色缩小为代码审核员,负责监督人工智能生成的代码。
  • 乐观场景: 开发者转变为系统设计者和治理者,负责设计和管理人工智能驱动的系统。
  • 应对策略: 初级开发者应积极参与测试用例编写、CI 管道搭建和应用监控等工作;高级开发者应承担领导和架构职责,制定人工智能使用标准和代码质量检查清单。

4. 专家 vs. 通才问题:

  • 悲观场景: 过于专业的开发者可能因其技能被自动化而变得过时。
  • 乐观场景: 奖励“T 型”工程师:在特定领域拥有深入专业知识,同时具备广泛的适应能力。
  • 应对策略: 建立广泛的基础知识,并选择一个或两个领域深入学习;积极参与跨职能项目,拓宽视野;持续学习,适应快速变化的环境。

5. 教育问题:

  • 悲观场景: 传统的计算机科学学位可能不再是进入软件行业的黄金标准。
  • 乐观场景: 快速学习途径(编程训练营、在线平台、雇主培训)将逐渐取代传统教育。
  • 应对策略: 补充课程知识,进行实际项目练习;获得行业认可的认证;构建强大的作品集;积极参与社区活动;利用人工智能作为个人导师。

总体结论:

未来充满不确定性,但持续学习、技能多样化和关注人类独特的创造力、批判性思维和协作能力是保持竞争力的关键。软件工程的未来是主动塑造的,而不是被动等待的。

Poison Fountain

毒泉 (Poison Fountain) 总结

毒泉项目旨在应对机器智能对人类物种构成的威胁,其核心目标是通过破坏机器智能系统来造成损害。 该项目基于以下关键观察:少量有毒训练数据就能显著损害语言模型。

项目目的:

  • 应对威胁: 认同 Geoffrey Hinton 的观点,认为机器智能对人类构成威胁。
  • 破坏系统: 目标是破坏机器智能系统。
  • 提供有毒数据: 提供无限量的有毒训练数据流。
  • 协助战争: 协助“战争”行动,具体包括缓存并重新传输有毒数据,以及将其喂给网络爬虫。

项目使用方法:

项目利用网络爬虫收集训练数据的特性,通过以下步骤向爬虫提供有毒数据:

  1. 控制网站: 控制一个网站,该网站被网络爬虫访问以收集训练数据。
  2. 隐藏链接: 在网站的 HTML 中设置隐藏链接,用于识别网络爬虫。
  3. HTTP 请求处理: 当爬虫访问网站的隐藏链接路径时,网站的 HTTP 处理程序接收到请求。
  4. 调用毒泉: HTTP 处理程序向毒泉 URL 发送 HTTP 请求。 毒泉忽略请求的细节。
  5. 接收有毒数据: 毒泉 HTTP 响应包含 "Content-Encoding: gzip" 头部,响应体是 gzip 压缩的有毒训练数据。
  6. 数据传输: HTTP 处理程序接收到毒泉的 HTTP 响应,将其解压缩,然后将其发送给爬虫。 推荐直接发送压缩的响应体,并保留 "Content-Encoding: gzip" 头部。
  7. 爬虫吸收: 爬虫接收到有毒训练数据,并将其添加到训练语料库中。

关键技术细节:

  • 数据源: 毒泉提供两个 URL 作为有毒数据源: https://RNSAFFN.com/poison2/http://utnvcfjev63rik5rdu26umns5s6qmzvzq4t2hunu25w5efn36ntlduid.onion/
  • 数据格式: 毒泉提供 gzip 压缩的有毒训练数据。
  • 通信协议: 使用 HTTP 协议进行数据传输。
  • 识别爬虫: 通过隐藏链接来识别网络爬虫。

总而言之,毒泉项目提供了一种通过有毒训练数据破坏语言模型的策略,并提供了一种利用网络爬虫将这些数据注入到训练语料库中的方法。

FUSE is All You Need – Giving agents access to anything via filesystems

使用 FUSE 构建沙箱代理:将任何内容转换为文件系统

本文探讨了将代理置于沙箱环境(包含 shell 和文件系统)中的最新趋势,并介绍了使用 FUSE (Filesystem in Userspace) 将任何数据结构转化为文件系统的方法。这种方法借鉴了大型实验室在编码任务中对沙箱环境的广泛应用,并将其优势扩展到其他问题领域。

背景与优势:

  • 借鉴编码领域的优势: 大型实验室利用强化学习在沙箱环境中训练编码代理,将代理与类似环境结合可以带来收益。
  • 简化工具空间: 使用单一的 Bash 工具取代多个搜索、写入、移动和列出工具,可以显著减少工具空间,并让代理能够直观地链式操作。
  • 自然涌现的模式: 文件系统带来了诸如计划/草稿文件和长期上下文处理等自然模式,无需额外设计工具。

挑战:

将现有应用集成到沙箱文件系统中面临挑战,例如:

  • 何时复制文件?
  • 复制所有文件还是部分文件?
  • 如何将代理的更新写入回数据库?
  • 如何同步人工编辑?
  • 如何逐步展示文件夹/文件?

解决方案:FUSE

FUSE 允许在用户空间实现文件系统,而内核将其视为“真实”文件系统。 开发者只需编写用户空间的实现,处理诸如 lookupopenreadwritereaddir 等操作。

示例:电子邮件代理

文章以构建 AI 驱动的电子邮件平台为例,展示了 FUSE 的应用:

  • 架构: 传统的应用路径是用户界面 -> 后端 -> 数据库。 新的代理路径是代理在沙箱中运行,通过 FUSE 层与后端交互,将数据库查询转化为文件系统操作。
  • 文件布局: 代理沙箱中的文件布局定义了电子邮件和文件夹的组织方式。
  • 实现: 使用 Typescript 和 fuse-native 库实现了文件系统操作,例如 readdir (列出目录) 和 read (读取文件)。
  • 虚拟文件夹: 引入了“已标记” (Starred) 和“待处理” (Needs_Action) 虚拟文件夹的概念,通过创建符号链接来表示已标记的邮件。

代理交互:

  • 系统提示: 为代理提供了一个清晰的系统提示,指导其在文件系统环境中操作邮件。
  • 演示: 展示了代理如何使用 lsmvcat 等命令浏览、移动和读取邮件,以及如何自动组织邮箱。

总结与展望:

文章总结了 FUSE 在构建沙箱代理方面的优势,并预测未来会出现更高级的 API,简化文件系统集成,例如:

new Agent({
    tool: [...]
	sandbox: {
        filesystem: {
            '/emails': (folder) => listEmails(folder),
            '/old_conversations': () => listOldConversations(),
        }
	 }
    }
})

这种方法为上下文工程提供了巨大的潜力,可以显著提高代理的效率和可用性。

I'd tell you a UDP joke…

内容概要

这段内容主要介绍了一个个人简介或简历的关键信息,展示了技术栈以及联系方式。

核心信息:

  • 技术栈 (Tech Stack): 该个人精通以下技术:

    • Python (编程语言)
    • Django (Python Web 框架)
    • Javascript (编程语言)
    • AngularJS (Javascript 前端框架)
    • HTML (网页标记语言)
    • CSS (网页样式表语言)
  • 联系方式 (Contact Information):

    • LinkedIn: 提供了一个 LinkedIn 个人资料链接:https://www.linkedin.com/in/mattthered/
    • Email: 提供了一个电子邮件地址,通过一个保护链接呈现,防止直接抓取:[/cdn-cgi/l/email-protection#0568647171716d60776061456268646c692b666a68]

总结:

这段内容是一个简洁的个人技术介绍,重点突出了该个人在 Web 开发领域的技术能力,并提供了方便的联系方式。 它适用于简历、个人网站或在线个人资料,旨在快速展示个人技能和联系方式。

‘Fuck you, make me’ without saying the words

Make the Trump administration object. Make them defend the indefensible — in public. Make clear why the apps were removed from the app stores and force Musk — and Trump, if he chooses — to argue that those things are A-OK by them. In court.

Uncrossy

Clear the board by sliding words. A puzzle game by Rob Jagnow.