1作者: 2pk03大约 1 个月前原帖
嗨,HN, KafScale 是一个与 Kafka 兼容的流处理系统,原生支持 Kubernetes,S3 是数据的真实来源,代理不持有持久状态。它是用 Go 语言编写的,运行在 Kubernetes 上。 在多年操作 Kafka 并遇到相同问题后,我构建了这个系统:代理故障需要数小时才能恢复,分区再平衡会阻塞部署,磁盘容量规划永无止境。 它的工作原理: - 生产者和消费者使用标准的 Kafka 客户端 - 代理在内存中进行缓冲,并将数据刷新到 S3 - etcd 存储元数据和消费者组状态 - 恢复意味着重启一个 Pod 并从 S3 读取数据 - 可选的 Iceberg 处理器直接从 S3 读取数据段,完全绕过代理,适用于批处理/分析工作负载 你需要放弃的:延迟为 400-500 毫秒(S3 往返时间),不支持事务,没有压缩主题。这并不是一个 100% 的替代方案。 你所获得的:代理是一次性的,扩展仅需增加副本数量,无需磁盘管理,可以直接通过 S3 ACL 访问流数据。 许可证:Apache 2.0 GitHub: [https://github.com/novatechflow/kafscale](https://github.com/novatechflow/kafscale)
3作者: thehamkercat大约 1 个月前原帖
他们为什么从去年开始表现得如此(拼命想要自毁)?<p>最新的例子:<p>微软Office更名为“Microsoft 365 Copilot应用”(https://news.ycombinator.com/item?id=46496465)<p>不仅这个更名荒谬,而且页面(office.com)看起来也充满了奇怪的氛围。
2作者: artpar大约 1 个月前原帖
我制作了这个工具,以便在手机上使用我的笔记本终端会话,而不需要数据经过服务器。<p>使用命令 tt start -p mypassword → 获取一个 URL(二维码)→ 在浏览器中打开 → 输入密码 → 连接成功。<p>在你的设备和浏览器之间建立直接的 WebRTC 数据通道。<p>信令服务器是一个 Cloudflare Worker,交换约 2KB 的 SDP/ICE 元数据后就不再干预。密码从未传输 - argon2id 在两端本地生成 256 位密钥。所有终端输入输出在到达数据通道之前都经过 NaCl SecretBox 加密。底层使用 DTLS 进行双重加密,但我希望中继在信令期间也看不到任何有用的信息。<p>使用 Go 和 Pion/WebRTC,代码量约 14k 行。浏览器使用 xterm.js 和 WebCrypto 进行 argon2id。默认使用 STUN,TURN 适用于对称 NAT。<p>我的使用案例:在不在办公桌前时,通过手机检查 Claude 代码的运行情况。酒店 WiFi 和不稳定的移动数据。花了一些时间在 TURN 回退、保持连接和断开时的缓冲写入上。作为 PWA,这个工具可以从主屏幕启动,并在应用切换时保持有效。在 3G 网络下表现尚可。<p>权衡:ICE 收集在连接时需要 2-5 秒。浏览器无法发起连接,需在主机上使用 CLI。代码在 24 小时后过期。<p>单一二进制文件,无依赖。支持多会话的守护进程模式。进行了竞争检测测试、断开连接的混沌测试和网络条件模拟。加密和 WebRTC 的代码覆盖率约为 72%。<p><a href="https://github.com/artpar/terminal-tunnel" rel="nofollow">https://github.com/artpar/terminal-tunnel</a><p>附言:默认中继运行在我的 Cloudflare 免费套餐上,因此没有保证。你可以自托管 Worker 或在本地运行 tt relay。
5作者: tlar大约 1 个月前原帖
Hi HN,<p>Package repositories don&#x27;t need to be complicated. They&#x27;re just static files: metadata indexes and the packages themselves. Yet somehow hosting your own feels like you need dedicated infrastructure and deep knowledge of obscure tooling.<p>repogen is an SSG for package repos. Point it at your .deb&#x2F;.rpm&#x2F;.apk files, it generates the static structure, you upload to S3 or any web host. Done. $0.02&#x2F;month to host packages for your whole team.<p>It supports Debian, RPM, Alpine, Pacman, and Homebrew. Has incremental mode for updating repos without redownloading everything. Handles signing. Very alpha, but it works. Would love to get feedback!
1作者: nynrathod大约 1 个月前原帖
构建Doo是因为我厌倦了为每个API编写200行身份验证的样板代码。 示例(完整API): ```rust import std::Http::Server; import std::Database; struct User { id: Int @primary @auto, email: Str @email @unique, password: Str @hash, } fn main() { let db = Database::postgres()?; let app = Server::new(":3000"); app.auth("/signup", "/login", User, db); app.crud("/todos", Todo, db); // Todo = 你定义的任何结构 app.start(); } ``` 结果: - POST /signup 具有电子邮件验证 + 密码哈希(自动来自 @email, @hash) - POST /login 使用JWT - 完整的CRUD端点:GET, POST, GET/:id, PUT/:id, DELETE/:id - 编译为本地二进制文件 状态:Alpha v0.3.0。身份验证、CRUD、验证和Postgres正常工作。正在积极修复bug。 在生产环境中使用之前,你需要看到什么?
1作者: olek大约 1 个月前原帖
嘿!<p>我最近了解到Leo Babauta的“微小安慰”概念——在你感到身体疲惫或精神耗竭的困难时刻,简单而健康的方式来充电。<p>以下是一些让我产生共鸣的原则: • 保持小而偶尔(不要过度)。 • 用它们来充电,而不是逃避问题。 • 放下内疚——这是一种自我意识,而不是软弱。 • 活在当下,享受此刻。<p>以下是我的微小安慰:<p><pre><code> 1. 听轻松的音乐时阅读 2. 冷的时候洗热水澡,热的时候洗冷水澡 3. 最喜欢的花生酱棒 4. 烤面包上的花生酱和果酱 5. 在公园散步或进行北欧健走 6. 跑步或骑自行车 7. 烹饪 8. 加料燕麦粥(坚果、葡萄干、枣、香料) 9. 躺在沙发上闭眼抬腿 10. 小憩 11. 深呼吸练习 12. 短暂的冥想 13. 蒸汽浴 </code></pre> 我尽量选择那些安全且不易过度的方式。<p>你有哪些微小安慰可以帮助你充电呢?
1作者: tonyww大约 1 个月前原帖
嗨,HN,我是SentienceAPI的独立创始人。在过去的12月份,我一直在构建一个专门为大型语言模型(LLM)代理设计的浏览器自动化运行时。 问题:构建可靠的网络代理非常痛苦。你基本上只有两个糟糕的选择: 原始DOM:直接获取document.body.innerHTML既便宜又快速,但会使上下文窗口超载(超过10万个标记),并且缺乏空间上下文(代理会尝试点击隐藏或屏幕外的元素)。 视觉模型(GPT-4o):发送屏幕截图虽然可靠,但速度慢(延迟3-10秒)且成本高(约$0.01每步)。更糟的是,它们经常会产生虚假坐标,错过按钮10个像素。 解决方案:语义几何Sentience是代理的“视觉皮层”。它位于浏览器和你的LLM之间,将嘈杂的网站转换为干净、排序、具有坐标意识的JSON。 工作原理(技术栈): 客户端(WASM):一个Chrome扩展程序注入一个Rust/WASM模块,直接在浏览器进程中修剪95%的DOM(脚本、跟踪像素、不可见的包装器)。它在小于50毫秒内处理Shadow DOM、嵌套iframe(“框架拼接”)和计算样式(可见性/z-index)。 网关(Rust/Axum):修剪后的树发送到一个Rust网关,该网关应用简单视觉提示的启发式重要性评分(例如,is_primary)。 大脑(ONNX):一个服务器端的机器学习层(通过ort运行ms-marco-MiniLM)根据用户的目标(例如,“搜索鞋子”)对元素进行语义重新排序。 结果:你的代理获得了前50个最相关的可交互元素的列表,包含精确的(x,y)坐标、重要性值和视觉提示,帮助LLM代理做出决策。 性能: 成本:每步约$0.001(相比于视觉模型的$0.01+) 延迟:约400毫秒(相比于视觉模型的5秒+) 负载:约1400个标记(相比于原始HTML的10万个) 开发者体验(“酷炫”的东西):我讨厌调试文本日志,所以我构建了Sentience Studio,一个“时光旅行调试器”。它将每一步(DOM快照 + 屏幕截图)记录到一个.jsonl追踪文件中。你可以像视频编辑器一样浏览时间线,准确查看代理看到的内容与它产生的幻觉之间的差异。 链接: 文档与SDK: [https://www.sentienceapi.com/docs](https://www.sentienceapi.com/docs) GitHub(SDK): SDK Python: [https://github.com/SentienceAPI/sentience-python](https://github.com/SentienceAPI/sentience-python) SDK TypeScript: [https://github.com/SentienceAPI/sentience-ts](https://github.com/SentienceAPI/sentience-ts) Studio演示: [https://www.sentienceapi.com/docs/studio](https://www.sentienceapi.com/docs/studio) 构建Web代理: [https://www.sentienceapi.com/docs/sdk/agent-quick-start](https://www.sentienceapi.com/docs/sdk/agent-quick-start) 带有重要性标签(金星)的屏幕截图: [https://sentience-screenshots.sfo3.cdn.digitaloceanspaces.com/Screenshot](https://sentience-screenshots.sfo3.cdn.digitaloceanspaces.com/Screenshot) 2026-01-06 上午7:19:41.png [https://sentience-screenshots.sfo3.cdn.digitaloceanspaces.com/Screenshot](https://sentience-screenshots.sfo3.cdn.digitaloceanspaces.com/Screenshot) 2026-01-06 上午7:19:41.png 我负责后端的Rust和SDK的Python/TypeScript。项目现在处于测试阶段,我非常希望能收到关于架构或排序逻辑的反馈!