大家好,
我厌倦了每次全球发生重大事件时在 Flightradar、MarineTraffic 和 Twitter 之间来回切换,于是我写了一个仪表板,将所有信息集中在本地。它叫做 Shadowbroker。
我承认在用户界面上过于追求“电影黑客”的美学,但其背后的实际管道是真实的。它将商业和军事的 ADS-B 数据、AIS WebSocket 流(大约 25,000+ 艘船)、N2YO 卫星遥测和 GDELT 冲突数据整合到一个 MapLibre 实例中。
让这个系统在不让我的浏览器崩溃的情况下运行是最困难的部分。我在一台配备 i5 处理器和 RTX 3050 显卡的笔记本电脑上运行这个项目,最开始将 30,000+ 个动态 GeoJSON 特征加载到地图上导致一切崩溃。最终,我不得不编写相当激进的视口剔除算法,防抖状态更新,并将 FastAPI 的负载压缩约 90%,才能使其可用。
我最喜欢的部分是信号层——它通过聚合空中商业航班的实时导航衰减(NAC-P)来计算实时 GPS 干扰区域。
这个项目使用 Next.js 和 Python。如果你只是想快速启动,我在发布版本中放了一个快速启动脚本,但如果你想深入了解后端,代码库是公开的。
如果我的 MapLibre 实现很糟糕,请告诉我,我一直在寻找优化渲染的方法。
返回首页
最新
注意:我在中东和北非地区,和军方没有任何关系。
当我第一次阅读达里奥的声明时,我对军方如此轻视人工智能安全(更不用说隐私)感到震惊。看到Anthropic抵制军方,我感到非常自豪,甚至立刻删除了GPT,成为Claude的用户。看到自己喜欢的产品与自己的价值观一致,真是令人愉快。
但今天,经过更多思考,我意识到了一些事情。一个政府如果允许某一家人工智能公司主导规则,这为未来的人工智能公司抵制政府监管开了一个先例。这在2020年代可能不算什么,但根据所有估计,到2030年代,许多人工智能公司将足够强大,能够抵抗整个政府结构。也许美国或中国不会,但它们绝对会强大到不容易受到影响。
这些独立公司最终会成长到如此庞大,以至于没有政府能够驯服它们。我知道现在看起来一家公司估值不到万亿,抵抗每年花费7万亿的政府似乎是不可能的。但放眼未来,下一代人工智能公司很可能轻松达到10万亿的估值。如果你看到一个刚学会说话的两岁小孩,突然开始谈论量子物理,你可以肯定他长大后会成为一位强者。
我知道软实力与硬实力是截然不同的,但足够多的软实力可以轻易转化为硬实力,前提是:
1. 你有一个雄心勃勃的首席执行官。
2. 公司的生存受到某种威胁。
我这里并不是在谈论通用人工智能,而是谈论那些为了生存不择手段的传统私募股权公司。它们由对股东忠诚度高于其他任何事物的高管所主导。
归根结底,企业是由独裁者管理的(它们必须如此),而政府则不是(至少在西方不是)。也许我们真的不应该信任私募股权去追求除了利润以外的任何东西。政府虽然操控和血腥,但至少我们可以投票。
嗨,HN,
我的文档文件夹最近变得一团糟——成千上万的未分类PDF、原始图像、分散的.csv文件,以及过去三年的代码片段。
我寻找自动分类工具,但每个现代解决方案似乎都需要将我的本地文件元数据上传到云端界面,或者运行一个过于庞大的后台服务。我明确希望有一个离线、以隐私为优先的引擎。
于是我开发了FileMayor。它是一个100%本地优先的数据组织引擎,基于Node构建。
我关注的几个技术特性:
- 零运行时依赖:核心Node引擎是纯净的。没有漏洞,没有冗余,内存占用极小。
- 确定性回退:默认情况下,文件会立即按照12种硬编码的扩展名/ MIME类型类别(文档、媒体、档案、代码等)进行分类,使用离线模式匹配。
- 回滚日志:每次文件变更都会记录到本地的.filemayor-journal.json中。如果组织操作破坏了你的目录结构,单个撤销命令可以瞬间恢复整个批量操作。
- AI标准操作程序(可选):如果你需要复杂的目录树,它会解析.md或.txt格式的标准操作程序,安全地查询Gemini API,将意图转化为锁定的YAML架构,并执行文件移动。
我为Windows、macOS(arm64)和Linux(.deb)打包了版本。
我非常希望能收到关于回滚日志架构或正则表达式模式匹配方法的反馈!
嗨,HN,
我对基于Electron的Whisper封装的延迟感到沮丧。大多数封装在输入体验上都显得不够连贯,因为存在2-5秒的延迟。
为了解决这个问题,我开发了VoiceFlow。它采用原生Rust核心,目标是将延迟控制在0.3秒到0.6秒之间。我们的目标是让语音转文本的体验与打字一样即时。
主要特点:
- 全局快捷键 [Ctrl+Space] 可在任何应用中输入(如Slack、VS Code等)
- 原生Rust实现,性能优越且内存占用低
- 基于AI的后处理,用于标点和风格
- 注重隐私:麦克风仅在按键时激活
我目前处于私测阶段,欢迎反馈,特别是在延迟和用户体验方面。
我会在这里回答任何技术问题!
嗨,HN,
我一直在实验一种名为 FLUX 的消息协议。其目标是探索如果今天设计电子邮件,它会是什么样子,而不是在1980年代。
FLUX 尝试简化当前电子邮件系统中一些复杂的部分。身份验证基于加密密钥,而不是用户名和密码。消息会自动签名和验证。传输是实时的,不依赖于传统的 SMTP 中继模型。
目前的实现很小,旨在作为原型。整个服务器只有几百行 Python 代码,因此该协议易于阅读和实验。
代码库: [https://github.com/levkris/flux-protocol](https://github.com/levkris/flux-protocol)
我主要对协议设计的反馈感兴趣。实际部署中会出现什么问题?哪些部分是多余的?为了使这样的系统在开放互联网中真正运作,需要具备哪些条件?
感谢您抽出时间查看。
levkris (wokki20)
v0.5.0-alpha.1版本带来了MCP支持、调试面板、启动时显著的性能提升、更流畅的Github CoPilot集成、垂直分屏、git提交生成以及Markdown预览缓存等功能。
嗨,HN,
我是来自维也纳的马里奥。我是我家指定的“IT专家”(他们打电话给我来插入Scart线或设置Chrome)。
几周前,我花了两个多小时与Docker(以及一些当时我不熟悉的终端命令)斗争,只是为了让一个基于命令行的AI代理运行。它占用了我所有的内存,我意识到:我的妻子、我的非技术客户,或者我六岁的儿子根本无法设置这个。如果我部署这样的东西,我将花费我的一生来提供设置支持(这不仅仅是找到遥控器上的HDMI 1到HDMI 2输入)。
在过去的两年里,我一直在与大型语言模型(LLMs)“嗨编程”,主要是构建常见的登陆页面或简单的复古游戏,以向我的儿子展示我们生活在一个疯狂的时代,你可以通过提示构建很多“有趣”的东西。我决定将我一个旧的、失败的Laravel SaaS(Skales)转型为一个本地桌面应用程序,以解决这个设置地狱。
我想要达到的唯一目标是:一个像普通应用程序一样安装的自主AI代理(.exe / .dmg)。不需要博士学位。下载、安装、完成。
这实际上成功了。我的60多岁的妈妈立刻就能运行它(那么…Skales现在是一个获得奶奶认可的AI代理吗?),而我的六岁儿子利用内置的编程技能制作了自己的复古游戏(我不会说这真的算是一个“游戏”,因为它基本上是超级马里奥的一个关卡复制品——但他喜欢它)。
它的功能包括:
ReAct自动驾驶、双时态记忆、浏览器自动化(Playwright)和本地集成(Gmail、Telegram、日历)。
BYOK:支持OpenRouter、OpenAI、Anthropic或本地Ollama。
技术栈:Electron + Next.js + Node.js(我设法将空闲内存保持在约300MB左右)。
所有数据都存储在~/.skales-data中。
我知道,作为一个“设计师,嗨编程了一个Electron应用”的人(或者市场营销人员)对HN人群来说基本上是新鲜肉。欢迎对架构提出批评!但我的主要目标只是让这些令人难以置信的AI工具能够用于日常任务(格式化简历、发送PDF、构建简单游戏),而无需接触终端或在不同工具之间切换。
许可证说明:该项目采用BSL-1.1(源代码可用,个人使用免费)。我选择这个许可证只是因为我不想让一家大公司直接拿走这个代码库,围绕Skales建立品牌并进行商业转售,但我希望代码能够供社区使用和学习。
(请原谅我的英语——我不是母语者)
非常希望能听到你们对用户体验的诚实反馈(可能还可以更好?)!
GitHub: [https://github.com/skalesapp/skales](https://github.com/skalesapp/skales)
网站: [https://skales.app](https://skales.app)
嗨,HN!<p>我开发了 lobster.js,这是一个扩展的 Markdown 解析器,可以直接在浏览器中渲染——无需构建工具、框架或配置。<p>整个设置只需一个脚本标签:<p><pre><code> <script type="module">
import { loadMarkdown } from "https://hacknock.github.io/lobsterjs/lobster.js";
loadMarkdown("./content.md", document.getElementById("content"));
</script>
</code></pre>
这对于希望在 GitHub Pages 网站上使用 Markdown 驱动内容而不引入 Jekyll 或 Hugo 的用户特别有用。<p>---<p>与 marked.js 或 markdown-it 的不同之处在于:<p>标准解析器将 Markdown 转换为 HTML——仅此而已。lobster.js 在 Markdown 语法中添加了布局原语:<p>- :::warp id 定义一个命名的内容块;[~id] 将其放置在一个静默的表格单元格内。这就是如何完全在 Markdown 中构建多列布局,而无需接触 HTML。
- :::details Title 渲染一个原生的 <details>/<summary> 可折叠块。
- :::header / :::footer 定义语义页面区域。
- 静默表格 (~ | ... |) 创建无边框的布局网格。
- 单元格合并:水平(\|)和垂直(\---)跨度。
- 图像大小调整:。<p>---<p>以 CSS 为先的设计:<p>每个渲染的元素都有一个可预测的 lbs-* 类名(例如 lbs-heading-1,lbs-table-silent)。没有默认的样式表捆绑——你可以使用自己的 CSS,完全控制外观。<p>---<p>展示网站本身就是用 lobster.js 构建的。侧边栏是 nav.md,每个页面都是通过 ?page= 查询参数动态加载的独立 Markdown 文件——没有 JS 路由器,没有框架。<p>Markdown 是人类和大型语言模型(LLM)都能流利书写的唯一格式。如果你想要一个没有构建管道的结构化静态网站,lobster.js 让 Markdown 成为一个完整的网页——包括布局。<p>GitHub: <a href="https://github.com/Hacknock/lobsterjs" rel="nofollow">https://github.com/Hacknock/lobsterjs</a>
展示网站: <a href="https://hacknock.github.io/lobsterjs-showcase/" rel="nofollow">https://hacknock.github.io/lobsterjs-showcase/</a>
为Claude Code发布页面技能——用一句话描述您的产品,获取完整的着陆页。
这是一个Claude技能,可以让我为特定的工作单元开启或关闭成本追踪。
我在互动的Claude代码会话中使用它。例如,如果我想在一个应用程序中添加一个Claude API功能,我通常会先在CC中进行快速开发。这个技能让我可以开始和停止追踪,从而了解API的成本。
例如:
```
/cost-tracking
[执行操作]
停止追踪
```
然后我会得到一个漂亮的小表格,显示所使用模型的令牌和成本:
Haiku成本报告(本次会话的工作):
```
┌───────────────────┬───────────┬─────────┐
│ 类别 │ 令牌数 │ 成本 │
├───────────────────┼───────────┼─────────┤
│ 基础输入 │ 182 │ $0.0002 │
├───────────────────┼───────────┼─────────┤
│ 输出 │ 3,276 │ $0.0164 │
├───────────────────┼───────────┼─────────┤
│ 缓存写入 (1小时) │ 25,619 │ $0.0512 │
├───────────────────┼───────────┼─────────┤
│ 缓存读取 │ 1,585,531 │ $0.1586 │
├───────────────────┼───────────┼─────────┤
│ 总计 │ │ $0.2264 │
└───────────────────┴───────────┴─────────┘
```