2026-03-22

13 篇热帖

Do Not Turn Child Protection into Internet Access Control

年龄验证:不仅仅是儿童保护,更是一层新的网络控制 (年龄验证:不仅仅是儿童保护,更是一层新的网络控制)

这篇文章探讨了年龄验证机制日益扩大的趋势,从最初仅用于少数成人网站,现在已经扩展到社交媒体、即时通讯、游戏、搜索引擎等主流服务。作者认为,问题不再是年龄验证是否会普及,而是它将如何塑造互联网。

核心观点:

  • 儿童保护是出发点,但并非全部: 年龄验证的推动力之一是保护儿童免受有害内容、操纵性推荐、网络欺凌和成瘾性平台设计的影响。然而,作者指出,年龄验证不仅仅是儿童安全功能,更是一种访问控制架构,改变了网络的默认状态,从开放访问转变为需要授权访问。用户现在需要证明自己的身份才能使用服务。
  • 身份层面的转变: 年龄验证的深入,特别是当它融入操作系统时,意味着它不再是网站的一次性检查,而是一个持续的年龄状态层,通过系统接口暴露给应用程序。这使其看起来更像一个通用的设备身份层,而非简单的安全保障。
  • 内容审核与监护的区别: 作者强调,内容审核是关于内容分类和过滤,而监护是父母、教师等信任成年人对儿童进行指导和监督的责任。两者是不同的问题,混淆两者会导致错误的方向。
  • 绕过机制与数据收集: 年龄验证措施存在明显的绕过方式,例如VPN、借用账户、购买凭证等。作者认为,容易被绕过的控制,但又需要付出高昂成本的措施,实际上是一种企业数据收集行为,而非有效的安全措施。
  • 潜在的泛化风险: 作者警告,一旦建立起年龄验证层,它很容易被扩展到其他属性,例如位置、国籍、法律状态等,从而变成一个通用的门禁。
  • 解决方案: 作者建议在浏览器、设备、学校网络或可信本地列表等终端位置进行内容审核,将监护责任保留在父母、教师和社区手中。操作系统应该成为本地策略表面,而不是为远程服务广播年龄信息的通用层。
  • 关注根本问题: 真正的目标不是如何识别每个人,而是如何加强本地控制,而不是将网络变成一个检查站。应该关注推荐系统、暗模式、成瘾指标和不负责任的商业模式,这些才是导致在线危害的根本原因。

时间线:

文章还记录了作者对该问题的关注和行动:

  • 最初的讨论始于柏林Cypherpunk retreat。
  • 作者因Discord平台强制实施年龄验证而决定停止在该平台上的参与。
  • Devuan GNU/Linux宣布不会实施年龄验证,引发了社区的积极响应。
  • 作者为《意大利Wired》撰写了意大利语文章,即将发表。
  • 文章在Hacker News上广为流传,引发了广泛的讨论。
  • 作者与卢加诺市和Plan₿基金会合作,计划在两年内推出城市范围内的试点项目,探索本地管理的监护技术。
  • 瑞士互联网倡议将责任归咎于大型科技公司。

总结:

作者呼吁重新审视年龄验证的实施方式,反对将网络变成一个检查站,强调本地控制和监护的重要性,并警惕其潜在的泛化风险和数据收集行为。文章旨在推动更平衡的公共讨论,并鼓励人们参与到塑造互联网未来的过程中。

The three pillars of JavaScript bloat

好的,这是一份对原文内容的总结,字数控制在800字以内,使用markdown格式,并采用中文:

npm依赖树膨胀问题分析与应对

近年来,e18e社区快速发展,性能优化贡献显著,这很大程度上归功于“清理”行动,即社区对冗余、过时或未维护的包进行清理。在这一过程中,一个常见话题是“依赖膨胀”——npm依赖树越来越大,其中包含大量早已不再需要的代码,这些代码现在通常可以通过平台原生功能提供。

本文将探讨npm依赖树中三种主要膨胀类型,分析其产生原因,并提出应对方法。

1. 旧版运行时支持 (安全与 Realm)

早期JavaScript引擎缺乏现代功能,例如Array.prototype.forEachObject.keys等。为了支持这些旧引擎,开发者不得不自行实现或使用polyfills。此外,为了防止全局命名空间被篡改,Node.js使用“primordials”机制,对全局对象进行包装。最后,跨Realm(例如网页和iframe之间)的数据传递也需要特殊处理,因为不同Realm的RegExp类是不一样的。这些情况导致了诸如is-stringhasown等小工具包的出现。

