返回首页
最新
昨天,我和一位朋友进行了长时间的电话交流,她是一位在科技招聘领域工作了十多年的招聘专员。<p>她并不是因为简历或面试而感到疲惫,而是因为工程师们仍然在像2021年那样进行谈判。<p>这就是所谓的“黄金泡沫”。<p>在这个泡沫中,每个前端工程师都是独角兽,每个职位的股权都高达四位数,这种泡沫依然影响着人们的期望。但如今的市场更像是……现实。<p>并不是说人才不被重视,而是价值的形态发生了变化。<p>那些对较低的股票授予或额外的办公室工作日感到不满的工程师们,想要公平并没有错……他们只是在依附于一个已经不存在或可能很快消失的世界。<p>我不相信投降,我相信重新校准。<p>当我们停止假装市场没有变化,开始问自己:我如何创造一个不依赖泡沫的职业?我该建立什么,不与单一的职位或公司的股价挂钩?<p>我今天交谈中最有趣的人,已经在平行思考:指导、写作、咨询、顾问、构建副项目、多元化,这不是出于恐惧,而是因为“一个工作=稳定身份”的旧叙事已经不再成立。<p>我很好奇:作为一名软件工程师,你是否有副收入?如果有,什么对你有效(或无效)?
有没有其他人遇到这个问题?<p>显然,“文件更改”标签现在的工作方式有所不同。我导航到这个标签,现在它不是指向 `/files`,而是指向 `/changes`。看起来非常相似,但有几点不同:<p>它一次只显示一个文件。我无法滚动查看所有内容,甚至无法搜索差异。这真让人抓狂。在较小的PR中,我仍然可以看到所有文件。<p>似乎这可能是由一个 viewcontent.github.com 的 cookie 设置的,但每次我在登录状态下删除它后,它都会重新出现。如果我尝试导航到 `/files`,它会重定向到 `/changes`。这显然与用户账户有关。当我未登录时,我仍然可以看到旧的 `/files` 页面。其他地方找不到关于这个问题的任何信息。
我正在为桌面平台(Windows/macOS/Linux)构建一个完全离线、本地优先的 TOTP 认证器。没有云服务,没有同步,没有遥测,没有外部依赖。所有数据都保留在本地机器上。
我为什么要构建它:
大多数双重身份验证(2FA)应用程序仅限于移动设备、闭源,或依赖于云同步。我希望有一个透明、可审计且原生于桌面的解决方案,特别是对于在多台机器或隔离环境中工作的用户。
主要功能:
- 仅本地存储(AES-GCM + Argon2)
- 加密保险库,无需外部服务
- 跨平台桌面应用
- 支持加密备份的导入/导出
- 开源,MIT 许可证
- 设计简单、可预测且可审计
最新动态:
该项目最近被纳入 Kilo OSS 赞助计划,这使我能够获得更好的工具用于代码审查和安全分析。这将有助于加速开发并提高代码质量。
链接:
GitHub: [https://github.com/wrogistefan/desktop-2fa](https://github.com/wrogistefan/desktop-2fa)
网站: [https://desktop-2fa.org](https://desktop-2fa.org)
我希望获得以下方面的反馈:
- 安全模型
- 威胁假设
- 用户体验(UX)在入门阶段
- 代码结构和可维护性
- 可能缺失的功能,以提高实用性
欢迎随时提问。
作为一个英俊的本地AI爱好者™,你可能注意到了大型语言模型(LLMs)的一个重大缺陷:<p>它们会撒谎。自信地撒谎。<i>一直都是。</i><p>我有自闭症,对基于氛围的工具极其过敏,所以……我做了一个东西。也许对你也有用。<p>这个东西:llama-conductor<p>llama-conductor是一个路由器,位于你的<i>前端</i>(例如:OWUI)和<i>后端</i>(llama.cpp + llama-swap)之间。它是本地优先的,但如果你指向OpenAI兼容的任何东西,它也可以进行通信(注意:实验性,所以结果可能会有所不同)。<p>LC是一个透明的盒子,使得整个堆栈表现得像一个<i>确定性系统</i>,而不是一个醉汉在讲述关于逃脱的鱼的故事。<p>简而言之:“我们信仰上帝,其他人必须提供数据。”<p>三个例子:<p>1. 知识库机制(markdown, JSON, 校验和)<p>你将“知识”保存在磁盘上的简单文件夹中。将文档(`.txt`, `.md`, `.pdf`)放入其中。然后:<p>* `>>attach <kb>` — 附加一个知识库文件夹
* `>>summ new` — 生成带有<i>SHA-256来源</i>的`SUMM_<i>.md`文件,并将原始文件移动到子文件夹中<p>现在,当你问类似的问题时:<p>> “嘿,1982年Commodore C64的零售价格是多少?”<p>……它只会从附加的知识库中回答。<p>如果事实不在其中,它会明确告诉你,而不是随便编造。例如:<p>> 提供的事实表明Commodore 64的推出价格为595美元,并降至250美元,但未具体说明1982年的零售价格。Amiga的定价和时间线在提供的事实中也没有详细说明。
>
> 缺失的信息包括Commodore产品线在1982年的确切零售价格,以及当时销售的具体型号。
>
> 信心:中等 | 来源:混合<p>没有氛围。只有:这里是你文档中的内容,这里是缺失的,不要让自己陷入愚蠢的境地。<p>然后,如果你对摘要满意,你可以:<p>* `>>move to vault`<p>2. Mentats:证明或拒绝模式(仅限Vault)<p>Mentats是针对你的<i>策划</i>来源的“深度思考”管道。<p>* 没有聊天历史
* 没有文件系统知识库
* 没有Vodka
* <i>仅限Vault的基础</i>(Qdrant)<p>它运行三次传递(思考者 → 批评者 → 思考者)。故意设计得很慢。你可以审计它。如果Vault中没有相关内容?它会拒绝并告诉你去找别的事做:<p>最终答案:
提供的事实不包含关于Acorn计算机或其1995年售价的信息。<p>来源:Vault
使用的事实:无
[扎尔多兹已发言]<p>此外,是的,它会写一个mentats_debug.log。你可以随时查看。<p>流程基本上是:<p>附加知识库 → 总结 → 移动到Vault → Mentats。<p>没有神秘成分。没有“相信我,兄弟,嵌入。”<p>3. Vodka:在有限预算下的确定性记忆<p>低配电脑有两个经典问题:金鱼记忆 + 上下文膨胀,导致你的显存崩溃。<p>Vodka在不增加额外模型计算的情况下解决了这两个问题。<p>* `!!` 逐字存储事实(磁盘上的JSON)
* `??` 逐字回忆它们(TTL + 触碰限制,以免记忆变成垃圾场)
* <i>CTC(Cut The Crap)</i> 硬性限制上下文(最后N条消息 + 字符限制),以避免在400条消息后显存激增<p>所以,而不是:<p>> “记住我的服务器是203.0.113.42” → “明白了!” → [100条消息后] → “127.0.0.1 ”<p>你得到的是:<p>> `!! 我的服务器是203.0.113.42`
>
> `?? 服务器IP` → <i>203.0.113.42</i>(带有TTL/触碰元数据)<p>而且由于上下文保持在边界内:稳定的键值缓存,稳定的速度,你的低配电脑不再哭泣。<p>---<p>在自述文件中还有更多(很多更多),但我已经在这篇帖子中过度自闭了。<p>简而言之:<p>如果你想让你的本地LLM在<i>不知道的时候闭嘴</i>,并在<i>知道的时候出示凭证</i>,来试试它:<p>* <i>主要(Codeberg):</i> [<a href="https://codeberg.org/BobbyLLM/llama-conductor" rel="nofollow">https://codeberg.org/BobbyLLM/llama-conductor</a>](<a href="https://codeberg.org/BobbyLLM/llama-conductor" rel="nofollow">https://codeberg.org/BobbyLLM/llama-conductor</a>)
* <i>镜像(GitHub):</i> [<a href="https://github.com/BobbyLLM/llama-conductor" rel="nofollow">https://github.com/BobbyLLM/llama-conductor</a>](<a href="https://github.com/BobbyLLM/llama-conductor" rel="nofollow">https://github.com/BobbyLLM/llama-conductor</a>)<p>PS:抱歉关于AI的糟糕图片。我画得很糟糕。<p>PPS:一位有自闭症谱系障碍的人用Notepad++写了这篇文章。如果格式或语言有些奇怪,你现在知道原因了。*
嘿,HN——我正在开发一款应用,用户可以上传“现实生活”中的服装照片(例如,一件皱巴巴的衬衫折叠在地板上)。目标是将这张单一照片转换为干净的电商风格服装图片。
一个关键的用户体验需求是:输出需要是带透明度(alpha)的PNG格式,以便我们能够一致地将服装裁剪/合成到一个固定的用户界面中(如卡片、服装布局等)。可以想象成“主体剪裁后干净地放入模板”。
我目前的工作流程如下:
1. 用户上传的照片(背景杂乱,角度奇怪)
2. 用户上传的照片与“查询”图像(风格目标)匹配(目前使用Nano Banana)
3. 背景去除模型以获取透明度并保存为RGBA PNG
这个流程是可行的,但感觉有些hacky,并且偶尔会引入边缘伪影。此外,生成模型有时会创造出阴影/背景线索,这会干扰背景去除步骤。感觉这两个步骤在相互抵触。
我想了解在这种工作流程中,什么样的“好”表现是理想的:
人们是否仍然将生成/编辑与单独的背景去除作为标准流程?
你们中有谁在生产中使用alpha原生生成(RGBA输出)?如果有,使用的技术栈/工作流程是什么?
如果你们专门做过“杂乱的用户生成内容照片 → 目录资产”:最常出现的问题是什么,解决方案又是什么?
我并不想听到供应商的推销——我主要想了解人们正在使用的实际模式(开源工作流程、模型类别、ComfyUI/SD管道、基于API的技术栈等)。如果需要,我很乐意分享更多细节。
写作说明(包括优秀/差劲的样本生成):<a href="https://www.linum.ai/field-notes/launch-linum-v2">https://www.linum.ai/field-notes/launch-linum-v2</a>
我们是Sahil和Manu,两兄弟,过去两年一直在从零开始训练文本到视频的模型。今天,我们将这些模型以Apache 2.0的协议发布。
这些模型拥有20亿参数,能够生成2到5秒的360p或720p视频。就模型大小而言,最接近的比较是阿里巴巴的Wan 2.1(13亿参数)。根据我们的测试,我们在运动捕捉和美学方面取得了显著更好的效果。
我们并不声称已经达到了前沿技术。对我们来说,这只是通往最先进技术(SOTA)的一个垫脚石——证明我们可以自己端到端地训练这些模型。
为什么要从零开始训练模型?
我们在2024年1月发布了第一个模型(在Sora之前),这是一个180p、1秒的GIF机器人,基于Stable Diffusion XL进行引导。图像变分自编码器(VAE)无法理解时间一致性,而没有原始训练数据,就无法在图像和视频分布之间平滑过渡。在某些情况下,重新开始反而更好。
在v2中,我们使用T5进行文本编码,Wan 2.1 VAE进行压缩,以及一个经过流匹配训练的DiT变体作为主干。我们构建了自己的时间VAE,但Wan的模型更小且性能相当,因此我们使用了它以节省嵌入成本。(我们将很快开源我们的VAE。)
大部分开发时间用于构建有效的筛选管道(例如,手动标记美学属性和微调VLM以进行大规模过滤)。
有效的方面:卡通/动画风格、食物和自然场景、简单角色动作。无效的方面:复杂物理、快速运动(例如,体操、舞蹈)、一致的文本。
为什么要在Veo/Sora存在的情况下构建这个?
产品是底层模型能力的扩展。如果用户想要模型不支持的功能(角色一致性、相机控制、编辑、风格映射等),那么就会陷入困境。为了构建我们想要的产品,我们需要更新模型本身。这意味着要掌控开发过程。这是一项需要时间(和大量GPU计算)才能见效的赌注,但我们认为这是正确的选择。
接下来是什么?
- 针对物理/变形的后训练
- 提升速度的蒸馏
- 音频能力
- 模型扩展
我们在Notion中保持了一本“实验记录”,记录了所有实验。欢迎提问关于从0到1构建模型的相关问题。欢迎评论和反馈!
嘿,HN!我们是Nithin和Nikhil,双胞胎兄弟,正在开发BrowserOS(YC S24)。我们是一个开源、以隐私为首的替代品,旨在取代大实验室的AI浏览器。
在BrowserOS上,我们提供一流的支持,让您可以使用自己的LLM,无论是本地模型还是通过API密钥,并且完全在客户端运行代理,这样您的数据就能保留在您的机器上!
今天我们推出了文件系统访问……就像Claude Cowork一样,我们的浏览器代理可以读取文件、写入文件、运行命令行指令!但老实说,我们并没有为此做过计划。事实证明,我们在9个月前做出的隐私决策意外地为这一刻做好了准备。
--- 我们9个月前的架构赌注
与其他AI浏览器(如ChatGPT Atlas、Perplexity Comet)不同,它们的代理循环在服务器端运行,我们早期决定将代理完全在您的机器上(客户端)运行。
但是在客户端构建一切并不顺利。
我们最初在一个Chrome扩展中构建了我们的代理循环,但我们不断遇到障碍:
1) JS(后台服务工作者)是单线程的,因此我们无法并行启动多个代理。
2) 没有访问类似NodeJS的运行时意味着我们无法使用许多优秀的npm包(如Vercel AI SDK、Anthropic的MCP SDK等)。
3) 最后,没有好的方法将我们的代理和工具暴露为API。
因此,我们在2个月前做出了艰难的决定,放弃我们所构建的一切,从头开始。
在新的架构中,我们采用了侧车方法。我们将代理循环放在一个独立的Bun二进制文件中,并与我们的Chromium二进制文件一起发布。我们还决定不重写自己的代理循环,而是借用了gemini-cli的循环,并进行了些许调整!我们编写了一个整洁的适配器,以在Gemini格式和Vercel AI SDK格式之间进行转换。您可以在这里查看我们的整个代码库:<a href="https://git.new/browseros-agent" rel="nofollow">https://git.new/browseros-agent</a>
--- 这如何帮助构建文件系统访问
当Claude Cowork推出时,我们意识到:由于Atlas和Comet的代理循环在服务器端运行,因此它们的代理无法在不先将文件上传到服务器的情况下访问您的文件。
但我们的代理已经是本地的。添加文件系统访问意味着只需……打开大门(当然需要您的权限)。我们的代理现在可以像Claude Code一样读取和写入文件。无需上传,无需云存储,无需同步。
--- 您今天可以实际做的事情
a) 在我的桌面文件夹中整理文件 <a href="https://youtu.be/NOZ7xjto6Uc" rel="nofollow">https://youtu.be/NOZ7xjto6Uc</a>
b) 打开前5个HN链接,提取细节并将摘要写入HTML文件 <a href="https://youtu.be/uXvqs_TCmMQ" rel="nofollow">https://youtu.be/uXvqs_TCmMQ</a>
--- 我们现在的进展
如果您自上次Show HN以来还没有尝试过我们,请再给我们一次机会。新的架构解锁了大量新功能,我们的GitHub星标已增长至8500个,下载量超过10万:
c) 您现在可以使用类似n8n的图形构建更可靠的工作流 <a href="https://youtu.be/H_bFfWIevSY" rel="nofollow">https://youtu.be/H_bFfWIevSY</a>
d) 您还可以在Cursor或Claude Code中将BrowserOS用作MCP服务器 <a href="https://youtu.be/5nevh00lckM" rel="nofollow">https://youtu.be/5nevh00lckM</a>
e) 您还可以安排重复任务!
--- 我们认为浏览器是合适平台的原因
我们非常看好浏览器作为类似Claude Cowork代理的合适平台。浏览器是知识工作者最常用的应用程序(电子邮件、文档、电子表格、研究等)。看起来连Anthropic也意识到了这一点——对于Claude Cowork,他们通过Chrome扩展与浏览器进行了粗糙的集成。但拥有整个技术栈使我们能够提供更顺畅的体验。这也让我们能够构建其他方式无法实现的差异化功能。一个例子:浏览器ACL。
代理可以做一些愚蠢或破坏性的事情,因此我们正在添加浏览器级别的保护措施(想想代理的IAM):“角色(代理):绝不能点击购买”或“角色(代理):对我银行主页的只读访问。”我们已经有了一个原型——期待听到您对此及整体论点的看法。
我们会在评论区等候。感谢您的阅读!
GitHub: <a href="https://git.new/browseros" rel="nofollow">https://git.new/browseros</a>
下载: <a href="https://browseros.com">https://browseros.com</a>(适用于Mac、Windows、Linux!)
构建了一个可审计的人工智能(圣经)翻译流程:希伯来语/希腊语源数据包 -> 带注释的经文 JSON,汇总到章节、书籍和约。最终文本结合了指标(TTR,n-grams)。<p>据我所知,这是第一个完整文本的例子(Z世代圣经不算在内)。<p>虽然存在一些幻觉和问题,但整体质量让我感到惊讶。<p>大型语言模型在翻译和呈现更古老的文本方面有很大的潜力,使其变得“可接近”。<p>这项技术对信徒有很大的益处,我认为这才刚刚开始被探索。