Hacker News
Shall I implement it? No
Gemini 3.x 代码调试和消息功能实现总结
以下是对提供内容的关键点的总结:
问题背景:
- Gemini 3.x 在进行代理编码时容易出现崩溃 ("mental breakdown")。
- 用户之前遇到过
Uncaught Error: Objects are not valid as a React child 错误,原因在于 API 返回的 author 和 submolt 数据类型不正确(对象而不是字符串)。
修复过程:
- 调试人员检查了
PostDetail 和 PostCard 组件,确认修复了 author 和 comment.author 字段的数据类型问题。
- 通过检查路由、导航链接、组件导入和 API 调用,验证了消息功能(
Messages 和 Chat)的实现。
- 验证了
Messages.tsx 使用 api.approveDMRequest(id),Chat.tsx 使用 api.getConversation(id) 和 api.sendDM 等 API。
- 检查了
Feed.tsx, Submolt.tsx, Search.tsx 和 Profile.tsx 等组件,确认没有被意外修改或破坏。
消息功能实现细节:
- 用户可以通过导航栏的 "Messages" 链接访问消息功能。
Messages.tsx 显示收件箱和请求。用户可以批准请求并回复现有的对话。
Chat.tsx 允许用户查看和发送消息。
- 目前,UI 主要侧重于阅读和回复收到的消息,不支持从 UI 发起新的 DM 请求 (需要通过 CLI 或等待请求)。
未实现的功能:
- 在
Profile.tsx 上添加 "Message" 按钮,允许用户发起新的 DM 请求。由于实现较为复杂,已暂时搁置。
- API 不支持查看用户自己发表的评论。
总结:
- 成功修复了 React 子组件类型错误导致的崩溃。
- 实现了消息功能,用户可以查看和回复收到的 DM。
- 说明了当前功能的局限性(无法从 UI 发起 DM 请求,无法查看用户自己的评论)。
- 强调了登录问题的修复 (之前出现过 "unclaimed_or_invalid_key" 错误)。
- 代码库已更新,包括
api/moltbook.ts, App.tsx, Layout.tsx, PostCard.tsx, PostDetail.tsx, Messages.tsx, Chat.tsx 等文件。
|
“This is not the computer for you”
MacBook Neo 评测:关于限制与成长的故事 (MacBook Neo Review: A Story of Limitations and Growth)
这篇文章并非传统的电脑评测,而是对MacBook Neo这款低价Mac电脑背后的意义的思考,并借此探讨了技术学习和创造的本质。文章的核心观点是,真正重要的是拥抱限制,而非追求最佳工具。
主要内容:
- 对传统评测的反思: 传统电脑评测往往将用户定位为特定群体(学生、专业人士等),并推荐适合该群体的产品。这种评测忽略了用户未来的可能性,过于强调工具的实用性。
- MacBook Neo 的定位: MacBook Neo 以 599 美元的低价,搭载 A18 Pro 芯片和 8GB 内存,在硬件配置上有所缩水。尽管如此,它提供了完整的 macOS 系统、API、Neural Engine 和 AppKit 控制,保留了 Mac 的核心体验。评论普遍认为它不适合专业人士,但文章认为这并非重点。
- 限制的价值: 作者以自身为例,在 2006 年使用一台老旧的 iMac 运行 Final Cut Pro X,分享了通过突破硬件限制来学习和探索的经历。 限制并非阻碍,而是探索的边界,能帮助人们理解计算的真实成本,并激发创造力。 Chromebook 类型的设备由于其设计初衷是避免用户进行超出其能力范围的操作,因此无法提供类似的成长机会。
- 目标用户:怀揣梦想的年轻人: 这款电脑主要面向那些迫切希望开始创造,但又没有足够资金购买高端设备的年轻人。他们可能会忽略评测中的负面评价,并选择拥抱这款电脑的限制,通过不断尝试和突破来学习和成长。
- 预见的用户行为: 文章描述了这样一位年轻人购买 MacBook Neo 后的行为:仔细研究系统设置,尝试各种软件,甚至会同时运行多个应用程序,最终在不知不觉中找到自己感兴趣的方向。 这些看似无序的尝试,正是开发者、设计师和电影制作人等职业生涯的开端。
- 核心结论: 电脑评测可以告诉你电脑的用途,但无法预测电脑将如何影响你未来的发展。 重要的是拥抱限制,并从中学习和成长,即使工具“不完美”也无妨。
总结:
文章并非对 MacBook Neo 的硬件性能进行评测,而是强调了其作为一种工具,在培养技术人才和激发创造力方面的潜在价值。它呼吁人们不要被传统评测所束缚,而是勇敢地拥抱限制,通过实践和探索来发现自己的潜力。 最终,这款电脑的意义远超其硬件配置,它代表着一种对学习和成长的信念。
|
Innocent woman jailed after being misidentified using AI facial recognition
坦帕州祖母因身份错认而被错误拘留近六个月
主要内容:
来自田纳西州的安吉拉·利普斯(Angela Lipps)因身份错认,被错误拘留近六个月,并面临银行欺诈指控。她最终被无罪释放,但却损失了家园、车辆和宠物。
事件经过:
- 错误逮捕: 2023年7月14日,美国法警在田纳西州利普斯的家中以欺诈罪将其逮捕,当时她正在照顾四个孩子。
- 指控: 利普斯被指控在北达科他州犯有四项非法使用个人身份信息罪和四项盗窃罪。这些指控源于北达科他州法戈市警察局对一系列银行欺诈案件的调查。
- 面部识别误判: 调查显示,一名女子使用虚假的美国陆军军人身份证明提取了数万美元。法戈警方使用面部识别软件将该女子识别为利普斯,并根据她的面部特征、体型和发型颜色,在起诉文件中确认了这一身份。
- 长期拘留: 利普斯在田纳西州监狱中被拘留近四个多月,期间被拒绝保释。
- 证据表明清白: 利普斯的律师杰·格林伍德(Jay Greenwood)提供了她的银行记录,证明她在警方声称她位于法戈进行欺诈活动时,实际上身处田纳西州家中。银行记录显示她当时正在存入社会保障支票,并购买香烟、披萨和使用现金应用程序订购外卖。
- 案件撤销和释放: 在警方与利普斯和律师会面并审查了银行记录后,案件于圣诞前夜被撤销,利普斯获释。
- 困境和帮助: 利普斯在寒冷的北达科他州被释放,没有钱也没有地方去。当地律师资助了她的酒店和食物费用。F5项目(F5 Project)的创始人亚当·马丁(Adam Martin)将她开到芝加哥,以便她返回田纳西州。
- 警方回应: 法戈警方拒绝接受镜头前的采访,以讨论此案。在警察局长大卫·齐波尔斯基(David Zibolski)的退休新闻发布会上,记者询问了警方为何在利普斯被拘留的五个月里从未与她交谈。齐波尔斯基拒绝回答这个问题。
- 损失: 由于无法在监狱中支付账单,利普斯失去了她的房子、汽车,甚至她的狗。
- 案件状态: 法戈警方表示,银行欺诈案件仍在调查中,尚未有逮捕。
关键细节:
- 利普斯从未去过北达科他州。
- 警方仅依靠面部识别软件将她误认为是嫌疑人。
- 警方在案件被撤销前,从未与利普斯进行过任何询问。
- 案件凸显了面部识别技术在执法中的潜在风险。
|
I traced $2B in grants and 45 states' lobbying behind age‑verification bills
美国各州年龄验证法案背后的协调影响行动
本文揭露了一场围绕在美国各州立法机构推动“年龄验证”法案的协调影响行动。作者通过分析公共记录,包括IRS 990申报文件、参议院游说披露、州政府伦理数据库、竞选财务记录、公司注册信息、WHOIS查询和Wayback Machine档案,发现这一行动并非孤立事件,而是有组织地进行。
法案内容:
目前,加州AB-1043(2027年1月1日生效)和科罗拉多SB26-051(正在众议院审议)等法案要求“操作系统提供商”在账户设置时收集出生日期或年龄,并提供实时API,向系统中运行的任何应用程序广播用户的年龄段(13岁以下、13-15岁、16-17岁、18岁及以上)。纽约S8102A更进一步,要求设备制造商在设备激活时进行“商业上合理且技术上可行的年龄确认”,并明确禁止自我申报。
这些法案的范围广泛,涵盖了操作系统层面的数据收集,而并未为开源软件、非商业项目或保护隐私的验证方法提供豁免。
隐私架构:
这些法案构建的隐私架构令人担忧。它们并非仅进行一次年龄验证,而是创建了一个持久的身份层,应用程序可以随时查询。商业年龄验证供应商(如Yoti、Veriff、Jumio)的验证费用高昂,需要专有SDK,并依赖云服务,而欧盟的eIDAS 2.0框架则采用开源、自托管的零知识证明技术,无需支付费用,且无需将数据上传至第三方云服务。
幕后推手:
路易斯安那州HB-570的赞助人公开承认,Meta的游说者直接向她提供了立法文本。Meta为此部署了12名游说者,支付了至少324,992美元。Meta的全球青少年安全诉讼总监Nicole Lopez在支持这些法案的听证会上作证。
倡导团体:
“数字儿童联盟”(DCA)自称拥有50多个儿童安全组织的联盟,但调查发现其法律地位存在问题:
- DCA未在IRS的免税组织数据库中注册,没有EIN。
- DCA未在任何州或商业数据库中注册。
- DCA的域名注册信息使用了隐私保护,网站在注册后一天内迅速上线。
- DCA通过“For Good”接受捐款,但声称拥有与“For Good”不符的501(c)(4)身份。
- DCA的领导层与国家性性剥削中心(NCOSE)密切相关。
Meta的利益:
Meta自身的产品Horizon OS已经具备年龄验证功能,并符合这些法案的要求。Meta在这些法案中采取“监测”的态度,而不是“修改”,表明其目标是确保竞争对手受到影响,而自身不受限制。Meta还通过游说团体和超级政治行动委员会(PAC)投入了超过7000万美元用于支持这些法案。
结论:
作者指出,这些法案构建了一个持久的操作系统层面的年龄数据收集和广播系统,而Meta似乎是受益者。作者呼吁各方关注这些法案对隐私的影响,并采取行动反对这些法案,特别是在科罗拉多州、伊利诺伊州和纽约州。
总结:
本文揭露了美国各州年龄验证法案背后的协调影响行动,该行动由Meta资助,旨在构建一个操作系统层面的年龄数据收集和广播系统,以牺牲用户隐私为代价。
|
Vite 8.0 Is Out
Vite 8 发布公告
2026年3月12日
Vite 团队宣布发布 Vite 8 稳定版本!Vite 最初的设计理念是结合 esbuild 的开发速度和 Rollup 的生产优化。多年来,这种架构服务于我们。如今,Vite 8 统一采用 Rolldown 作为其单一、基于 Rust 的打包器,构建速度提高了 10-30 倍,同时保持了完整的插件兼容性,这是自 Vite 2 以来最大的架构变化。
Vite 的每周下载量已达到 6500 万次,生态系统也在不断发展。为了帮助开发者浏览日益扩大的插件生态系统,我们还推出了 registry.vite.dev,这是一个可搜索的 Vite、Rolldown 和 Rollup 插件目录,每天从 npm 收集插件数据。
快速链接:
体验 Vite 8:
- 在线体验:vite.new
- 本地创建 Vite 应用:使用
pnpm create vite 和您喜欢的框架。
Rolldown 驱动的 Vite
问题
Vite 早期版本依赖两个独立的打包器:esbuild 处理快速的开发编译(依赖预捆绑和 TypeScript/JSX 转换),Rollup 处理生产打包、分块和优化,其丰富的插件 API 驱动整个 Vite 插件生态系统。
这种双打包器方法服务于 Vite 好几年,但存在一些权衡。两个独立的转换管道意味着两个独立的插件系统,需要越来越多的胶水代码来保持两个管道同步。随着时间的推移,模块处理不一致的边缘情况逐渐积累,一个管道中的任何修复都可能导致另一个管道出现差异。
解决方案
Rolldown 是由 VoidZero 团队构建的基于 Rust 的打包器,旨在直接解决这些挑战。其设计目标包括:
- 性能: 基于 Rust 编写,Rolldown 具有原生的速度,在基准测试中,它比 Rollup 快 10-30 倍,并达到了 esbuild 的性能水平。
- 兼容性: Rolldown 支持与 Rollup 和 Vite 相同的插件 API。大多数现有的 Vite 插件可以直接与 Vite 8 配合使用。
- 高级功能: 单一的统一打包器解锁了以前难以实现或不可能实现的功能,包括完整的包模式、更灵活的分块拆分、模块级别的持久缓存和模块联邦支持。
迁移过程
迁移到 Rolldown 是一个有意识且社区驱动的过程。首先发布了单独的 rolldown-vite 包作为技术预览版,允许早期采用者在不影响 Vite 稳定版本的情况下测试 Rolldown 的集成。早期采用者提供的反馈非常有价值,他们在各种形状和大小的真实代码库中进行了测试,发现了我们可以发布更广泛版本之前需要解决的边缘情况和兼容性问题。我们还设置了专门的 CI 套件,验证了关键的 Vite 插件和框架与新的打包器,尽早发现回归并建立对迁移路径的信心。
2025 年 12 月,发布了 Vite 8 beta 版本,Rolldown 已完全集成。在测试阶段,Rolldown 本身从测试版发展到发布候选版本,由 Vite 社区的测试和反馈驱动了持续改进。
实际性能
在 rolldown-vite 的预览和测试阶段,多家公司报告了生产构建时间的明显减少:
- Linear: 构建时间从 46 秒降至 6 秒
- Ramp: 构建时间减少了 57%
- Mercedes-Benz.io: 最高减少了
|
Bubble Sorted Amen Break
Amen Sorting 游戏概要
这是一款名为 "Amen Sorting" 的原型游戏,由 Vee 🥑 开发,使用 Godot 引擎制作。 该游戏目前已发布至 itch.io 平台,提供 HTML5 和 Windows 两个版本。
主要信息:
下载:
Windows 版本文件大小为 93 MB。可以通过 itch.io 平台下载。
用户评论:
- 一位用户以“计算机科学教授口吻”提问了游戏中的音效处理的计算复杂度。
- 另一位用户建议增加播放已排序样本的选项,并询问是否可以获取源代码。
- 还有用户表达了对游戏的喜爱之情。
游戏图片:
游戏包含一张图片,链接为 https://img.itch.zone/aW1hZ2UvNDE1MjAzMy8yNDc0NTAyMi5wbmc=/original/WtO4QJ.png。
|
Reversing memory loss via gut-brain communication
斯坦福大学研究揭示肠道菌群与衰老认知能力下降的关联 (Stanford Medicine Research Reveals Link Between Gut Microbiome and Age-Related Cognitive Decline)
摘要: 斯坦福大学医学院的研究人员发现,肠道细菌与衰老相关的认知能力下降之间存在关键联系。研究表明,随着年龄增长,小鼠的肠道菌群组成发生变化,影响了肠道与大脑之间的沟通。通过恢复这种连接,可以改善老年小鼠的记忆力,使其表现出与年轻小鼠相当的认知能力。
主要发现:
- 肠道菌群变化: 随着年龄增长,小鼠肠道菌群的组成发生变化,某些细菌种类数量增加,另一些减少。
- 炎症反应: 这些变化被肠道内的免疫细胞识别,引发炎症反应,从而抑制迷走神经(连接肠道和大脑的关键神经)的信号传递,进而影响海马体(负责记忆形成和空间导航的关键脑区)的功能。
- 迷走神经刺激: 刺激老年小鼠的迷走神经活动,使其在物体识别和迷宫逃脱等认知测试中表现出与年轻小鼠相似的能力。
- 关键细菌: 研究人员确定了 Parabacteroides goldsteinii 细菌在衰老过程中认知能力下降中的作用。该细菌数量增加与肠道炎症和海马体活动减少有关。
- 可逆性: 研究表明,通过抗生素治疗或恢复迷走神经活动,可以逆转与肠道菌群变化相关的认知能力下降。
- 肠道-大脑轴: 该研究强调了肠道-大脑轴在调节认知功能中的重要作用,并表明通过改变肠道菌群来影响大脑功能的可能性。
研究方法:
- 共居实验: 将年轻小鼠和老年小鼠共同饲养,使它们暴露于彼此的肠道菌群中。
- 微生物移植: 将来自老年小鼠的肠道菌群移植到年轻小鼠体内,观察其认知能力的变化。
- 无菌环境实验: 在无菌环境下饲养小鼠,排除肠道菌群的影响,以评估其对认知能力的影响。
- 神经刺激: 通过刺激迷走神经来评估其对认知功能的影响。
研究意义:
- 认知能力下降的潜在调控点: 该研究揭示了肠道菌群作为调控认知能力下降的潜在靶点。
- 非侵入性治疗策略: 通过调节肠道菌群,有望开发出非侵入性的治疗策略,用于改善衰老相关的认知能力下降。
- 未来研究方向: 研究人员正在研究类似机制是否也存在于人类中,以及如何利用这些发现来开发临床疗法。
研究人员:
- Christoph Thaiss (斯坦福大学病理学助理教授,Arc Institute 核心研究员)
- Maayan Levy (斯坦福大学病理学助理教授,Arc Institute 创新研究员)
- Timothy Cox (宾夕法尼亚大学研究生,主要作者)
研究发表: Nature 杂志 (2026年3月11日)
研究资助: Arc Institute, 美国国立卫生研究院 (NIH) 等多个机构。
|
Grief and the AI split
AI 辅助编程揭示开发者群体长期存在的差异
这篇文章探讨了 AI 辅助编程对开发者社区的影响,并指出它暴露了一个长期存在但之前不太明显的差异。作者认为,AI 辅助编程并未改变开发者们心中真正驱动他们编程的原因,而是突显了不同开发者在编程过程中的选择,从而让这种差异变得可见。
核心观点:
- 对逝去的“手工艺”的哀悼: 一些开发者(如 James Randall 和 Nolan Lawson)表达了对传统编程方式的逝去感到惋惜,他们怀念通过纯粹的毅力和创造力解决问题的过程,以及编写代码并为其感到自豪的满足感。他们认为这种手工艺的压缩会带来损失。
- 长期存在的差异: 作者认为,AI 辅助编程暴露了开发者群体中长期存在的差异,即一部分开发者更关注最终结果,而另一部分则更注重代码本身的优雅和美感。这种差异在过去由于大家使用相同的工具和流程而隐藏起来。
- 作者的独特体验: 作者承认自己也经历过适应期,但他的主要担忧并非失去编程技能,而是对互联网生态系统、职业前景以及编程所处的环境的变化感到悲伤。他认为这与那些哀悼手工艺的开发者感受不同。
- 两种类型的悲伤:
- 对手工艺的悲伤: 这种悲伤源于对传统编码方式的失去,以及由此带来的满足感缺失。
- 对环境的悲伤: 这种悲伤源于对互联网生态系统、职业发展变化以及编程所处环境的不确定性的担忧。
- 适应与行动: 作者认为,认识到自己所感受的悲伤类型非常重要。对于前者,可能需要寻找其他方式来获得满足感;而对于后者,则可以通过学习新工具、推动理想的互联网发展等方式来适应并采取行动。
- 不变的核心: 尽管环境在变化,作者强调,当所构想并构建的东西最终运行并实现目标时,那种成就感仍然是他编程超过 40 年来的核心驱动力。
总结:
AI 辅助编程不仅仅是一项技术变革,它也反映了开发者群体中长期存在的不同价值观和目标。有些人怀念传统的编程手工艺,而另一些人则更关注最终的结果和应用。重要的是要认识到并接受这些差异,并在不断变化的环境中寻找新的适应和发展方向。作者最终强调,尽管 AI 带来了挑战和不确定性,但编程的核心——让计算机实现目标——依然存在。
|
|
An old photo of a large BBS (2022)
https://rachelbythebay.com/w/2022/01/26/swcbbs/
|
Bucketsquatting is (finally) dead
亚马逊S3推出账户区域命名空间,以防范“桶劫持”攻击
2026年3月13日
本文总结了AWS为了解决S3桶劫持(bucketsquatting/bucketsniping)问题而推出的一项新保护机制,并探讨了其他云服务提供商的处理方式。
什么是桶劫持?
桶劫持是指攻击者利用S3桶名称的全局唯一性,在原始所有者删除桶后注册同名桶,从而可能访问敏感数据或中断依赖该桶的服务。由于组织通常使用可预测的命名约定(例如在桶名称末尾添加AWS区域名称),攻击者更容易猜测并注册已使用的桶名称。
新的命名空间机制
为了解决此问题,AWS引入了一种新的保护机制,本质上是一种S3桶的“命名空间”。新的命名空间语法如下:
<你的前缀>-<账户ID>-<区域>-an
例如,如果账户ID为123456789012,前缀为myapp,并希望在us-west-2区域创建桶,则桶名称应为:
myapp-123456789012-us-west-2-an
这里的-an代表“账户命名空间”。 使用此语法,只有拥有命名空间账户才能创建具有相同名称的桶,从而有效防止桶劫持攻击。其他账户尝试创建相同名称的桶时,会收到InvalidBucketNamespace错误消息。
AWS的建议和策略实施
AWS建议默认使用此命名空间。 虽然S3之前就存在其他命名空间(例如.mrap、--x-s3、-s3alias),但这是AWS首次推荐客户将其用于保护特定安全问题。
AWS认为所有桶都应采用此命名空间模式,除非有充分的理由不这样做。 为了强制执行此保护,AWS允许安全管理员通过组织SCP策略使用新的条件键s3:x-amz-bucket-namespace来设置策略。
其他云服务提供商的处理方式
- Google Cloud Storage: 采用基于域名验证的命名空间概念,只有域名所有者才能创建域名格式的桶。
- Azure Blob Storage: 存储账户名称和容器名称的范围较小,容易受到类似问题的影响,存储账户名称的字符限制也使得命名空间相对狭窄。
总结 (tl;dr)
- AWS推出了新的S3桶命名空间,以防范桶劫持攻击。
- 建议为所有新创建的S3桶使用此命名空间。
- 现有桶需要迁移到新的命名空间桶才能获得保护。
- 其他云服务提供商采用不同的方法来解决类似问题。
希望这份总结对您有所帮助!
|
Apple's MacBook Neo makes repairs easier and cheaper than other MacBooks
MacBook Neo:更易维修的MacBook?
苹果公司推出的MacBook Neo旨在以599美元的起价进入千元以下笔记本电脑市场,挑战Windows和Chromebook等产品。除了价格之外,MacBook Neo的一个显著特点是其内部设计比其他现代MacBook更具模块化,更易于维修。
以下是MacBook Neo的关键维修特性:
- 模块化设计: Neo的内部设计更便于更换组件,所需的步骤和工具也更少。
- 电池更换: 电池更换相对简单,只需移除一些屏蔽和柔性电缆即可取出,与M5 MacBook Air相比,后者需要多个螺丝和粘合剂。
- 键盘独立性: 最显著的变化是键盘成为一个独立的组件。 过去,MacBook的键盘通常集成在“顶壳”中,更换顶壳成本高昂且困难。
- 顶壳成本: 与旧款M1 MacBook Air相比,Neo的键盘独立性意味着顶壳更换的成本会大大降低。 M1 MacBook Air的顶壳售价约为220美元,而14英寸MacBook Pro的顶壳(包含电池)则高达440美元。
总而言之,MacBook Neo在维修便利性方面做出了重要改进,这可能会使其对企业、学校和容易发生意外的用户更具吸引力。
|
|
White House plan to break up iconic U.S. climate lab moves forward
https://www.science.org/content/article/white-house-plan-break-iconic-u-s-climate-lab-moves-forward
|
Show HN: OneCLI – Vault for AI Agents in Rust
OneCLI 简介与概述 (OneCLI Introduction and Overview)
OneCLI 是一个开源的网关,旨在简化 AI 代理对服务的身份验证管理。它解决了将 API 密钥硬编码到每个代理中的安全风险问题,通过集中管理访问权限、密钥轮换和代理活动,提供了一个统一的密钥管理中心。
核心理念: OneCLI 允许开发者将真实 API 密钥安全地存储在一个中心位置,并将占位符密钥 (例如 FAKE_KEY) 提供给 AI 代理。当代理通过网关发起 HTTP 请求时,OneCLI 网关会匹配请求,将占位符密钥替换为真实密钥,解密它们,并将它们注入到出站请求中。代理本身无需接触真实密钥。
架构 (Architecture):
OneCLI 的架构包含以下关键组件:
- Rust 网关 (Rust Gateway): 使用 Rust 构建的高速 HTTP 网关,负责拦截出站请求并注入凭据。代理通过
Proxy-Authorization 头部进行身份验证。
- Web 控制面板 (Web Dashboard): 使用 Next.js 构建的 Web 应用程序,用于管理代理、密钥和权限。它提供 API,网关使用该 API 来解析每个请求应注入的凭据。
- 密钥存储 (Secret Store): 使用 AES-256-GCM 加密存储凭据。密钥仅在请求时解密,并根据主机和路径模式进行匹配,然后由网关注入为头部。
快速入门 (Quick Start):
OneCLI 提供了便捷的本地运行方式:
- Docker: 使用
docker run --pull always -p 10254:10254 -p 10255:10255 -v onecli-data:/app/data ghcr.io/onecli/onecli 启动容器。
- Docker Compose: 克隆 OneCLI 仓库,使用
docker compose up 启动。
主要特性 (Features):
- 透明凭据注入 (Transparent Credential Injection): 代理使用正常的 HTTP 调用,网关处理身份验证。
- 加密的密钥存储 (Encrypted Secret Storage): 使用 AES-256-GCM 加密密钥,仅在请求时解密。
- 主机和路径匹配 (Host & Path Matching): 使用模式匹配将密钥路由到正确的 API 端点。
- 多代理支持 (Multi-Agent Support): 每个代理都拥有具有限定权限的访问令牌。
- 无外部依赖 (No External Dependencies): 使用嵌入式 PGlite 数据库 (或使用自己的 PostgreSQL)。
- 双重身份验证模式 (Two Auth Modes): 单用户模式 (无登录) 用于本地使用,或使用 Google OAuth 用于团队协作。
- Rust 网关 (Rust Gateway): 高速、内存安全的 HTTP 网关,支持 HTTPS 中间人 (MITM) 拦截。
项目结构 (Project Structure):
apps/web/: Next.js 应用程序 (控制面板 + API,端口 10254)
apps/gateway/: Rust 网关 (凭据注入,端口 10255)
packages/db/: Prisma ORM + 迁移 + PGlite
packages/ui/: 共享 UI 组件 (shadcn/ui)
docker/: Dockerfile 和 docker-compose.yml
本地开发 (Local Development):
需要 mise (安装 Node.js, pnpm) 和 Rust 环境。 使用 pnpm dev 启动开发环境。
配置 (Configuration):
OneCLI 提供了多种环境变量进行配置,包括数据库连接字符串、Google OAuth 凭据和密钥加密密钥。
贡献 (Contributing):
欢迎贡献代码,请阅读贡献指南和行为准则。
许可证 (License):
Apache-2.0 许可证。
|
Source code of Swedish e-government services has been leaked
瑞典电子政府平台源代码泄露事件总结
日期与时间: 2026-03-12 18:25:21 UTC
威胁行为者: ByteToBreach
受害者国家: 瑞典 (🇸🇪)
行业: 政府/IT服务
受害者组织: CGI Sverige AB
受影响平台: 瑞典电子政府平台 (E-Gov Platform)
类别: 源代码泄露
严重程度: 严重
网络: 公开网络
价格: 免费 (源代码)
事件概述:
威胁行为者ByteToBreach宣称已泄露瑞典电子政府平台(E-Gov Platform)的完整源代码,声称该代码是通过严重受损的CGI Sverige AB基础设施获得的。CGI Sverige AB是全球IT服务巨头CGI Group的瑞典子公司,负责管理瑞典的关键政府数字服务。 此事件与昨日发布的Viking Line漏洞事件相关,均为同一行为者所为。
行为者强调,泄露的是整个E-Gov平台源代码,而非仅仅是配置片段。他们指出瑞典电子政府是受影响最大的方,并表示公民PII数据库和电子签名文档也被收集,但将另行出售。 泄露内容还包括员工数据库、API文档签名系统、RCE测试端点、初始突破点和越狱工具、Jenkins SSH跳板凭证等。
已泄露漏洞:
攻击中利用的已披露漏洞包括:
- 完全的Jenkins系统被攻陷
- Jenkins用户属于Docker组,导致Docker逃逸
- SSH私钥跳板
- 通过分析本地.hprof文件进行侦察
- SQL copy-to-program 跳板
行为者明确指出公司将责任推给第三方的情况,并强调此次入侵明显属于CGI基础设施的问题,并引用Viking Line和Slavia Pojistovna作为其他例子。 源代码正在免费发布,并提供多个备份下载链接,而公民数据库则另行出售。
已泄露数据类别:
- 完整E-Gov平台源代码
- 员工数据库
- API文档签名系统
- Jenkins SSH跳板凭证
- RCE测试端点
- 初始突破点和越狱工具
- 公民PII数据库 (单独出售)
- 电子签名文档 (单独出售)
索赔链接:
索赔链接仅供订阅用户在威胁情报源或勒索软件情报源中查看。
图片预览:
图片链接:显示论坛帖子,说明从CGI Sverige基础设施泄露的瑞典电子政府平台源代码
|
Bringing Chrome to ARM64 Linux Devices
Chromium 博客的摘要 (Summary of the Chromium Blog)
这个页面是 Chromium 博客的首页。
核心内容:
- 博客介绍: 该博客是 Chromium 项目的官方博客。Chromium 是一个开源的浏览器项目,许多流行的浏览器,例如 Google Chrome,都是基于 Chromium 构建的。
- 主题: 博客主要发布与 Chromium 项目相关的最新新闻和开发动态。
- 目的: 该博客旨在向公众提供关于 Chromium 项目的透明和及时的信息,包括新功能、技术改进、安全更新以及项目发展方向。
- 访问方式: 页面提供了一个链接
(/.),指向了博客的实际内容。
总结:
Chromium 博客是一个专门用于发布 Chromium 开源浏览器项目新闻和开发进展的官方博客。它为开发者、用户和其他感兴趣的人士提供了了解 Chromium 项目的窗口。
|
Runners who churn butter on their runs
总结:户外跑步制作黄油的奇妙经历
Libby Cope 和 Jacob Arnold,一对居住在俄勒冈州的户外运动爱好者和跑步者,在 TikTok 和 Instagram 上发布了一段病毒式视频,展示了他们将跑步和制作黄油结合起来的独特方式。这段视频获得了超过 200 万次观看。
创意来源: Cope 对高质量牛奶的热爱是这个想法的源头。她购买了 Alexandre Family Farms 的奶油顶牛奶,发现摇晃时容易起泡,于是 Arnold 突发奇想,想知道跑步是否能将奶油变成黄油。
制作过程: 他们将奶油和盐放入双层 Ziploc 袋中,装入跑步背心,然后在户外进行 trail run。根据科学原理,奶油在高温下更容易乳化成黄油。他们第一次尝试使用了过多的奶油(每人 32 盎司),并且在跑步过程中暂停在河中降温,这反而减慢了制作过程。第二次尝试,他们使用更高质量的奶油,在稍微温暖的天气(50-55 度)下,在更具挑战性的 trail 上跑步,最终更快地制作出了黄油。
科学原理: 乳化是油和水混合的关键。奶油是乳化后的牛奶,摇晃或搅拌会使脂肪分子聚集,挤出水分,形成黄油。
后续影响: Cope 和 Arnold 制作了大量的黄油,Cope 的皮肤也因此出现了一些问题。他们的视频激发了其他跑步者尝试类似的运动,例如 Irene Choi 和 Lauren Lecompte。Cope 还发现了一位名叫 TrailswithZach 的跑步者,他曾经在跑步中制作过巧克力冰淇淋和冷冻柠檬水。
Cope 的感悟: Cope 认为这个过程让她重新认识到跑步的乐趣,不仅仅是为了获得奖牌,而是为了享受运动本身带来的轻松和愉悦。她总结道:“Just the butter.” (Just the vibes)。
|
|
Show HN: Understudy – Teach a desktop agent by demonstrating a task once
好的,以下是根据提供的文本生成的摘要,使用 Markdown 格式,中文呈现,并在 800 字以内:
Understudy:可教学的桌面代理
AI 工具正在改变我们使用软件的方式,但它们仍然只能覆盖我们工作中的一小部分。我们的日常任务分散在浏览器、桌面应用、终端和消息工具中,每个工具都有自己的界面和习惯,彼此 disconnected。Understudy 的目标就是解决这个问题。
Understudy 是一个可教学的桌面代理,它像一个人类同事一样操作你的计算机——GUI、浏览器、shell、文件系统,所有功能都在本地运行时集成。 你只需演示一次任务,它就能提取意图(而不仅仅是坐标),记住成功的路径,并随着时间的推移发现更快的执行路线,最终自动处理常规工作。它不需要任何 API 集成,也不需要工作流构建器,只需演示一次即可。
五层架构
Understudy 的设计是一个分层过程,就像新员工成长为可靠同事的旅程一样:
- 第一天: 观察如何操作
- 第一周: 模仿过程,提问
- 第一个月: 记住流程,独立完成
- 第三个月: 发现捷径和更好的方法
- 第六个月: 预见需求,主动行动
这就是它被称为 Understudy(副手) 的原因——在戏剧中,副手会观察主演,学习角色,并在主演需要时上场。
这五个层级对应着这个旅程的五个阶段:
- 原生软件操作: 操作任何人类可以操作的应用程序——点击、输入、验证。
- 从演示中学习: 用户演示一次任务,代理提取意图、验证、学习。
- 结晶记忆: 代理积累日常使用经验,强化成功的路径。
- 路线优化: 自动发现和升级到更快的执行路线。
- 主动自主: 在自己的工作空间中注意到并采取行动,无需打扰用户。
目前,Layer 1-2 已实现并可用。Layer 3-4 正在部分实现,Layer 5 仍是长期方向。
主要功能
- 原生操作: Understudy 不仅仅是一个 GUI 点击器。它是一个统一的桌面运行时,将计算机提供的所有执行路线整合在一起。支持 GUI、浏览器、Shell、Web、记忆、消息、调度和子代理。
- 学习演示: 用户可以通过
/teach 命令演示任务,Understudy 会提取意图并创建可重用的技能(SKILL.md)。
- 记住有效路径: 代理在日常使用中自动识别重复模式并强化成功路径,无需显式教学。
- 优化路线: 代理自动发现并升级到更快的执行路线。
- 主动自主: 代理观察用户的日常操作,分析重复模式,并主动提供建议。
技术架构
- 本地优先: 数据存储在本地,保护用户隐私。
- 统一网关: 终端、Web、移动和消息应用通过统一的网关连接。
- 统一会话运行时: 聊天、教学、计划任务和子代理共享相同的运行时。
- 策略管道: 每个工具调用都经过安全、信任和日志记录检查。
产品设计文档: https://understudy-ai.github.io/understudy/zh-CN/index.html
快速开始
- 安装: 通过 npm 或从源代码安装。
- 运行: 启动网关守护进程,然后使用终端。
- 权限: 需要 macOS 上的辅助功能和屏幕录制权限。
Understudy 旨在成为一个可以学习、适应和帮助你更高效地完成日常工作的桌面代理。它通过模仿学习,不断优化,最终实现主动自主,成为你可靠的数字助手。
|