然而,绝大多数开发者使用的都是近十年的Node.js版本或现代浏览器,并不需要支持老旧引擎、跨Realm数据传递或保护全局命名空间。这些兼容层却意外地出现在日常使用的包的热点代码中,导致所有开发者都为此付出代价。

2. 原子式架构

一些开发者推崇将包拆分成极小的、原子级的模块,以便于后续重用。这种架构导致依赖树中出现大量细粒度的代码包,例如shebang-regexarrifyslashcli-boxes等。虽然理论上可以方便地组合这些模块构建更高级别的功能,但实际上,许多原子包要么被广泛复制,要么只被单个包使用。

例如,shebang-regex几乎只被shebang-command使用,cli-boxes则只被boxenink使用。这种单用途特性使得它们等同于内联代码,却增加了npm请求、解压等成本。此外,像Nuxt这样的项目,在依赖图中重复出现一些原子包,进一步增加了供应链的复杂性和潜在风险。

3. 过时的“Ponyfill”

Ponyfill是导入式polyfill,用于在支持未来特性时避免修改全局环境。当这些特性在所有引擎中得到广泛支持后,Ponyfill应该被移除。然而,很多Ponyfill长期存在,例如globalthisindexofobject.entries等。

应对措施

解决依赖膨胀问题需要社区共同努力。以下是一些建议:

  • 审视依赖: 质疑每个依赖包的必要性。
  • 寻找替代方案: 寻找更轻量或功能更强大的替代品。
  • 使用工具:
    • knip:用于查找和移除未使用的依赖。
    • e18e CLI:用于分析依赖树,检测可替换的依赖,并自动进行迁移。
    • npmgraph:用于可视化依赖树,识别膨胀点。
  • 参考模块替换项目: module replacements项目记录了哪些包可以被原生功能或更优的替代品替换。

总之,依赖膨胀问题源于对老旧引擎、原子式架构和过时Ponyfill的过度依赖。通过审视依赖、使用工具和社区协作,我们可以有效减少依赖膨胀,提升项目性能和安全性。

Tinybox – Offline AI device 120B parameters

总结:tinygrad 项目及相关信息 (Summary: tinygrad Project and Related Information)

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

tinygrad 框架:

tinygrad 是一个快速增长的神经网络框架,旨在实现简单高效。它将复杂的神经网络分解为三种核心操作类型:

  • ElementwiseOps (逐元素操作): 对 1-3 个张量进行逐元素运算,例如 SQRT, LOG2, ADD, MUL, WHERE 等。
  • ReduceOps (规约操作): 对单个张量进行操作并返回一个更小的张量,例如 SUM, MAX。
  • MovementOps (移动操作): 虚拟操作,用于在张量之间移动数据,例如 RESHAPE, PERMUTE, EXPAND。 此类操作采用 ShapeTracker 技术,实现无拷贝的数据操作。

tiny corp 招聘:

tiny corp 获得了 500 万美元的融资,目前正在招聘全职软件工程师(也欢迎优秀的实习生)。 详细信息可以在 bounty page 上查看,贡献 tinygrad 代码是申请的优先条件。 此外,公司也在招聘 operations 和硬件相关职位。

tinybox 产品:

tiny corp 销售一款名为 tinybox 的高性能计算机,提供红色、绿色以及即将推出的 exa 版本。

特性 红色 v2 绿色 v2 Blackwell exabox
FLOPS 778 TFLOPS 3086 TFLOPS ~1 EXAFLOP
GPU 型号 4x 9070XT 4x RTX PRO 6000 Blackwell 720x RDNA5 AT0 XL
GPU 内存 64 GB 384 GB 25,920 GB
CPU 32 核 AMD EPYC 32 核 AMD GENOA 120x 32 核 AMD GENOA
价格 $12,000 $65,000 ~$10M (预计 2027 年上市)

tinybox 专为深度学习设计,在 MLPerf Training 4.0 测试中表现优异。 更多信息和订购请访问 tinycorp.myshopify.com

常见问题 (FAQ):

  • tinybox 是什么?高性能深度学习计算机。
  • 如何购买 tinybox?通过网站链接订购,支付方式为电汇。
  • tinygrad 的应用?在 openpilot 项目中替代 SNPE,提升驾驶模型性能。
  • tinygrad 的目标?将 petaflop 普及化,使 AI 惠及所有人。
  • tinygrad 什么时候稳定版发布?预计 Q2 2024 年,当其在单个 NVIDIA GPU 上能够比 PyTorch 快 2 倍地复现常见论文时。

其他信息:

  • tinygrad 的开发主要在 GitHub 和 Discord 上进行。
  • 欢迎贡献代码到 tinygrad GitHub 仓库,这有助于获得在 tiny corp 的工作机会。
  • 可以通过订阅邮件列表获取产品和库存更新 tinycorp.myshopify.com/pages/mailing-list
Hormuz Minesweeper – Are you tired of winning?

内容摘要 (Summary)

这段内容描述了一个游戏(或游戏机制)的规则或操作说明,主要信息如下:

  • 左键点击 (Left-click): 用于揭示(或显示)内容。
  • 右键点击 (Right-click): 用于标记(或设置旗帜)。
  • 双击 (Double-click): 用于触发和弦(或类似的操作)。
  • 地雷生成 (Mines): 地雷只会在水面上生成。

总而言之,这段文字简要介绍了游戏中的三种点击操作以及地雷的生成区域。 核心是操作指令和地雷位置限制。

Floci – A free, open-source local AWS emulator

Floci:免费本地 AWS 模拟器概要 (Floci: A Free Local AWS Emulator Summary)

Floci 是一个免费、开源的本地 AWS 模拟器,旨在提供无需账户、无功能限制、无需 CI 限制的开发和测试环境。它以卷云中的“绒毛”(floccus)命名,象征其轻量化和蓬松的特性。

背景: LocalStack 社区版将于 2026 年 3 月停止服务,需要认证令牌、限制 CI 支持并冻结安全更新。Floci 提供了无附加条件的替代方案。

主要特点与优势 (Key Features and Advantages):

  • 完全免费且开源 (Free and Open-Source): 采用 MIT 许可证,可自由使用。
  • 轻量级 (Lightweight): 启动时间约为 24 毫秒,空闲内存占用约 13 MiB,Docker 镜像大小约为 90 MB。
  • 广泛的服务支持 (Broad Service Support): 支持 20 多个 AWS 服务,并通过了 408/408 个 SDK 测试。
  • SDK 集成简单 (Easy SDK Integration): 现有的 AWS SDK 无需修改即可指向 Floci 的本地端点。
  • 无需认证 (No Authentication Required): 使用任何 AWS 区域均可,凭证可以随意设置。
  • 支持 API Gateway v2/HTTP API, Cognito, ElastiCache (Redis + IAM auth), RDS (PostgreSQL + MySQL + IAM auth).
  • 部分支持 S3 Object Lock (COMPLIANCE / GOVERNANCE), DynamoDB Streams, IAM, STS, Kinesis, KMS.

快速开始 (Quick Start):

使用 Docker Compose 快速启动 Floci:

services:
  floci:
    image: hectorvent/floci:latest
    ports:
      - "4566:4566"
    volumes:
      - ./data:/app/data

所有服务可通过 http://localhost:4566 访问。

配置 (Configuration):

所有设置可通过环境变量(FLOCI_ 前缀)覆盖。例如:

  • QUARKUS_HTTP_PORT: HTTP 端口 (默认: 4566)
  • FLOCI_DEFAULT_REGION: 默认 AWS 区域 (默认: us-east-1)
  • FLOCI_STORAGE_MODE: 存储模式 (默认: hybrid)
  • FLOCI_STORAGE_PERSISTENT_PATH: 持久化数据目录 (默认: ./data)

镜像标签 (Image Tags):

  • latest: 原生镜像,推荐使用,启动速度快。
  • latest-jvm: JVM 镜像,兼容性最广。
  • x.y.z / x.y.z-jvm: 指定版本。

更多信息:

Study finds no evidence cannabis helps anxiety, depression, or PTSD

兰石报告:医疗大麻对焦虑、抑郁和创伤后应激障碍疗效不佳

核心要点:

近期发表在《柳叶刀》杂志上的研究报告显示,医疗大麻在治疗焦虑、抑郁和创伤后应激障碍 (PTSD) 方面效果不佳。该分析是迄今为止对大麻类化合物在各种精神健康状况下的安全性和有效性进行评估的最大规模研究。

研究背景与现状:

  • 医疗大麻的使用日益普及,在美国和加拿大,16-65 岁人群中约有 27% 的人报告使用医疗大麻,其中大约一半的人表示是为了管理精神健康症状。
  • 研究结果对批准医疗大麻用于治疗上述精神健康疾病提出了质疑。

主要发现:

  • 精神健康疾病: 医疗大麻对焦虑、抑郁和 PTSD 的疗效证据不足,可能反而会加剧精神健康问题,例如增加精神病性症状的风险和发展大麻使用障碍的风险,并延误更有效治疗的使用。
  • 其他疾病: 研究发现医疗大麻可能在某些情况下有益,包括大麻使用障碍(成瘾)、自闭症、失眠和抽动/妥瑞氏综合征。但支持这些用途的证据强度较低,且在缺乏医疗或咨询支持的情况下,使用医疗大麻通常不被证明是合理的。
  • 物质使用障碍: 针对不同物质使用障碍的影响结果各异。
    • 大麻类药物可能有助于治疗大麻依赖。
    • 然而,在治疗可卡因使用障碍患者时,大麻使用会增加他们的渴望,因此不应将其用于此目的。
  • 其他潜在益处: 研究表明,医疗大麻可能对减少某些癫痫形式引起的癫痫发作、多发性硬化症患者的痉挛以及管理某些类型的疼痛有益。

研究方法:

  • 该研究是一项系统性综述和荟萃分析,回顾了 1980 年至 2025 年期间全球范围内进行的 54 项随机对照试验 (RCT)。

专家呼吁:

  • 研究作者呼吁加强对医疗大麻的监管,因为其快速增长的使用和开具处方引发了主要医疗组织的担忧,包括美国医学会。
  • 该研究旨在为临床医生提供基于证据的决策支持,以确保患者获得有效的治疗,同时最大限度地减少无效或不安全大麻产品带来的危害。

利益冲突声明:

Wayne Hall 接受了世界卫生组织的咨询费,并因其在关于大麻使用风险方面的专家证言而获得报酬。Myfanwy Graham 是澳大利亚卫生、老龄和残疾部药物大麻专家工作组的适当成员,并从澳大利亚治疗品管理局获得了用于医疗大麻独立证据审查的资金。其他作者声明没有利益冲突。

总结:

这项大型研究强调了医疗大麻在治疗精神健康疾病方面的局限性,并呼吁对医疗大麻的使用和监管进行更严格的审查。虽然在某些特定疾病中可能存在潜在益处,但需要更多高质量的证据来支持其有效性和安全性。

Passengers who refuse to use headphones can now be kicked off United flights

2026 旅行新闻综述

以下是近期旅行新闻的主要内容:

1. 全球最幸福国家:芬兰连续第九年蝉联冠军

根据最新发布的《世界幸福报告》,芬兰再次成为全球最幸福的国家,平均生活满意度评分为7.764(满分10分)。其他北欧国家也名列前茅,冰岛、丹麦、瑞典和挪威分别位列第二、第三、第五和第六。美国排名第23位,平均生活满意度评分为6.816。报告考察的变量包括社会支持、慷慨度、人均GDP、预期寿命以及对自由和腐败的感知。

2. 航空公司政策调整与乘客行为

  • 联合航空公司加强乘客行为管理: 联合航空公司更新了航空运输合同,规定乘客在听音频或视频内容时未佩戴耳机将被拒绝登机或驱逐。去年美国航班上发生了超过1600起扰乱秩序行为事件,尽管比2021年的创纪录高点5973起有所下降,但仍高于疫情前水平。
  • 美国 TSA 员工面临工资问题: 部分美国政府部门停摆导致 TSA 员工错过了第一笔全额工资,造成机场安检排队时间延长,尤其是在春假旅行高峰期。CNN 正在追踪 16 个主要机场的 TSA 安检等待时间。

3. 机票价格上涨

由于伊朗战争导致燃油成本上涨,全球机票价格大幅上涨。

4. 意大利公民法调整

意大利宪法法院支持了一项限制血缘公民身份的争议性法律,可能导致数百万海外人士失去意大利国籍。

5. 个人旅行故事:美国退伍老兵移居意大利

一位 81 岁的美国退伍老兵爱德华·克鲁格·康纳斯二世,因对美国感到厌倦,独自搬到意大利普利亚大区的莱切市,实现了他长期以来的梦想,并表示要“活在当下”。

6. 其他趣闻

  • 塔斯马尼亚机场发现负鼠: 塔斯马尼亚国际机场的工作人员在礼品店发现一只负鼠,它与毛绒玩具融为一体,被安全带走。
  • 英国 Reliant Robin 汽车非洲探险: 两名朋友驾驶英国 Reliant Robin 三轮汽车横跨非洲。
  • 日本哈库巴滑雪胜地旅游热潮: 日本哈库巴滑雪胜地吸引了大量游客,当地人表示派对气氛过于火爆。

来源: CNN 报道

Professional video editing, right in the browser with WebGPU and WASM

Tooscut Editor 概要总结

Tooscut Editor 是一款强大的在线视频编辑软件,可在浏览器中使用,无需安装。它旨在提供媲美原生应用程序的性能,并具有全面的编辑功能。

核心特点:

  • 无需安装: 整个编辑过程都在浏览器中进行,无需任何安装程序。
  • 本地优先: 利用 File System Access API,媒体文件始终存储在本地,不会离开用户设备。
  • 高性能: 基于 WebGPU 和 Rust/WASM 构建,实现 GPU 加速渲染,提供实时预览和导出功能。
  • 多轨道时间线: 支持无限数量的视频和音频轨道,以及关联剪辑和交叉过渡。
  • 关键帧动画: 允许用户使用贝塞尔曲线动画控制任何属性,例如变换、不透明度、效果等。
  • 实时效果: 提供亮度、对比度、饱和度、模糊和色相旋转等实时 GPU 计算效果预览功能。

技术栈:

  • WebGPU: 用于 GPU 加速的合成渲染。
  • Rust/WASM: 提供高性能的底层支持。
  • Web Audio API: 用于音频处理。
  • File API: 用于本地文件访问。

界面元素 (根据提供的图片和描述):

  • 文件/编辑/视图/导出 菜单: 提供基本的编辑操作和导出选项。
  • 资源面板: 用于导入和管理媒体文件。
  • 时间线: 多轨道时间线,显示视频和音频轨道。
  • 属性面板: 用于调整选定素材的位置、缩放、旋转和不透明度。
  • 效果面板: 用于调整亮度、对比度、模糊等视觉效果。

总结:

Tooscut Editor 是一款功能强大、性能优越的在线视频编辑软件,其核心优势在于无需安装、本地优先以及利用 WebGPU 实现的实时预览和导出。它适用于需要快速、高效编辑视频的用户,且希望保持媒体文件安全在本地存储的场景。

Chest Fridge (2009)

冰箱节能与设计反思:基于作者经验的总结

本文基于作者的实际经验,批判了当前主流冰箱的设计理念,并提出了更节能、更高效的替代方案。核心观点是:许多现代冰箱浪费能源且损害食物保鲜,这与自然冷空气的特性相悖。

以下是文章的主要内容:

1. 传统冰箱的低效与问题:

  • 违反自然规律: 使用垂直门设计破坏了冷空气的自然流动,降低了冰箱的效率。
  • 能源浪费严重: 几乎每个家庭的冰箱每天至少浪费1 kWh的能源,每年365 kWh。作者的经验表明,高效的冰箱(如改造后的箱式冰箱)能将每日能耗降低至0.1 kWh,甚至更低。
  • 食物保鲜问题: 传统冰箱内部温度波动大,影响了食物的保鲜效果。
  • 质疑行业标准: 作者质疑了冰箱“星级”等评定标准,认为这些可能存在误导,导致消费者购买低效产品。

2. 箱式冰箱的优势:

  • 节能高效: 箱式冰箱的结构更能利用自然冷空气,从而实现更高的能效。作者改造的箱式冰箱能耗极低,成本效益极高。
  • 良好的保鲜性能: 箱式冰箱内部温度波动小,能够更好地保存食物。

3. 解决方案与发展:

  • 改造方案: 作者曾为澳大利亚的环保人士提供将冰柜改造为冰箱的套件,推广箱式冰箱的使用。
  • 厂商改进: 经过约20年的推广,一些现代箱式冰柜制造商开始提供高达+6°C的温度控制,使其可以直接用作冰箱。
  • 推荐产品: 作者目前使用两台CHiQ混合变频冰箱(型号分别为142L和198L),在+6°C设置下,即使在热浪期间,每日能耗也仅为0.4 kWh,正常夏季为0.18-0.23 kWh。
  • 灵活利用: 拥有两个冰箱,可以根据需求灵活地切换冰箱和冰柜的功能。

4. CHiQ冰箱的优势:

  • 更低的峰值功率需求: 相比传统冰箱的单相交流压缩机启动时超过1 kW的峰值功率需求,CHiQ冰箱的峰值功率仅为138瓦,这使得它们更适合小型离网电池供电系统。
  • 变频技术: CHiQ冰箱采用变频技术和节能电机,降低了压缩机启动时的功率需求。

5. 总结:

文章呼吁人们关注冰箱的能效,并质疑当前冰箱设计和评定体系。作者通过自身实践,证明了箱式冰箱和新型变频冰箱在节能和保鲜方面的优势,并鼓励消费者选择更环保、更高效的冰箱产品。

相关链接:

Hide macOS Tahoe's Menu Icons

macOS Tahoe 菜单图标移除方法及作者观点总结 (macOS Tahoe 菜单图标移除方法及作者观点总结)

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

主要内容:

作者对 macOS Tahoe (macOS 太浩) 中菜单栏图标的加入表示强烈不满,认为其使菜单难以扫描,部分图标毫无意义且系统应用之间不一致。

解决方案:

作者分享了 Steve Troughton-Smith 找到的终端命令,可以禁用 macOS Tahoe 中的菜单栏图标:

defaults write -g NSMenuEnableActionImages -bool NO

该命令执行后,需要重启应用程序才能生效。作者表示已使用该命令并感到满意。该命令还能保留部分需要图标的实例,例如窗口缩放/调整大小功能。

作者观点:

作者强烈建议 Apple 在 macOS 27 中撤销此更改,或提供一个官方设置,允许用户禁用菜单栏图标,以避免其带来的干扰。 他将 Steve Troughton-Smith 视为英雄,因为他找到了这个解决方案。

核心要点:

  • macOS Tahoe 引入了菜单栏图标,引起了作者的强烈反感。
  • 存在一个终端命令可以禁用这些图标。
  • 作者希望 Apple 能够提供官方的禁用选项。
Show HN: Termcraft – Terminal-first 2D sandbox survival in Rust

Termcraft 项目概览

Termcraft 是一个非官方的粉丝项目,与 Mojang 或 Microsoft 无关。项目目前处于早期 Alpha 阶段,游戏可玩,但部分系统仍存在粗糙或错误。

项目概述:

Termcraft 继承了早期沙盒生存游戏(如 Minecraft)的经典机制,包括生存、进度、维度、制作和探索等,但将游戏体验转化为基于终端的横版游戏。

主要特点:

  • 程序化世界生成: 支持 Overworld (主世界)、Nether (下界) 和 End (末地) 的程序化生成。
  • 核心游戏机制: 包含采矿、方块放置、物品栏、制作、熔炉、酿造、船只和箱子等功能。
  • 生存要素: 模拟生命值、饥饿、战斗、天气、流体、重力方块、作物和农业。
  • 生物与结构: 包含被动和敌对生物、村庄、地牢、要塞和下界要塞。
  • 存档系统: 支持本地存档和自动存档,存档文件位于 saves/ 目录下。

安装与运行:

  • 前提条件: Rust 稳定工具链,支持原始输入的终端,以及鼠标支持(获得最佳体验)。
  • 安装步骤:
    1. 安装 Rust: 访问 rustup.rs
    2. 克隆仓库: git clone https://github.com/pagel-s/termcraft.git
    3. 进入目录: cd termcraft
    4. 运行游戏:
      • cargo run --release (推荐)
      • cargo build --release 后执行 ./target/release/termcraft
      • cargo install --path . 后执行 termcraft (将游戏安装到 Cargo 的本地 bin 路径)

控制键位:

  • A / D 或方向键: 移动
  • W / 向上键 / 空格键: 跳跃或向上游泳
  • X: 切换潜行
  • E: 打开物品栏
  • 1-9: 选择快捷栏物品
  • 鼠标左键: 挖掘 / 攻击
  • 鼠标右键: 放置 / 交互
  • F: 如果鼠标右键不可靠,则作为显式交互的备用选项。
  • O: 打开设置菜单
  • Q / Esc: 关闭 UI 或退出世界视图
  • 开发者/测试快捷键:
    • F5: 传送至 Overworld
    • F6: 传送至 Nether
    • F7: 传送至 End
    • F8: 返回出生点
    • F9: 装备钻石战斗装备

注意事项:

  • 目前主要支持本地单人游戏模式。
  • 客户端/服务器代码已存在,但仍处于实验阶段,尚未发布为公共模式。
  • 如果终端中鼠标右键不可靠,请使用 F 键作为交互备用选项。

联系方式:

反馈、错误或发布问题,请联系:pagel.sebastian.1@gmail.com

开发:

  • 代码检查: cargo test --quiet, cargo clippy --all-targets -- -D warnings, ./scripts/release_smoke.sh
  • 发布流程: 参见 Release Checklist

存档数据:

本地存档位于 saves/ 目录下,且有意设置为仅本地存档,而不是操作系统全局存档。

  • Chunk 文件: saves/<dimension>_chunk_<x>.bin
  • 进度文件: saves/player_progression.bin
  • 存档格式详情请参见 World Format
Show HN: Atomic – Self-hosted, semantically-connected personal knowledge base

Atomic: 个人知识库总结 (Atomic: Personal Knowledge Base Summary)

Atomic 是一个个人知识管理工具,旨在将 Markdown 笔记转化为语义连接的、AI 增强的知识图谱。它通过以下方式实现:

核心概念:原子 (Atoms)

  • 知识存储为 原子 (Atoms):Markdown 笔记,自动进行分块、嵌入、标记和链接,基于语义相似度。
  • 原子可以被合成成维基文章、在空间画布上探索,并通过智能聊天界面进行查询。

主要功能:

  • 原子 (Atoms):支持分层标签、源 URL 和自动分块的 Markdown 笔记。
  • 语义搜索:使用 sqlite-vec 在知识库中进行向量搜索。
  • 画布 (Canvas):基于语义相似度布局的力导向空间可视化。
  • 维基合成 (Wiki Synthesis):使用 LLM 从笔记生成带内引用文章。
  • 聊天 (Chat):智能 RAG 接口,在对话过程中搜索知识库。
  • 自动标记 (Auto-Tagging):LLM 驱动的标签提取,组织成分层类别。
  • 多 AI 提供商:支持 OpenRouter (云) 或 Ollama (本地) 进行嵌入和 LLM。
  • RSS 订阅:自动将新文章同步为原子。
  • 浏览器扩展:直接将网页内容捕获到 Atomic。
  • MCP 服务器:将知识库暴露给 Claude 等 AI 工具。
  • 多数据库:支持多个知识库,共享注册表。
  • iOS 应用:原生 SwiftUI 客户端,用于在移动设备上阅读和写入原子。

部署方式:

  • 桌面应用 (Tauri):适用于 macOS, Linux, Windows。
  • 无头服务器 (Docker/Fly.io):方便部署和管理。
  • 独立服务器:使用 cargo run 启动。

AI 提供商配置:

  • OpenRouter:获取 API 密钥,支持为嵌入、标记、维基和聊天选择不同的模型。
  • Ollama:安装 Ollama 并拉取模型。

技术架构:

  • atomic-core:核心业务逻辑,独立 Rust crate,无框架依赖。
  • 客户端:轻量级适配器,用于桌面应用 (Tauri)、服务器 (REST + WebSocket)、MCP 服务器 (stdio) 和移动应用。
  • 前端:React 18, TypeScript, Vite 6, Tailwind CSS v4, Zustand 5。
  • 后端:Rust, SQLite + sqlite-vec, tokio, actix-web.

项目结构:

包含 atomic-core (核心逻辑)、atomic-server (REST + WebSocket + MCP 服务器)、atomic-mcp (独立 MCP 服务器)、src-tauri (桌面应用)、src (React 前端)、ios (iOS 应用)、extension (Chromium 浏览器扩展) 等模块。

开发工具:

  • Node.js 22+
  • Rust toolchain (rustup)
  • Tauri v2 依赖 (桌面应用)